卸载非安装程序创建的文件

时间:2010-08-18 13:45:09

标签: c# deployment windows-installer setup-project uninstall

我在VS2008中有一个安装项目(MSI)来安装我的项目。在项目中,我为应用程序在SpecialFolder.CommonApplicationData + \\"settings"文件夹中创建了一个设置文件(两个斜杠在C#代码中用于转义)。但是,当删除程序时,卸载程序并没有为我删除它。如何在卸载过程中删除此文件夹?我已经读过我应该使用VB Script,但我以前从未使用它,所以不太确定如何做到这一点。我试过这样的事情:

On Error Resume Next
Dim fso, objfolder
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.Namespace(COMMON_FILES + "\\settings")
objfolder.Delete
Set folder = nothing
Set fso = nothing

但卸载后设置文件仍然存在。 有任何想法吗?感谢

2 个答案:

答案 0 :(得分:3)

Windows Installer具有RemoveFiles表,仅用于此目的。不幸的是,您选择的工具不会暴露这个(或许多其他)功能。我建议查看另一个工具,如Windows Installer XML。否则你将滚动脆弱的自定义动作反模式来解决限制。

答案 1 :(得分:2)

添加自定义安装程序操作并覆盖Uninstall方法以删除额外文件。

有关自定义安装操作的详细信息,请参阅此文章:Installer Class and Custom Actions