我正在为一个使用WiX的程序创建一个安装程序。在配置过程中(安装完成后),程序会在程序目录中创建一个日志文件和一个.dat文件。如果在安装过程中这些文件不存在,我如何告诉WiX在卸载过程中删除这些文件?
如有任何建议,我们将不胜感激。
一种方法是通过安装这些文件来定义不存在的问题。也就是说,创建并安装一个空的日志文件和一个dat文件——初始化为空的或默认的
另一种方法是将RemoveFile
元素放在与使用这些文件(例如,程序exe)最密切相关的Component
元素下。
确实要将可写文件与程序放在同一目录中吗?通常,安装程序是为了只有管理员才能更改它们。如果程序使用任何用户都可以更改的数据来影响所有用户,则数据将存储在ALLUSERS配置文件下。而且,用户可以更改的仅影响该用户的数据将存储在该用户的配置文件下。
当数据以这种方式存储时,这是一个何时甚至是否应该删除此类数据的问题。即使用户不知道数据是如何持久化的,用户也可能希望为程序的下一次安装保留这些数据。
这对我有效-使用自定义命令并使用"del"或"rmdir"删除
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Forced-remove-of-folder-and-files-within-td698425.html
<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>