用于启用更新版本的 MSI 包属性表条目
我使用一个名为 MSICREATE 的程序来为某个软件生成 msi 包。然后我使用 orca 来转换 msi 包。一切正常,但用户必须在安装更新之前删除现有产品。我想修改 msi 软件包,以便安装程序识别正在安装更新或不同的版本,并删除当前版本,然后安装新的 msi 软件包。
需要哪些属性表条目?
=========
下面给出的答案帮助我解决了原来的问题,我感谢 Ciprian 的帮助。我的主要升级 msi 现在会删除现有产品,但不会完全重新安装该产品。我的产品由一些文本文件、一个帮助文件和一个 .exe 文件组成。 .exe 文件不会重新安装。
不管它的价值如何,我在下面添加了答案,总结了我使用 orce 添加到我的 msi 中的内容。
I use a program called MSICREATE to generate msi packages for a piece of software. I then use orca to transform the msi package. Things work ok but users must delete the existing product before installing an update. I'd like to modify the msi package so the installer recognizes a newer or different version is being installed and removes the current version and then installs the new msi package.
What property table entries are needed?
=========
The answer given below has helped me get beyond my original problem and I thank Ciprian for his help. My major upgrade msi now deletes the existing product BUT does not completely re-install the product. My product consists of some text files, a help file, and a .exe file. The .exe file is not re-installed.
For whatever it's worth, I added answer below which summarizes what I added to my msi using orce.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我不知道 MSICREATE 如何处理升级场景。不过,您可以使用 ORCA 来实现这一点。 这里是详细升级示例来自 MSDN。
长话短说,您的两个软件包必须共享 升级代码。此外,您还必须在 第二个包的升级表。
I don't know how MSICREATE handles the upgrade scenario. However you could achieve this using ORCA. Here is a detailed upgrade example from MSDN.
Long story short both your packages must share the UpgradeCode. Also you must author an entry in the Upgrade table of the second package.
以下是我使用 orca 添加到我的 msi 中以实现重大升级的内容。正如我上面所说,我仍然有一个问题,即我的 .exe 文件在重大升级时没有重新安装。如果进行修复,则会添加 .exe。
InstallExecuteSequence 表
InstallUISequence 表
PropertyTable
添加了升级表
属性表)
我还分配了一个新的 PackageCode 和一个新的 ProductCode,因此新的 msi 的 PackageCode、ProductCode 和 ProductVersion 值与之前安装的产品不同。
Here are the things I added to my msi using orca to effect a major upgrade. As I said above I still have a problem in that my .exe file is not reinstalled on a major upgrade. The .exe is added if one does a repair.
InstallExecuteSequence Table
InstallUISequence Table
PropertyTable
Added a Upgrade Table
Property Table)
I also assigned a new PackageCode and a new ProductCode so the new msi had different values of PackageCode, ProductCode, and ProductVersion than the previously installed product.