installshield 2013升级不删除以前的版本(要检查的东西?)



我已经创建了一个InstallShield项目的副本,所以所有的设置应该是相同的。(我以前就这么做过,而且很成功)。我使用此副本对安装程序项目进行更改,因为它将以自动构建方式调用。在这个版本的安装程序项目中,我做了一个很大的改变,就是为预要求引用了一个共享的网络位置。预要求是在此之前构建的另一个安装程序项目,并将其拉入主安装程序中。

我在本地测试这个构建,而不是通过自动构建过程。

我知道升级码匹配。我有2个升级代码检查主要更新。我也检查了"任意版本"设置。

但是,当我构建和测试新的安装程序时,它没有删除以前的条目。

我已经检查了这里[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionUninstall],看到那里列出的应用程序两次。我真的希望找到UpgradeCode,以便阐明是否因为某种原因而变得混乱,但没有成功。

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersioninstaller] <- no dice

正如一些人建议的那样,我已经浏览到exe并试图添加主要升级项,我仍然得到相同的升级代码。

所以我的问题是,有没有人有其他东西要检查,可能会阻碍这个条目从添加-删除对话框。

日志文件

MSI (c) (D0:E0) [16:26:28:649]: Doing action: FindRelatedProducts
Action 16:26:28: FindRelatedProducts. Searching for related applications
Action start 16:26:28: FindRelatedProducts.
Action ended 16:26:28: FindRelatedProducts. Return value 1.
MSI (s) (2C:68) [14:12:34:706]: Doing action: RemoveExistingProducts
Action 14:12:34: RemoveExistingProducts. Removing applications
Action start 14:12:34: RemoveExistingProducts.
Action ended 14:12:34: RemoveExistingProducts. Return value 1.

Action start 13:48:41: ISSetAllUsers.
MSI (c) (6C:9C) [13:48:41:826]: Invoking remote custom action. DLL: C:UsersngatesAppDataLocalTempMSID938.tmp, Entrypoint: SetAllUsers
InstallShield 13:48:41: Begin SetAllUsers()
InstallShield 13:48:41: Getting records from Upgrade table
InstallShield 13:48:41: UpgradeCode: {84A5CBA6-9BC8-4E99-B8AE-9327E9B78A34} MinVersion:     MaxVersion: 6.38.0.448  Language:   Attributes: 257
InstallShield 13:48:41: Checking related product {AD762BD7-3EA5-4DD2-8552-1474ABED7C6F}
InstallShield 13:48:41:     Venus 7000  {AD762BD7-3EA5-4DD2-8552-1474ABED7C6F}  1033    6.38.0.372   ***Related***
MSI (c) (6C!E4) [13:48:41:854]: PROPERTY CHANGE: Adding IS_MAJOR_UPGRADE property. Its value is 'Yes'.
InstallShield 13:48:41: ALLUSERS of related product {AD762BD7-3EA5-4DD2-8552-1474ABED7C6F} is = 1
InstallShield 13:48:41: End SetAllUsers()
Action ended 13:48:41: ISSetAllUsers. Return value 1.

根据文档(RemoveExistingProducts Action),它出现的返回代码为1意味着某事被删除,所以它的行为就像它正在工作…

我知道怎么做了!

在主升级项上,选择第二个单选按钮。并设置一个合适的范围,对我来说,我是6.0.0.0到6.99.9.9,这似乎对我来说是可行的。因为7.0.0.0对我们来说将是一个真正的主要版本。

最新更新