2010-01-06 193 views
0

我有一个.NET安装项目,安装和卸载我的应用程序正常,但卸载它后面的安装目录。.NET安装项目卸载安装文件夹在卸载

如何在卸载期间/之后删除此文件夹?

更新:我的应用程序在运行时会在此目录中创建一个cahce文件,这看起来像是在卸载过程中未删除该文件夹的原因。

有没有办法删除这个文件,以便该文件夹被删除?

回答

4

通常,安装过程中创建的文件夹在卸载时将被删除。

但是,如果该文件夹不是空的,或者其他进程的文件夹或子文件夹处于打开状态,则不会发生这种情况。因此,您应该确保该文件夹未在资源管理器或控制台窗口中的某处打开,您的应用程序未运行且未将任何其他文件放置到该文件夹​​中。

您可以用Process Explorer查看打开的手柄,使用查找 - >查找手柄或DLL命令并输入安装文件夹的名称。

您可以通过创建一个记录您卸载获得更多的信息和可能的错误消息:

msiexec /x myProgram.msi /l*vx log.txt 
+0

那就是问题了。我的应用程序在第一次运行时创建一个缓存文件。我如何确保文件夹是空的呢? – modernzombie 2010-01-06 20:05:21

+0

将缓存文件存储在应用程序数据文件夹中,而不是C:\ program files下。 – 2010-01-06 20:47:16

0

是的,你可以通过编写自定义操作,并在添加删除文件表条目中删除这些文件/文件夹。 RemoveFile