2013-03-29 67 views
0

1)我安裝了1.0版本的產品。Inno Setup:如何在[Files]部分捕獲退出代碼

2)當我試圖將產品升級到2.0版本,那麼現在所面臨以下問題:

一)當文件正在使用innosetup拋出一個錯誤說,它不能代替的文件並顯示中止重試忽略消息框。

所以我的要求是,當innosetup無法替換無聲/交互式安裝文件時,我需要知道它的退出狀態,以便我可以嘗試重命名該文件(正在使用中)並重試複製文件。

在此先感謝。

回答

1

沒有辦法做到這一點。

如果文件在安裝過程中處於使用狀態,您可以使用restartreplace標誌計劃重新啓動時替換該文件。

但更好的解決方案是防止它在第一時間使用,例如,通過使用AppMutex來檢測您的應用程序是否正在運行,或通過關閉後臺應用程序/服務,或者通過在後臺應用程序中使用最新版本的Inno與Restart Manager支持。

+0

我們已經在使用restartreplace標誌。如果二進制文件具有任何文件句柄,則在重新引導機器後,重新替換標誌替換二進制文件。我的要求是檢測是否有任何文件處理二進制文件,然後在[文件]節中重命名舊的二進制文件。 – user1752602

+0

好的。現在再讀一遍我的答案的後半部分。 – Miral

+0

>但更好的解決方案是首先防止它被使用,例如。通過使用AppMutex來檢測您的應用程序正在運行, [文件]部分中有近40個二進制文件,如果使用互斥量概念,則需要在[SETUP]部分中的 「AppMutex」設置中添加所有互斥量名稱,將花費大量的時間和精力。 – user1752602

相關問題