2011-08-30 98 views
1

首先,我知道有類似的問題,但我還沒有看到任何符合我的問題的答案。InstallShield刪除最初未安裝的文件使用RemoveFile卸載

InstallShield 2009安裝我的程序,我的程序創建一個ini文件。當程序卸載時,它會離開ini(因爲它不在原始安裝中)。我試圖在直接編輯器中使用RemoveFile。我給它的屬性,正確的installmode,但我不知道什麼是「組件」,或者我應該用它做什麼。我已經瀏覽了每個InstallShield幫助文件,並在網上查看,但描述「組件」的所有內容都非常模糊。調試器不會拋出與RemoveFile相關的任何錯誤或警告,但是當我運行新的卸載程序時,該文件將繼續保留。我一直在爲這個問題奮鬥幾天,並嘗試過各種各樣的東西在RemoveFile無濟於事!

只是...我只想刪除位於安裝可執行文件的安裝目錄中的ini。最簡單的方法是什麼?什麼是「組件」?

回答

2

Windows安裝程序需要該組件檢測是否處理「removefile指令」。我引用這個術語是因爲實際上沒有這樣的術語 - 這只是爲了便於解釋。

因此,如果組件計劃安裝(包含在要安裝的功能部件中,則條件解析爲true),並且InstallMode爲「在安裝時刪除或同時刪除」,Windows安裝程序將嘗試查找文件,您在位於DirProperty中的FileName中指定並嘗試將其刪除。

如果組件計劃要刪除,並且InstallMode爲「在卸載時刪除或同時刪除」,則同樣的邏輯將在卸載時起作用。

如果不安裝/卸載組件(例如,正在安裝另一個功能或條件爲false),Windows Installer將忽略「removefile指令」。

希望這個更有意義。

相關問題