2017-05-21 36 views
1

setup.exe /log=<log.txt>を起動してInno Setup(最新バージョン5.5.9で試してみました)を実行してログファイルを作成することができます。Inno Setup:ログレジストリ項目の作成

残念ながら、[Registry]セクションに宣言されているレジストリエントリの作成は記録されていないようです。レジストリエントリの作成やそれが作成されなかった理由をログに記録する方法

答えて

1

イノセットアップでは、[Registry]セクションに基づいて自動的にアクションを記録することはできません。

しかし、あなたは手動でBeforeInstall and AfterInstall parametersLog support functionを使用してログインすることができます:

[Registry] 
Root: HKLM; Subkey: "Software\My Company\My Program"; ValueType: string; \ 
    ValueName: "Test"; ValueData: "data"; \ 
    BeforeInstall: Log('Before writing Test value'); \ 
    AfterInstall: Log('After writing Test value'); 
(任意のエラーなど)

レジストリ書き込みエラーが自動的に記録されます。

2017-05-21 16:57:51.652 Before writing Test value 
2017-05-21 16:57:51.653 Message box (Abort/Retry/Ignore): 
          Error creating registry key: 
          HKEY_LOCAL_MACHINE\Software\My Company\My Program 

          RegCreateKeyEx failed; code 5. 
          Access is denied. 

          Click Retry to try again, Ignore to proceed anyway, or Abort to cancel installation. 
2017-05-21 17:00:58.116 User chose Ignore. 
2017-05-21 17:00:58.116 After writing Test value 

あなたはより大きなコントロールを超える必要がある場合ロギングを行うには、レジストリに書き込むために([Registry]セクションエントリの代わりに)Pascal Scriptingを使用する必要があります。しかし便利なInno Setupレジストリsupport functionsを使用することはできません。なぜなら、彼らはあなたに失敗の理由を与えないからです。

低レベルのWinAPI関数を使用する必要があります。

いくつかの参照:Inno Setupの中の低レベルのレジストリWinAPIの関数の

関連する問題