2009-08-28 76 views
0

我對我的產品的安裝程序/卸載程序使用Inno安裝程序。我的軟件具有自動更新功能,在此期間它不僅可以更改現有的二進制文件,還可以添加新的文件。這些是放置在產品安裝目錄中的其他產品文件 - 不是數據文件。卸載最初由INNO設置安裝的文件

Inno Setup卸載程序只知道在安裝時按名稱卸載文件。由於自動更新不會更改組成卸載程序的unins000.exe或unins000.dat文件,因此在卸載時刪除這些新產品文件的適當方式是什麼?

回答

2

我看到的最簡單方法是在你的程序目錄的批處理文件,它會刪除被安裝後添加和卸載執行所有文件:

[UninstallRun] 
Filename: cleanup.cmd; WorkingDir: {app}; Flags: shellexec runminimized 

UninstallRun命令的執行卸載的第一步,所以這應該工作正常。如果您對運行批處理腳本的想法感到困擾,則可以輕鬆創建自己的cleanup.exe來刪除這些文件。

執行自動更新時,還必須更新清理文件,以便它包含隨當前更新而添加的所有文件。

+1

我走了一個類似的解決方案。我有卸載程序調用並從中導出的自定義DLL。我可以修改此導出的DLL的內容作爲更新時間,同時保持原型。該代碼刪除所有由更新添加的文件。 – Charles 2009-11-24 21:42:04