2017-02-09 23 views
2

自分のプログラムをインストールしました。しかし、もう一度インストールしようとすると、プログラムが置き換えられます。Inno Setup - アプリケーションが既にインストールされている場合のインストールを防ぐには?

は、私はそれをチェックして、新規インストールを防ぐことができるようにInno Setup - How to display notifying message while installing if application is already installed on the machine?

は、私は特定のレジストリエントリを作成することができ、この質問を見ましたか?この質問には、いくつかの関連情報があります:Inno setup - skip installation if other program is not installed

答えて

3

レジストリキーを作成する必要はありません。インストーラは、アンインストーラ用のレジストリキーを既に作成しています。あなたはそれを確認することができます。それは同じ鍵です。質問の答えは、あなたが参照し、使用しています。しかし、あなたはバージョンのチェックをする必要はありません。存在をチェックするだけです。また、あなたは確認する必要があり、両方のHKEY_LOCAL_MACHINEHKEY_CURRENT_USER

#define AppId "myapp" 

[Setup] 
AppId={#AppId} 

[Code] 

function InitializeSetup(): Boolean; 
begin 
    Result := True; 
    if RegKeyExists(HKEY_LOCAL_MACHINE, 
     'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{#AppId}_is1') or 
    RegKeyExists(HKEY_CURRENT_USER, 
     'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{#AppId}_is1') then 
    begin 
    MsgBox('The application is installed already.', mbInformation, MB_OK); 
    Result := False; 
    end; 
end; 

The application is installed already

関連する問題