需要在安装Installshield 2010之前卸载不相关的应用程序

时间:2022-11-05 22:45:59

apologies in advance, I am still an Installshield newbie!

提前道歉,我仍然是一个Installshield新手!

I am currently using installsheild 2010 for an isntall packed for my application (ds2). My trouble is I need to remove a previous incarnation of that project which was created with an installshield 2008 as a merge module (ds1), not a installer in its own right.

我目前正在使用installsheild 2010为我的应用程序(ds2)打包的isntall。我的麻烦是我需要删除使用installshield 2008作为合并模块(ds1)创建的该项目的先前版本,而不是其自身的安装程序。

So the old version (ds1) is currently lacking in upgrade code etc, and only has access to a Product Version and Package code.

因此旧版本(ds1)目前缺少升级代码等,只能访问产品版本和包代码。

The new program has the usuall Upgrade, package, product codes (ds2).

新程序包含usuall升级,包,产品代码(ds2)。

Is there anyway to either associate the old product mergeModule to the new application so it can be uninstalled as a 'previous version'. Or is there another method where i can ask installshield to "remove anything with product code xxxxxxxx"

无论如何要么将旧产品mergeModule与新应用程序相关联,以便可以将其作为“以前的版本”卸载。或者是否有另一种方法,我可以要求installshield“删除任何产品代码xxxxxxxx”

I hope that's clear enough for a response! Thanks in advance

我希望这个答案足够明确!提前致谢

1 个解决方案

#1


1  

UpgradeCode is only needed for FindRelatedProducts to determine the ProductCode. RemoveExistingProducts uses that ProductCode to do the removal.

只有FindRelatedProducts需要UpgradeCode来确定ProductCode。 RemoveExistingProducts使用该ProductCode进行删除。

You can author a Major Upgrde based on a fake UpgradeCode knowing that it won't find anything. Then you can use a Type 51 Set Property custom action to assign the known ProductCode to the ActionProperty used by the Major Upgrade rule. Then RemoveExistingProducts will come by and uninstall that product.

你可以根据假的UpgradeCode创建一个Major Upgrde,知道它不会找到任何东西。然后,您可以使用Type 51 Set Property自定义操作将已知的ProductCode分配给Major Upgrade规则使用的ActionProperty。然后RemoveExistingProducts将来到并卸载该产品。

#1


1  

UpgradeCode is only needed for FindRelatedProducts to determine the ProductCode. RemoveExistingProducts uses that ProductCode to do the removal.

只有FindRelatedProducts需要UpgradeCode来确定ProductCode。 RemoveExistingProducts使用该ProductCode进行删除。

You can author a Major Upgrde based on a fake UpgradeCode knowing that it won't find anything. Then you can use a Type 51 Set Property custom action to assign the known ProductCode to the ActionProperty used by the Major Upgrade rule. Then RemoveExistingProducts will come by and uninstall that product.

你可以根据假的UpgradeCode创建一个Major Upgrde,知道它不会找到任何东西。然后,您可以使用Type 51 Set Property自定义操作将已知的ProductCode分配给Major Upgrade规则使用的ActionProperty。然后RemoveExistingProducts将来到并卸载该产品。