InstallShield 2010不会卸载功能

时间:2012-01-17 21:15:39

标签: windows-installer installshield uninstall

我遇到了使用InstallShield 2010正确卸载创建的MSI的问题。根据日志,我的InstallShield项目包含5个不同的功能,所有功能都正确安装。

安装日志

Action start 14:17:21: InstallValidate.
MSI (s) (60:48) [14:17:21:819]: PROPERTY CHANGE: Deleting MsiRestartManagerSessionKey property. Its current value is '87c91cda6f92ea4989c01c65f841e520'.
MSI (s) (60:48) [14:17:21:819]: Feature: F1; Installed: Absent;   Request: Local;   Action: Local
MSI (s) (60:48) [14:17:21:819]: Feature: F2; Installed: Absent;   Request: Local;   Action: Local
MSI (s) (60:48) [14:17:21:819]: Feature: F3; Installed: Absent;   Request: Local;   Action: Local
MSI (s) (60:48) [14:17:21:819]: Feature: F4; Installed: Absent;   Request: Local;   Action: Local
MSI (s) (60:48) [14:17:21:819]: Feature: F5; Installed: Absent;   Request: Local;   Action: Local

...

=== Logging stopped: 1/17/2012  14:21:37 ===
MSI (c) (14:1C) [14:21:37:566]: Note: 1: 1707 
MSI (c) (14:1C) [14:21:37:566]: Product: Foo -- Installation operation completed successfully.

MSI (c) (14:1C) [14:21:37:566]: Windows Installer installed the product. Product Name: Foo. Product Version: . Product Language: 1033. Installation success or error status: 0.

但是,当我尝试使用相同的MSI进行卸载时,其中一个功能显示为未安装且随后未卸载。

卸载日志

MSI (s) (38:04) [14:31:09:730]: Doing action: InstallValidate
Action ended 14:31:09: SetODBCFolders. Return value 0.
MSI (s) (38:04) [14:31:09:730]: PROPERTY CHANGE: Deleting MsiRestartManagerSessionKey property. Its current value is '63009fbd7945fe4d8897ff58c1aa8e21'.
MSI (s) (38:04) [14:31:09:730]: Feature: F1; Installed: Absent;   Request: Null;   Action: Null
MSI (s) (38:04) [14:31:09:730]: Feature: F2; Installed: Local;   Request: Absent;   Action: Absent
MSI (s) (38:04) [14:31:09:730]: Feature: F3; Installed: Local;   Request: Absent;   Action: Absent
MSI (s) (38:04) [14:31:09:730]: Feature: F4; Installed: Local;   Request: Absent;   Action: Absent
MSI (s) (38:04) [14:31:09:730]: Feature: F5; Installed: Local;   Request: Absent;   Action: Absent

安装最新的MSI后,卸载后,日志看起来就像上面的安装日志。即使MSI没有看到F1功能被安装并重新安装,但由于卸载失败而已经在系统上的所有文件都不会被新文件覆盖。

非常感谢任何帮助。提前谢谢。

1 个答案:

答案 0 :(得分:0)

我遇到过类似的问题 要检查的事项:

Installshield组件,禁用共享以防止引用计数
共享组件:否

检查注册表是否有参考计数。搜索此列表以查找文件: HKEY_LOCAL_MACHINE \ SOFTWARE \微软\的Windows \ CurrentVersion \ SharedDLLs
如果您开发了早期的错误安装程序,则可能会保留错误的引用计数。您可以通过安装新的唯一文件夹来验证这一点,并查看问题是否仍然存在。

Installshield,检查重复的组件。由于较旧的条目未完全删除,您可能会安装相同的文件两次。

启用详细日志记录以进行调查:
https://support.microsoft.com/en-us/kb/2545723
日志文件名MSI * .LOG将以例如结尾。 C:\ Users \用户名\ AppData的\本地的\ Temp
搜索未卸载的文件并与其他文件进行比较 在我的案例中行动:为坏人行动,行动:缺席其他人。