setup.exe /log=<log.txt>
を起動してInno Setup(最新バージョン5.5.9で試してみました)を実行してログファイルを作成することができます。Inno Setup:ログレジストリ項目の作成
残念ながら、[Registry]
セクションに宣言されているレジストリエントリの作成は記録されていないようです。レジストリエントリの作成やそれが作成されなかった理由をログに記録する方法
setup.exe /log=<log.txt>
を起動してInno Setup(最新バージョン5.5.9で試してみました)を実行してログファイルを作成することができます。Inno Setup:ログレジストリ項目の作成
残念ながら、[Registry]
セクションに宣言されているレジストリエントリの作成は記録されていないようです。レジストリエントリの作成やそれが作成されなかった理由をログに記録する方法
イノセットアップでは、[Registry]
セクションに基づいて自動的にアクションを記録することはできません。
しかし、あなたは手動でBeforeInstall
and AfterInstall
parametersとLog
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の関数の