Generalmente al instalar ciertos programas, todos esperamos que no haya otros procesos en la computadora del usuario que afecten la instalación y el software que queremos instalar. Antes de realizar la instalación, podemos usar Inno Setup para detectar los procesos que se ejecutan en el sistema actual. Si un usuario está ejecutando ciertos procesos, esta detección puede solicitarle efectivamente que cierre el proceso antes de realizar la instalación. De esta forma, al instalar el software, no habrá errores de instalación provocados por interceptaciones o conflictos por procesos relacionados.
La siguiente es una colección detallada del proceso de ejecución de detección de Inno Setup y el código de solución final. Puede copiarlo al script de Inno Setup y usarlo de manera razonable según sus necesidades.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 4 4 45 46 47 48 49 50 51 52 53 54
55 56 57 |
;Descargo de responsabilidad: este ejemplo fue escrito por WLDNA. Si se reimprime, conserve esta descripción, ¡gracias! ;Auther: WLDNA
#include "istask.ish" ;Asegúrese de agregar esta opción de inclusión
[Setup] AppName=Mi programa AppVerName=Mi programa v 1.5 DefaultDirName={pf}\Mi programa OutputDir=userdocs:Inno Ejemplos de configuración Compresión de salida =lzma /ultra InternalCompressLevel=ultra ;SolidCompression=yes ;DisableDirPage=yes ;DisableReadyPage=yes
[CustomMessages] Tasks=QQ.exe ;Si desea detectar múltiples procesos, puede usar %n split, ejemplo: cmd.exe%nnotepad .exe
[Código] función InitializeSetup(): booleano; comenzar resultado: = verdadero;
si PDir ('ISTask.dll') <> '' entonces si RunTasks(CustomMessage('Tasks'), False, False) entonces comience if MsgBox('Se detecta que QQ se está ejecutando y la instalación no puede continuar.' + #13#10 + #13#10 + ' Haga clic en "Aceptar" para cerrar directamente QQ o haga clic en "Cancelar" para salir de la instalación.', mbConfirmation, MB_OKCANCEL) = IDYES luego comience KillTasks(CustomMessage('Tasks')); Resultado := Verdadero; finalice else Resultado := Falso; finalice ;
función InicializarUninstall(): Booleano; comenzar Resultado := Verdadero;
si PDir ('ISTask.dll') <> '' entonces si RunTask('QQ.exe', False) entonces comenzar si MsgBox('Se detecta que QQ se está ejecutando y la instalación no puede continuar." + #13#10 + #13#10 + 'Haga clic en "Aceptar" para cerrar QQ directamente o haga clic en "Cancelar" para salir de la instalación. ', mbConfirmation, MB_OKCANCEL) = IDYES luego comienza KillTask('QQ.exe'); Resultado:= Verdadero; finaliza otro Resultado:= Falso; finaliza ; finaliza; |
El uso flexible del script Inno Setup le permite realizar muchas operaciones al realizar la instalación. La clave depende de sus ideas y de lo que quiera hacer.