windows – 如果不支持升级,是否有必要为所有产品版本使用唯一的WIX产品ID

我们有一个使用WIX安装程序的产品,只有我们的支持团队执行安装例程.
用于升级应用程序的唯一方法包含两个步骤:

>删除已安装的任何以前版本的应用程序.我们有一个所有产品GUID的列表,我们可以通过它删除所有可能的版本(msiexec / x GUID)
>安装最新版本

旧版本方案的升级,修复或安装将永远不会用于此产品(这是不可能的,因为部署是由脚本执行的).

如果我们不使用升级功能,是否有必要使产品ID对所有新版本都是唯一的,或者可以保留相同的产品和升级ID?

解决方法

ProductCode property的文档:此ID必须根据不同的版本和语言而有所不同.因此,通常您应该在Product元素中设置Id =“*”,以便它对您生成的每个安装程序包都是唯一的.

我想不出你为什么希望这个Id对于不同版本的安装程序保持不变的原因;这会混淆Windows安装程序,例如当您尝试安装较新的软件包而不卸载上一个软件包时,可能会收到修复对话框.

升级代码应仅在您使用MajorUpgrade时相关,但听起来您没有使用它.

编辑:确定,因此您希望保持产品ID相同,以便使用msiexec / x {GUID}轻松卸载.

另一种方法是让安装程序自己在某处记录产品代码GUID.例如.或者您可以将产品Guid写入注册表中的固定位置,然后您可以编写一个脚本来读取该值以进行卸载.

相关文章

Windows2012R2备用域控搭建 前置操作 域控主域控的主dns:自...
主域控角色迁移和夺取(转载) 转载自:http://yupeizhi.blo...
Windows2012R2 NTP时间同步 Windows2012R2里没有了internet时...
Windows注册表操作基础代码 Windows下对注册表进行操作使用的...
黑客常用WinAPI函数整理之前的博客写了很多关于Windows编程的...
一个简单的Windows Socket可复用框架说起网络编程,无非是建...