我正在使用WiX为程序创建安装程序。该程序在配置过程中(完成安装后)在程序目录中创建日志文件和.dat文件。如果在安装过程中不存在这些文件,我如何告诉WiX在卸载过程中删除这些文件?
任何建议都将不胜感激。
答案 0 :(得分:4)
一种方法是通过安装这些文件来定义问题。也就是说,创建并安装一个空的日志文件和一个初始化为任何空或默认值的dat文件。
另一种方法是将RemoveFile
元素放在与使用这些文件(例如程序exe)最密切相关的Component
元素下。
您确定要将可写文件放在与程序相同的目录中吗?通常,安装程序以便只有管理员才能更改它们。如果程序使用任何用户可以更改的数据来影响所有用户,则数据将存储在ALLUSERS配置文件下。并且,用户可以更改的仅影响该用户的数据将存储在该用户的配置文件下。
当以这种方式存储数据时,关于何时或甚至是否应该删除这些数据是一个问题。即使用户不知道数据是如何保留的,用户也可能希望为下次安装程序保留该数据。
答案 1 :(得分:2)
这对我有用 - 使用自定义命令并使用“del”或“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>