2013-11-03 145 views
4

我已經通過Inno安裝程序創建了安裝程序,現在我需要在運行某些文件後重新啓動計算機。Inno安裝程序:在安裝過程中重新啓動

所以,我有代碼:

.... 
[Files] 
.... 
[Run] 
Filename: firstfile 
RESTART 
Filename: secondfile 
.... 

這可能嗎?我找到了一個示例腳本github,但我無法理解如何使用此DetectAndInstallPrerequisites功能。 如果有人可以建議或提供一些簡單的例子,我會非常gratefull

回答

4

看看Inno附帶的CodePrepareToInstall.iss示例腳本。它顯示如何安排重新啓動並在安裝後自動恢復。 (如果安裝更復雜或需要進一步用戶輸入,則可能需要進一步更改或保存更多值。)

該示例中的缺失鏈接是,您需要使用ExtractTemporaryFile填寫DetectAndInstallPrerequisites函數檢索相應的文件(因爲它在處理主要的[Files]部分之前運行)和Exec(ExpandConstant('{tmp}\yourfile.exe'), ...)以實際運行該文件。如果這是一個子安裝程序,則可以檢查其退出代碼以確定是否實際需要重新啓動,而不是無條件地請求重新啓動。

請注意,此代碼將在重新引導後再次執行,因此您還需要某種方式來檢測子安裝是否成功,並跳過嘗試再次運行它。通常這是通過嘗試檢測已安裝子組件的版本來完成的。

+0

哦,謝謝你的回答,但這仍然是太沉重的方式。我只是把一些代碼放在c#中,當程序開始時,它會運行其他文件。 – Araxnid

相關問題