2014-10-17 265 views
0

这是我想实现的场景,但我没有很好的主意来实现这一点。Wix升级问题

假设某人获得安装程序并立即安装它。明天有人会得到一个新版本号的安装程序,希望将它安装在同一台PC上。更高版本的安装程序需要执行以下操作。

  1. 应该有一个对话框让用户选择哪个模块升级到 。
  2. 根据用户的选择更新这些模块,但 不会删除用户不选择的其他模块。

我试过用Majorupgrade元素来实现这个。但它总是删除我们不选择的模块。见下文:

例如。在先前版本中,我们选择特征要安装甲特征B。而在新版本中我们只选择功能A进行更新。 功能已成功更新,但它同时删除了功能B.

有没有人有一个好主意来实现这个?

在此先感谢

+0

您确定用户需要这种复杂性并且具备制定此类决策的知识吗? – 2014-10-17 03:09:54

+0

是的,我确定。其实我有一个想法来实现这一点。但它不是一个好的。见下: 只是将特征A和特征B中的组件的属性“永久”设置为“是”。何时选择要更新的功能A.使用客户操作删除与功能A相关的所有文件。那么安装程序将安装缺少的文件。 – user3479971 2014-10-17 06:06:52

+0

嗯...你必须阅读_Minor Upgrade_然后你通过控制台安装它(你不能通过用户界面 - 不支持小升级),然后阅读[重新安装](http://msdn.microsoft.com/ en-us/library/aa371175(v = vs.85).aspx)属性 - 您可以阅读,您应该能够设置要升级的功能。我从来没有这样做,所以我不能帮你用示例代码,对不起。示例显示如何升级所有:'msiexec/i setup.msi REINSTALL = ALL REINSTALLMODE = vomus' [REINSTALLMODE及其属性](http://msdn.microsoft.com/zh-cn/library/aa371182(v = vs .85).aspx) – Buzka91 2014-10-17 08:20:06

回答

0

你可以用的MSI的每个模块单独的一行开始。在集合中分配匹配的版本号可以帮助用户做出关于升级的决定。具有WiX DTF的自定义EXE UI可以提供升级/保留/安装它现在的选项