2010-10-16 225 views
6

我正在使用Installshield 2010.我做了一个基本的MSI设置,并且遇到卸载问题。Installshield,卸载程序不会删除所有文件夹

卸载不会删除所有文件夹。

完成安装后,我只卸载才发现仍有路径剩余。

例如,C:\ ProgramFiles \ CompanyName \ Account \ User_1234.xml 仍然存在,而其他一切都消失了。

User_1234.xml文件由应用程序生成,并且此文件通常不在安装过程中。所以这是有道理的,为什么这个文件可能有一些问题摆脱它(安装端)。

与此同时,我认为它会被删除,因为它位于“CompanyName”文件夹中。

有没有什么办法可以指定摆脱一切,包括“CompanyName”文件夹?

感谢您的任何想法, -btg

回答

8

你有几个问题,我会首先解决的一个明显。是的,Windows Installer的默认行为是不删除用户数据。这可能是安装程序未安装的文件或安装程序修改后修改的文件。要让安装程序删除它们,您必须创建RemoveFiles表来教它删除哪些文件。现在

Remove Files Table (Windows Installer)

我会解决的不太明显的问题。您不应该期望您的应用程序能够在运行时写入ProgramFiles。我不知道你的软件是做什么的,但你应该认真考虑你的应用程序设计的这个方面。

+1

你在Installshield Express中如何操作?可能吗? – CJ7 2012-02-24 07:34:06

+0

我不确定你是否可以。 Express旨在简化并隐藏许多MSI概念。我有窍门,如果Express将让你消费一个合并模块。我认为它会。 – 2012-02-24 11:52:09

+0

Express可以使用合并模块,但我不明白合并模块如何在卸载时导致文件夹被删除。 – CJ7 2012-02-24 13:17:21

相关问题