2016-12-16 123 views
0

我使用了wix生成的msi文件来安装软件。安装软件可以正常工作,但有时在卸载时会出现一些问题。WIX:安装程序在卸载时未删除属性

所有在“PROGRAMM文件”的文件被删除的预期,但在卸载后,一些数据仍然保留在系统上:

  • 在进入应用“程序和功能”
  • 安装在“C:\ WINDOWS \安装程序\”
  • (和一些注册表项这点上面的两件事情)

的问题是:只要这些数据是在系统上,这是不可能遏制停止相同版本的软件。安装程序显示“修复/删除”操作。他们都没有工作了。

但是为什么安装程序不能删除这些文件/条目? 可能是什么问题?

只是一些注意事项:执行MajorUpgrade时,新安装程序将删除所有旧条目。但这不是一个解决方案。 回答是,所有这些注册表项和文件都可以手动删除。之后,重新安装是可能的,但这对用户来说也不是解决方案。

回答

1

这没什么意义,主要是因为安装和卸载是完整的事务处理,所以如果卸载失败它将回滚并且整个产品仍然在那里。它不会是部分卸载,有些东西会保留,其他则会被删除。有些东西看是:

  1. 做一个日志,MSIEXEC/X {产品代码} /升* VX卸载的[路径到日志文件]来看看是否有显示存在,例如,如果它成功完成。

  2. \ Windows \ installer目录中充满了msp,msi,mst文件,所以不清楚你的意思是“安装程序”在那里,因为大量缓存的安装程序文件存在。我同意,如果程序和功能中有条目,您也可能在那里。这意味着仍然安装了该产品。

  3. 不清楚你为什么提到升级,或者整个场景是什么。但是,如果您有两次安装错误地安装了另一个,则会遇到您当前的情况。卸载可能会删除所有文件,但会留下产品。

  4. 如果相同的ProductCode已用于多次安装和测试,或者您试图使用类似MsiZap的工具清理干净,则系统可能不再清洁。每次从一台干净的虚拟机开始,看看你是否遇到同样的问题。如果这种情况发生在一台可能因重复测试而被扰乱的测试机器上,那么它可能有助于为您的设置提供一个新的ProductCode和一个新的UpgradeCode。

相关问题