C#WIX卸载永久文件?

时间:2011-07-12 20:23:43

标签: c# installer wix

我在安装过程中使用自定义操作将文本文件写入安装目录。卸载时,该文件不会被删除,也不是相应的安装目录。但是其他所有内容都已正确卸载。

我理解WIX无法使用卸载程序卸载此文件的原因,我只是想知道在卸载时调用“清理”操作的最佳方法是什么,我可以在其中手动删除目录/文件?< / p>

4 个答案:

答案 0 :(得分:7)

您可以在文本文件最密切关联的任何组件中包含RemoveFile元素。卸载该组件后,文本文件也将被删除。

<RemoveFile Id="CleanUpLogFile" On="uninstall" Name="log.txt"/>

答案 1 :(得分:1)

您可以安装一个空文本文件,然后将自定义操作写入文件而不是创建它。

一般情况下,我建议尽可能远离自定义操作(在处理安装,卸载,修补,修复等时,它们会变得非常混乱)您可能需要考虑让应用程序本身配置首次运行时的文件或具有在首次运行时执行的其他配置应用程序。

答案 2 :(得分:0)

您可以随时运行控制台应用程序,例如通过代码删除文件。您只需将该项目添加到卸载自定义操作。

答案 3 :(得分:0)

出于好奇,文本文件的本质是什么?在文本文件是安装日志的类似情况下,我建议记录到临时目录或不在Program Files下的位置(例如Program / AppData文件夹 - 例如Windows 7上的C:\ ProgramData \ Manufacturer \) )。

这种方法绕过了这个问题,完全消除了创建自定义清理脚本或操作的需要。