2011-07-12 64 views
2

我在安装过程中使用自定义操作将文本文件写入我的安装目录。当我卸载时,该文件不会被删除,也不是相应的安装目录。但其他一切都已正确卸载。C#WIX卸载永久文件?

据我所知,使用卸载程序维克斯无法卸载此文件的原因,我只是想知道什么是调入上卸载了“清理”作用,这其中我可以手动删除该目录/文件的最佳方式是什么?

回答

7

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

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

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

1

您可以安装一个空文本文件,然后将自定义操作写入文件而不是创建它。一般来说,我建议尽可能远离自定义操作(处理安装,卸载,修补,修复等操作时可能会变得非常混乱)。您可能需要考虑让应用程序本身进行配置该文件在第一次运行或具有在第一次运行时执行的附加配置应用程序。

0

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

该方法完全避开了这个问题,无需创建自定义清理脚本或操作。