2016-07-11 1 views
-1

Ich habe die Zeile AppMutex={#MyAppName} zu meinem InnoSetup-Skript hinzugefügt, und #MyAppName enthält NICHT die Versionsnummer. Wenn Setup.exe jedoch ausgeführt wird, heißt es "Ihre App v1.01 läuft bereits" (oder was auch immer) mit der Versionsnummer, die ich nicht möchte. Gibt es eine Möglichkeit, dass die Nachricht NICHT die Versionsnummer anzeigt?Inno Setup Entferne Versionsnummer von "Setup hat festgestellt, dass ... läuft gerade"

Grund: Angenommen, ich verwende v1.00 meiner App, und ich starte "MyApp_101_Setup.exe" (mit Inno Setup gemacht). Die angezeigte Meldung lautet "Ihre App v1.01 läuft bereits", was NICHT wahr ist. Ich versuche, v1.01 zu installieren, während v1.00 läuft. Dies kann zu Verwirrung für meine Benutzer führen.

Irgendwelche Tipps? Vielen Dank! :)

Antwort

0

Sie liegen falsch.

Die Botschaft lautet:

SetupAppRunningError=Setup has detected that %1 is currently running.%n%nPlease close all instances of it now, then click OK to continue, or Cancel to exit. 

Wo die %1 nach Wert der AppName directive Fassung:

ExpandedAppName := ExpandConst(SetupHeader.AppName); 

... 

{ Check if app is running } 
while CheckForMutexes(ExpandedAppMutex) do 
    if LoggedMsgBox(FmtSetupMessage1(msgSetupAppRunningError, ExpandedAppName), 
    SetupMessages[msgSetupAppTitle], mbError, MB_OKCANCEL, True, IDCANCEL) <> IDOK then 
    Abort; 

So ist die Version in der Nachricht enthalten ist, nur, wenn Sie die Version enthalten sind, in die AppName Direktive. Was falsch ist, umfasst die Richtlinie Wert kann nicht mit der Version, wie die documentation sagt:

nicht die Versionsnummer Sie sind, wie die durch die AppVersion und/oder AppVerName Richtlinien definiert ist.

+0

Danke für die Erklärung, Martin. Ich habe die Nachricht hinzugefügt und '% 1' durch' {#MyAppName} 'ersetzt, um das Problem zu beheben. – SJ2571

+0

BTW, wo sind all diese Nachrichten aufgelistet? Ich konnte NIEMALS eine Liste finden und muss sie normalerweise finden, um sie zu finden. – SJ2571

+0

Das ist keine richtige Lösung! Die richtige Lösung ist das Entfernen der Versionsnummer aus dem 'AppName'. Ihr Hack wird Sie woanders beißen. –

Verwandte Themen