我正在使用WiX創建程序的安裝程序。程序在配置過程中(完成安裝後)在程序目錄中創建一個日誌文件和一個.dat文件。如何在卸載過程中告訴WiX刪除這些文件,如果這些文件在安裝過程中不存在?WiX v3.7 - 如何刪除安裝後創建的卸載文件
任何建議將不勝感激。
我正在使用WiX創建程序的安裝程序。程序在配置過程中(完成安裝後)在程序目錄中創建一個日誌文件和一個.dat文件。如何在卸載過程中告訴WiX刪除這些文件,如果這些文件在安裝過程中不存在?WiX v3.7 - 如何刪除安裝後創建的卸載文件
任何建議將不勝感激。
一種方法是通過安裝這些文件來定義問題不存在。也就是說,創建並安裝一個空的日誌文件和一個dat文件 - 初始化爲空或缺省值。
另一種方式是把該最密切配合使用的那些文件(例如,程序EXE)相關聯的Component
元件下RemoveFile
元件。
你確定你想要在與程序相同的目錄下可寫文件嗎?通常情況下,程序的安裝只允許管理員更改它們。如果程序使用任何用戶可以更改以影響所有用戶的數據,則數據將存儲在ALLUSERS配置文件下。而且,用戶可以更改的數據只會影響該用戶,這些數據將存儲在該用戶的配置文件下。
當以這種方式存儲數據時,這是一個關於何時甚至是否應該刪除這些數據的問題。即使用戶不知道如何保存數據,用戶可能也希望爲下一次安裝該程序保留該數據。
RemoveFile對.dat文件很好用,它總是被稱爲同一件事。但是,日誌文件具有根據創建日期的動態名稱。有什麼辦法可以引用一個你不知道全名的文件嗎? – user2437443
我剛剛找到了我自己的問題的答案。要刪除不知道全名的文件,可以在
這爲我工作 - 使用自定義命令,並使用「刪除」或「命令rmdir」
<Product>
<CustomAction Id="Cleanup_logfile" Directory="INSTALLFOLDER"
ExeCommand="cmd /C "del install.log""
Execute="deferred" Return="ignore" HideTarget="no" Impersonate="no" />
<InstallExecuteSequence>
<Custom Action="Cleanup_logfile" After="RemoveFiles" >
REMOVE="ALL"
</Custom>
</InstallExecuteSequence>
</Product>
BTW-Windows安裝程序是確實的安裝,因此聽起來很奇怪,說軟件刪除「告訴WiX ......」 –