2016-10-11 70 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) 

但它不起作用。有人能告訴我我在這裏失蹤了嗎?

+1

其REGEDIT。 EXE不REGISTRY.EXE ... –

回答

1

/s有前來路徑前:

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

雖然我建議你最好使用命令行註冊表工具,該reg.exe

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

謝謝馬丁。背後使用reg.exe的任何特定原因? – Newbee

+0

這是一個命令行工具,設計爲自動化,與GUI'regedit.exe'相反。因此,您可以將其輸出重定向到文件以捕獲錯誤。它不會掛在你身上,就像'regedit.exe'一樣,萬一你搞砸了參數:) –