1
224
最后我找到了一个解决方案——我在这里为可能有相同问题的其他人(你们5个人)发布了这个解决方案:
从现在起,每当我安装该产品时,它都会删除以前安装的版本。 注: 用您自己的GUID替换升级Id |
2
205
在最新版本(3.5.1315.0测试版)中,您可以使用 MajorUpgrade element 例如,我们使用此代码进行自动升级。它可以防止降级,给出本地化的错误消息,还可以防止升级已经存在的相同版本(即仅升级较低版本):
|
3
89
正如@Brian Gillespie所指出的,根据所需的优化,还有其他地方可以安排RemoveExistingProducts。注意此处的PUT-GUID-必须相同。 |
4
40
Product元素中的Upgrade元素与适当的操作计划相结合,将执行您要执行的卸载。请确保列出所有要删除的产品的升级代码。
请注意,如果您对构建非常小心,您可以防止人们意外地在较新版本上安装较旧版本的产品。这就是最大字段的作用。在构建安装程序时,我们将UpgradeVersion Maximum设置为正在构建的版本,但IncludeMaximum=“否”可防止出现这种情况。
这将保留在复制新文件和注册表项之前安装的产品的早期版本。这使我能够将数据从旧版本迁移到新版本(例如,您已将用户首选项的存储从注册表切换到XML文件,但您希望礼貌地迁移它们的设置)。此迁移在InstallFinalize之前的延迟自定义操作中完成。 另一个好处是效率:如果有未更改的文件,Windows Installer在您计划在InstallFinalize之后复制它们时就不会麻烦了。如果计划在InstallInitialize之后进行,则先完全删除以前的版本,然后安装新版本。这会导致不必要的文件删除和重新复制。 有关其他计划选项,请参阅MSDN中的RemoveExistingProducts帮助主题。本周的链接是: http://msdn.microsoft.com/en-us/library/aa371197.aspx |
5
16
WiX最好是在对Windows Installer的工作有充分了解的情况下使用。你可能会考虑得到“ The Definitive Guide to Windows Installer 删除现有产品的操作是 RemoveExistingProducts action . 因为它所做的事情的后果取决于计划的位置——即,故障是否会导致重新安装旧产品,以及是否会再次复制未更改的文件——您必须自己安排。
如果您的原始安装不包括
|
6
11
我使用此网站帮助我了解WiX升级的基本知识: http://wix.tramontana.co.hu/tutorial/upgrades-and-modularization
正如Mike在Apress的书《Windows Installer的最终指南》中所说,它将帮助您理解,但它不是用WiX编写的。
|
7
10
我读了报纸 WiX
但是 主要原因 问题的关键是文档中说要使用“ 重新安装=全部重新安装模式=vomus “小升级和小升级的参数,但并没有说这些参数是 -他们干脆停止工作。所以你不应该在重大升级时使用它们。 |
8
7
我建议看一看Alex Shevchuk的教程。他通过WiX解释了“重大升级”,并在 From MSI to WiX, Part 8 - Major Upgrade . |
9
7
有一件重要的事情我在教程中错过了一段时间(从 http://www.tramontana.co.hu/wix/lesson4.php )导致“此产品的另一个版本已安装”错误: * 小更新 小升级 表示产品版本已经更改的更改。修改产品标签的版本属性。产品将保持不变,因此您不需要更改产品GUID,但当然需要获得新的包GUID。 表示从一个完整版本到另一个完整版本的重大更改。更改所有内容:版本属性、产品和包GUID。 |
10
5
请注意,PUT-GUID-HERE应与您在产品的UpgradeCode属性中定义的GUID相同。 |
11
3
请确保产品中的UpgradeCode与升级中的Id匹配。 |
12
1
这对我来说很有用,即使是对梅杰来说 向下
|
Nemo · 安装项目不会调用所有。dll程序集文件并引发异常 6 年前 |
nano · 安装程序在安装此包时遇到意外错误-。错误代码2896 6 年前 |
crocodayl · Wix卸载快捷方式无法完全删除应用 6 年前 |