2013-10-10 49 views
0

我有一個應用程序在安裝時將解壓3個文件(1個.exe,2個DLL)。Installsheild,擺脫安裝目錄中的所有文件?

當我運行該應用程序時,它從SQL中的二進制字段中下拉文件(大約300標記),並將它們轉換爲文件並將它們放置在安裝目錄中。

當我卸載時,這隻會擺脫最初解包的3個原始文件,並且會在運行應用程序後離開所有其他文件。

我在我的解決方案中使用Installsheild LE,我想知道是否有任何方法可以使它從安裝位置刪除一切,而不僅僅是3個原始文件?

謝謝:)

+0

使用Orca破解你的MSI文件 - 請參閱http://geekswithblogs.net/ajshurts/archive/2005/07/27/48388.aspx – stuartd

+0

我需要在自動化過程中每次完成此操作而無需額外的用戶交互,這樣做是這樣嗎? – Jacooobley

+0

您可以[使用VBS腳本更改MSI表](http://msdn.microsoft.com/zh-cn/library/aa368562.aspx),因此可能可以將插入腳本作爲腳本插入到RemoveFile表中你的過程。 – stuartd

回答

0

Windows安裝程序默認情況下,只有服務的文件安裝它。其他一切都被視爲用戶數據,並保持獨立。你的根本問題是你用自己釀造的自動更新模式顛覆你的安裝程序。

Windows Installer有一個名爲「RemoveFiles」的表,可以用來刪除其他文件。雖然ISLE並沒有公開這個表格(它也沒有被設計爲替代的工具)。

您的選擇是編寫自定義操作來刪除文件或使用Windows Installer XML創建合併模塊和所需的RemoveFile表條目。這個MSM可以被ISLE使用。