Lösung für den Konflikt beim Ausführen des Inno Setup-Prozesses: Erkennen und Beenden des Prozesses

Im Allgemeinen hoffen wir bei der Installation bestimmter Programme, dass auf dem Computer des Benutzers keine anderen Prozesse stattfinden, die sich auf die zu installierende Software auswirken. Vor der Installation können wir Inno Setup verwenden, um die Prozesse zu erkennen, die im aktuellen System ausgeführt werden. Wenn ein Benutzer bestimmte Prozesse ausführt, kann die Erkennung den Benutzer effektiv dazu auffordern, den Prozess vor der Installation zu schließen. Auf diese Weise werden bei der Installation der Software keine Installationsfehler aufgrund des Abfangens verwandter Prozesse oder Konflikte verursacht.

Im Folgenden finden Sie den detaillierten Ausführungsprozess der Inno Setup-Erkennung und die Aufforderung zum Beenden des Lösungscodes. Sie können ihn in das Inno Setup-Skript kopieren und entsprechend Ihren Anforderungen sinnvoll verwenden.

 
 

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

;Haftungsausschluss: Dieses Beispiel wurde von WLDNA geschrieben. Wenn es reproduziert wird, bewahren Sie diese Beschreibung bitte auf, vielen Dank!
;Autor: WLDNA

#include "istask.ish"
;Bitte stellen Sie sicher, dass Sie diese Include-Option hinzufügen

[Setup]
AppName=My Program
AppVerName=My Program v 1.5
DefaultDirName={pf}\My Program
OutputDir=userdocs:Inno Setup-Beispiele
Ausgabekomprimierung =lzma /ultra
InternalCompressLevel=ultra
;SolidCompression=yes
;DisableDirPage=yes
;DisableReadyPage=yes

[CustomMessages]
Tasks=QQ.exe
; Wenn Sie mehrere Prozesse erkennen möchten, können Sie %n zum Teilen verwenden, Beispiel: cmd.exe% nnotepad.exe

[Code ]
function InitializeSetup(): Boolean;
begin
  Ergebnis := True;

  if PDir ('ISTask.dll') <> '' then
    if RunTasks(CustomMessage('Tasks'), False, False) then
    begin
      if MsgBox('Es wurde erkannt, dass QQ ausgeführt wird und die Installation nicht fortgesetzt werden kann.' + #13#10 + #13#10 + '
        Klicken Sie auf „OK“. " um QQ direkt zu schließen oder auf „Abbrechen“ zu klicken, um die Installation zu beenden.', mbConfirmation, MB_OKCANCEL) = IDYES then
        begin
          KillTasks(CustomMessage('Tasks'));
          Result := True;
        end
        else
          Result := False;
    end
end;

function InitializeUninstall(): Boolean;
begin
  Ergebnis := True;

  if PDir ('ISTask.dll') <> '' then
    if RunTask('QQ.exe', False) then
    begin
      if MsgBox('Es wurde erkannt, dass QQ ist läuft und die Installation kann nicht fortgesetzt werden.' + #13#10 + #13#10 +
        „Klicken Sie auf „OK“, um QQ direkt zu schließen, oder klicken Sie auf „Abbrechen“, um die Installation zu beenden. ', mbConfirmation, MB_OKCANCEL) = IDYES then
        begin
          KillTask('QQ.exe');
          Ergebnis := True;
        end
        else
          Ergebnis := False;
    end
end;

Durch den flexiblen Einsatz von Inno Setup-Skripten können Sie während der Installation viele Vorgänge ausführen. Der Schlüssel liegt darin, zu sehen, was Sie denken und was Sie tun möchten.

Guess you like

Origin blog.csdn.net/winkexin/article/details/131761046