我们有一个使用WIX安装程序的产品,只有我们的支持团队执行安装例程.
用于升级应用程序的唯一方法包含两个步骤:
用于升级应用程序的唯一方法包含两个步骤:
>删除已安装的任何以前版本的应用程序.我们有一个所有产品GUID的列表,我们可以通过它删除所有可能的版本(msiexec / x GUID)
>安装最新版本
旧版本方案的升级,修复或安装将永远不会用于此产品(这是不可能的,因为部署是由脚本执行的).
解决方法
从
ProductCode property的文档:此ID必须根据不同的版本和语言而有所不同.因此,通常您应该在Product元素中设置Id =“*”,以便它对您生成的每个安装程序包都是唯一的.
我想不出你为什么希望这个Id对于不同版本的安装程序保持不变的原因;这会混淆Windows安装程序,例如当您尝试安装较新的软件包而不卸载上一个软件包时,可能会收到修复对话框.
升级代码应仅在您使用MajorUpgrade时相关,但听起来您没有使用它.
编辑:确定,因此您希望保持产品ID相同,以便使用msiexec / x {GUID}轻松卸载.
另一种方法是让安装程序自己在某处记录产品代码GUID.例如.或者您可以将产品Guid写入注册表中的固定位置,然后您可以编写一个脚本来读取该值以进行卸载.