2016-07-11 6 views
-1

をInnoSetupスクリプトに追加しました。#MyAppNameにはバージョン番号が含まれていません。しかし、私のSetup.exeを実行すると、 "あなたのApp v1.01はすでに実行中です"(または何でも)バージョン番号が表示されますが、これは望ましくありません。メッセージにバージョン番号が表示されないようにする方法はありますか?Inno Setup "セットアップが...現在実行中であることを検出しました"からバージョン番号を削除します

理由:私のアプリのv1.00を実行していて、Inno Setupで作成した "MyApp_101_Setup.exe"を起動したとします。表示されたメッセージは「あなたのApp v1.01はすでに実行中です。」は正しくありません。v1.00が動作している間にv1.01をインストールしようとしています。これは私のユーザーに混乱を引き起こす可能性があります。

ヒント?ありがとう! :)

答えて

0

あなたは間違っています。

メッセージは次のとおりです。

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; 

のでバージョンがバージョンで含まれている場合にのみ、メッセージに含まれている:%1AppName directiveの値に置き換えられ

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. 

AppNameディレクティブ。 documentationが言うように間違っている何を、指示値は、バージョンが含まれていない場合があります。それはのappversionおよび/またはAppVerNameディレクティブによって定義されるよう

は、バージョン番号を含めないでください。

+0

Martinさんの説明に感謝します。メッセージを追加し、 '%1'を' {#MyAppName} 'に置き換えて問題を修正しました。 – SJ2571

+0

ところで、これらのメッセージはどこに掲載されていますか?私は決してリストを見つけることができなかったし、通常それらを見つけるためにGoogleに持っていなければならない。 – SJ2571

+0

これは正しい解決策ではありません!正しい解決策は 'AppName'からバージョン番号を削除することです。あなたのハックはどこかであなたを噛んでしまいます。 –

関連する問題