我正在使用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 ......” –