配置InstallShield LE以删除使用Visual Studio安装项目构建的先前版本

JYe*_*ton 11 visual-studio-2010 installshield-le

使用Visual Studio 2010,我想切换到使用InstallShield LE而不是Visual Studio安装项目.

在安装项目中,RemovePreviousVersions存在一个选项,该选项非常适合制作安装程序,该安装程序在发布新版本时基本上会进行就地升级.

现在使用InstallShield LE,我已经更新了版本并生成了一个新的ProductCode,但是在运行安装程序之后,以前的版本仍然存在.

我需要做什么才能使InstallShield构建的项目删除以前使用VS Setup Project构建的版本?

小智 41

当我第一次开始使用Visual 2012中的项目时,这让我很生气.我一直在添加/删除程序中获得重复副本,旧版本没有更新.这是我发现我需要做的事情.

在"升级路径"下,创建新路径.将最小版本留空(除非您需要),包括最小版本是,最大版本应设置为您现在安装的版本.包括最大版本为yes.

每次安装更新时,请在"常规信息"部分中推进产品版本.单击"常规信息"部分中的新产品代码不要更改升级代码

返回升级路径,将Max版本设置为您现在部署的版本.这对我来说很有用.

此过程将卸载以前的版本,并安装最新版本.添加/删除程序中没有重复项.

希望这可以帮助.


Cos*_*rvu 8

你可以试试这个:

  • 使用Orca打开旧的MSI 并从Property表中获取UpgradeCode
  • 在InstallShield LE项目中,转到解决方案资源管理器中的"常规信息"
  • 确保将"升级代码"字段设置为旧的MSI UpgradeCode

您还应该确保ALLUSERS属性对于两个版本都具有相同的值(这是相同的方法).您可以在此处阅读有关升级的更多信息:http://msdn.microsoft.com/en-us/library/aa369786(VS.85).aspx

  • 成功!最后一个缺失的步骤是在InstallShield LE的"组织您的设置"部分的升级路径部分中创建一个条目.右键单击"升级路径",然后选择"新建升级路径".将出现一个要求打开文件的对话框.找到以前的.MSI文件并打开它.它将自动导入升级代码并提供字段,您可以在其中指定应使用新安装程序替换以前的版本范围.如果没有此升级路径,只需拥有相同的UpgradeCode就行不通. (13认同)
  • @Cosmin @JYelton我必须遗漏一些东西,因为更改产品代码会让我分成两个单独的安装.这也是InstallShield Express手册中描述的方式. (3认同)
  • @JYelton我有一个类似的问题,我一直在"已经安装了该产品的另一个版本......",我在"常规信息"选项卡上增加了产品版本,并按照您指定的方式创建了升级路径以上.还有其他设置我应该改变吗? (2认同)