Installshield suite卸载程序不会卸载每个功能

时间:2012-02-02 09:24:45

标签: installshield

我有一个Installshield套件项目(setup.exe),包含2个可以选择安装的功能(msi包)(比如说A和B)。我还有一个升级选项,应该卸载旧包并安装更新版本的包。添加/删除程序仅包含卸载所安装任何功能的套件的卸载程序 如果我安装仅具有A功能的第一套件和仅具有B功能的第二套件,则会出现问题,然后尝试卸载套件。然后它只卸载B功能,并保留A功能。之后我无法卸载A功能,因为卸载程序在添加/删除程序中失去了外观。怎么解决这个问题?

3 个答案:

答案 0 :(得分:0)

根据你所说的内容很难说出你希望你的安装人员做什么(我没有足够的代表说这是评论)。

话虽如此,如果我正确地阅读您的问题,您需要重新组织您的安装程序。我不知道A和B的特征是什么,所以我给出了一些常见的场景。

如果B是A的附加组件,那么B需要与A作为子功能的同一安装程序的一部分。这样,想要B和A的用户可以一起安装(和卸载)它们。

如果B是升级到A(试用件?),那么你应该确保B完全取代A.

或者您真正想要的是在预先存在的A安装中添加功能B,在这种情况下,您不再运行安装程序来添加B,在“添加/删除程序”对话框中选择“更改”

答案 1 :(得分:0)

问题已有几天了,我只想提及事情:

这是一个正确的参数化问题。在我的套房中它起作用: - )

我真的为所有必须使用IS套件的人感到遗憾,至少在我知道的2011版本中。我眼中的Beta质量。需要付出艰苦的努力和编程才能解决所有的嗜好和弊端。一旦你了解它们(可能需要半年或更长时间),你就可以使用它。

答案 2 :(得分:0)

我从InstallShield 2014的角度谈到这一点,所以希望这适用于您使用的任何版本。因此,至少在InstallShield 2014中,您可以通过以下方式执行所需的行为。对于每个主要包装集"次要升级处理"要自动,请不要更改任何Suite GUID,Package Guid或ProductCode。然后,您可以提升您的ProductVersion,但仅限于维护数字,使主要版本和次要版本保持一致。自动次要升级处理将REINSTALL设置为" ALL"但将REINSTALLMODE设置为" VOMUS"。对于" VOMUS"有很多含义。所以做一些阅读(https://msdn.microsoft.com/en-us/library/aa371182%28v=vs.85%29.aspx)并确保你使用围绕" VOMUS"的最佳实践。