すべてのインストールが完了したら、レジストリを変更する必要がありますか?ありがとうございます。Inno Setupでインストール後にレジストリのアクセス権を変更するには
[Registry]
セッションが最初に発生します。[Run]
。すべての実行が終了した後、レジストリを変更する必要があります。私はsetACL.exe
の最後の[Run]
でこれをやっていますが、私はよりエレガントな(スクリプティング)ものを探しています。
すべてのインストールが完了したら、レジストリを変更する必要がありますか?ありがとうございます。Inno Setupでインストール後にレジストリのアクセス権を変更するには
[Registry]
セッションが最初に発生します。[Run]
。すべての実行が終了した後、レジストリを変更する必要があります。私はsetACL.exe
の最後の[Run]
でこれをやっていますが、私はよりエレガントな(スクリプティング)ものを探しています。
インストールの最後にCurStepChanged(ssPostInstall)
stepを使用してアクションを実装することはできますが、あまり役に立ちません。 Inno Setup Pascal Scriptには、レジストリの権限を設定する機能はありません。とにかく外部ユーティリティを実行する必要があります。
サードパーティのユーティリティ(SetACL)を使用する必要はありませんが、あなたは明らかにWindows regini
コマンドを使うことができます。
Change registry permissions via command line (batch file)を参照してください。
もう1つの方法は、[Registry]
セクションの前にアプリケーションを実行することです。 「何を」、特に後
[Files]
Source: "MyProg.exe"; DestDir: "{app}"; AfterInstall: ExecMyProg
[Code]
procedure ExecMyProg;
begin
if Exec(ExpandConstant('{app}\notepad.exe'), '', '',
SW_SHOW, ewWaitUntilTerminated, ResultCode) then
begin
Log('Executed');
end
else
begin
Log('Failed to execute');
end;
end;
:あなたがインストールされているいくつかのプログラムを実行している場合
たとえば、あなたが
AfterInstall
parameterを使用してそれらを実行することができますか?私はあなたが '[実行]'セクションで何かを実行した後にそれを推測するでしょうが、私たちに教えてください!または '[Registry]'セクションの使用に何が問題になっていますか? –最後のRUNの後、最初のRUNで[レジストリ]セッションが発生します。私はすべての実行が完了した後にレジストリを変更する必要があります。私は最後に実行でsetACL.exeでこれをやっていますが、私はよりエレガントな(スクリプティング)を探しています。 –
これはおそらく最も洗練されたソリューションです。 –