MSI包属性表项,以使更新版本(MSI package property table entries

2019-09-28 03:38发布

我使用一个名为MSICREATE程序来生成一个软件MSI软件包。 然后我用ORCA改造MSI软件包。 事情的工作确定,但在安装更新之前,用户必须删除现有的产品。 我想修改MSI包,以便安装程序可以识别正在安装一个较新的或不同的版本,并删除当前版本,然后安装新的MSI软件包。

什么属性表项需要的?

=========

下面给出的答案帮助我获得超出我原来的问题,我感谢西普里安他的帮助。 我的主要升级微星现在删除现有的产品,但不完全重新安装该产品。 我的产品包含的一些文本文件,帮助文件和.exe文件。 .exe文件不重新安装。

不管它的价值,我补充回答下面,总结了我加入到我的MSI使用奥尔塞。

Answer 1:

我不知道MSICREATE如何处理的升级方案。 但是你可以做到这一点使用ORCA。 下面是从MSDN一个详细的升级例子。

长话短说双方你的包必须共享的UpgradeCode 。 你还必须笔者在一个条目升级表第二包。



Answer 2:

下面是我添加到我的微星采用逆戟鲸,以实现重大升级的事情。 正如我上面说我仍然有我的.exe文件是不是一个重大升级重新安装的问题。 如果一个人做了修复.exe文件被添加。

InstallExecuteSequence表

  • 加入FindRelatedProducts与序列400
  • 加入RemoveExistingProducts与序列1450

InstallUISequence表

  • 加入FindRelatedProducts与序列200

PropertyTable

  • 加入RemovePreviousVersions TRUE
  • 新增SECURECUSTOMPROPERTIES SOLARUPGRADE
  • 曾与GUID一个现有的UpgradeCode通过MSICREATE创建
  • 有一个现有的ProductVersion 12.2.12.0创建了MSICREATE

增加了一个升级表

  • 的UpgradeCode相同的值属性表升级
  • VersionMin空
  • VersionMax 99.12.31
  • 属性1
  • ActionProperty SOLARUPGRADE(在属性表中的值相同SECURECUSTOMPROPERTIES)

我也分配比以前安装的产品提供了新PackageCode和新的产品代码,因此新的MSI有PackageCode,产品代码的不同值,和的ProductVersion。



文章来源: MSI package property table entries to enable update releases