windows – 如果不支持升级,是否有必要为所有产品版本使用唯一的
发布时间:2020-12-14 02:01:41 所属栏目:Windows 来源:网络整理
导读:我们有一个使用WIX安装程序的产品,只有我们的支持团队执行安装例程. 用于升级应用程序的唯一方法包含两个步骤: 删除已安装的任何以前版本的应用程序.我们有一个所有产品GUID的列表,我们可以通过它删除所有可能的版本(msiexec / x GUID) 安装最新版本 旧版本
我们有一个使用WIX安装程序的产品,只有我们的支持团队执行安装例程.
用于升级应用程序的唯一方法包含两个步骤: >删除已安装的任何以前版本的应用程序.我们有一个所有产品GUID的列表,我们可以通过它删除所有可能的版本(msiexec / x GUID) 旧版本方案的升级,修复或安装将永远不会用于此产品(这是不可能的,因为部署是由脚本执行的). 如果我们不使用升级功能,是否有必要使产品ID对所有新版本都是唯一的,或者可以保留相同的产品和升级ID? 解决方法
从
ProductCode property的文档:此ID必须根据不同的版本和语言而有所不同.因此,通常您应该在Product元素中设置Id =“*”,以便它对您生成的每个安装程序包都是唯一的.
我想不出你为什么希望这个Id对于不同版本的安装程序保持不变的原因;这会混淆Windows安装程序,例如当您尝试安装较新的软件包而不卸载上一个软件包时,可能会收到修复对话框. 升级代码应仅在您使用MajorUpgrade时相关,但听起来您没有使用它. 编辑:确定,因此您希望保持产品ID相同,以便使用msiexec / x {GUID}轻松卸载. 另一种方法是让安装程序自己在某处记录产品代码GUID.例如.或者您可以将产品Guid写入注册表中的固定位置,然后您可以编写一个脚本来读取该值以进行卸载. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- windows-server-2012-r2 – 在mac上使用dfs的smb
- .net – 如何判断我在Windows服务中打开了多少个SQL连接?
- windows-server-2008-r2 – 我有什么版本的Windows Server
- 如何在Windows上调试Perl XS代码
- 在DLL接口中使用boost :: shared ptr可以吗?
- windows – 如何打开新的cmd窗口并在其中执行for循环?
- windows-server-2008 – 如何诊断重复的“启动数据库”’
- Windows – .NET Core发布错误:“无法找到msdeploy.exe,请
- Consolas 字体
- 在Windows和Linux上构建C