2012-11-24 10 views
5

Innoセットアップでインストール後にレジストリへのインストールパスを書き込む方法Innoセットアップでインストール後にレジストリへのインストールパスを書き込む方法

ありがとうございます! TLama同様

+3

*インストールが完了した後*の意味によります*。あなたのケースでは、インストールが完了した後*あなたがこれを行う必要はないと思う*あなたの答えは十分です。しかし、より正確に言えば、インストールがまだ完全に完了していないとき、 '[Registry]'セクション['is processed'](http://jrsoftware.org/ishelp/topic_installorder.htm)です。実際に*インストールが完了した後に*を行う場合は、 'CurStepChanged'(http://jrsoftware.org/ishelp/topic_scriptevents.htm#CurStepChanged)イベントハンドラで行う必要があります。' CurStep'パラメータ'ssPostInstall'と同じです。 – TLama

+2

または、1つのインストールエントリ(ファイルなど)に関連する作業が必要な場合は、['AfterInstall'](http://jrsoftware.org/ishelp/topic_scriptinstall.htm#AfterInstall)パラメータを使用できます。 – TLama

答えて

8

は、インストール・プロセスが完了した後にキーを追加したい場合は、ssPostInstallを経由して、それを達成することができ、と述べました。

[Code] 
procedure CurStepChanged(CurStep: TSetupStep); 
begin 
    if CurStep=ssPostInstall then begin 
    RegWriteStringValue(HKEY_LOCAL_MACHINE, 'Software\HHSTECH', 
    'InstallPath', ExpandConstant('{app}')); 
    end; 
end; 

それとも、最後のファイルがインストールされた後に(コピー)と呼ばれることAfterInstallを使用することができます。

[Files] 
Source: ".\THEVERYLASTFILE.XXX"; DestDir: "{app}"; AfterInstall: MyAfterInstall 

[Code] 
procedure MyAfterInstall(); 
begin 
    RegWriteStringValue(HKEY_LOCAL_MACHINE, 'Software\HHSTECH', 
    'InstallPath', ExpandConstant('{app}')); 
end; 
+0

ようやく!ありがとう –

3
[Registry] 
Root: HKLM; Subkey: Software\HHSTECH; ValueType: string; ValueName: InstallPath; ValueData: {app} 
関連する問題