2016-10-11 31 views
1

コード内でInno Setup経由でレジストリファイルをほとんど実行する必要はありません。 [Registry]セクションを使用することはできません。これは標準インストールキットであり、.regファイルを作成して実行する必要があります。.regレジストリファイルをサイレントにインポート

Exec('regedit.exe', 'C:\Support\MyReg.reg', '', SW_HIDE, ewWaitUntilTerminated, ResultCode) 

私はこれを静かに実行したいので、以下を試してみました。

Exec('regedit.exe', 'C:\Support\MyReg.reg /s', '', SW_HIDE, ewWaitUntilTerminated, ResultCode) 

しかし、動作しません。誰も私がここで何が欠けているか教えてもらえますか?私はあなたがより良いコマンドラインレジストリツールを使用することをお勧めものの、

Exec('regedit.exe', '/s C:\Support\MyReg.reg', '', SW_HIDE, ewWaitUntilTerminated, Code); 

reg.exe/s

+1

そのREGEDITを。 EXE not REGISTRY.EXE ... –

答えて

1

は、パスの前に来る必要があり

Exec('reg.exe', 'import C:\Support\Banners.reg', '', SW_HIDE, ewWaitUntilTerminated, Code); 
+0

Martinに感謝します。 reg.exeを使用している理由は何ですか? – Newbee

+0

これはGUIの 'regedit.exe'に反して自動化されたコマンドラインツールです。たとえば、出力をファイルにリダイレクトしてエラーをキャプチャすることができます。そして、 'regedit.exe'のように、あなたが引数を壊してしまった場合に備えて、それはあなたに掛からないでしょう:) –