Installshield套件卸载程序不会卸载每个功能

问题描述:

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

根据你所说的话我很难说出你想让你的安装程序做什么(我没有足够的代表来说这是一个评论)。

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

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

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

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

的问题是一些天,我只想提的事情:

这是正确的参数化的问题。在我的套件中,它的工作原理是:-)

我真的很难过,每个人都必须使用IS套件,至少在我知道的2011版本中。测试质量在我眼里。解决所有的放纵和缺点需要非常努力的工作和编程。一旦你了解了他们(可能需要半年或更长时间),你可以使用它。

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