Método para resolver el conflicto del proceso en ejecución de Inno Setup: detectar y finalizar el proceso

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.

Supongo que te gusta

Origin blog.csdn.net/winkexin/article/details/131761046
Recomendado
Clasificación