我使用一个名为MSICREATE的程序为一个软件生成msi包。然后我使用orca来转换msi包。一切正常,但用户必须在安装更新之前删除现有产品。我想修改msi包,以便安装程序识别出正在安装的更新版本或不同版本,并删除当前版本,然后安装新的msi软件包。
需要哪些属性表条目?
======
下面给出的答案帮助我摆脱了原来的问题,感谢Ciprian的帮助。我的主要升级msi现在删除现有产品但未完全重新安装产品。我的产品包含一些文本文件,帮助文件和.exe文件。不会重新安装.exe文件。
无论它值多少,我在下面添加了答案,总结了我使用orce添加到我的msi中的内容。
答案 0 :(得分:2)
我不知道MSICREATE如何处理升级方案。但是,您可以使用ORCA实现此目的。 Here是MSDN的详细升级示例。
长话短说,您的软件包必须共享UpgradeCode。您还必须在第二个包的Upgrade table中创建一个条目。
答案 1 :(得分:0)
以下是我使用orca添加到我的msi以实现重大升级的内容。正如我上面所说的,我仍然有一个问题,即我的.exe文件没有在重大升级时重新安装。如果进行修复,则会添加.exe。
InstallExecuteSequence表
InstallUISequence表
PropertyTable
添加了升级表
我还分配了一个新的PackageCode和一个新的ProductCode,因此新的msi具有与以前安装的产品不同的PackageCode,ProductCode和ProductVersion值。