Wix安装程序,Windows控制面板显示2个条目,卸载显示为灰色

问题描述 投票:2回答:2

所以我正在接管一个预先存在的安装程序项目,但我真的不太了解Wix和安装程序,所以我只是想知道这个安装程序中我应该研究哪些方面。

我有这个问题,我的Wix安装程序生成的.msi正确安装。但在Windows 10上,“应用和功能”页面显示了我的应用的2个条目,并且这两个条目的“卸载”按钮都显示为灰色。

我很遗憾.wxs的哪一部分负责控制面板中显示的内容,任何帮助都将受到赞赏。

wix window windows-installer installer
2个回答
1
投票

WiX快速入门:WiX并不值得学习 - 有一个学习曲线,但它也不是火箭科学。也许我可以建议this WiX quick start recommentations piece(混乱,但赞成 - 必须有帮助)。特别是“Hello World”部分可能会有所帮助 - 如果您不了解WiX。

答案:关于具体问题:

  • 重大升级失败:Add / Remove Programs中的两个条目通常意味着主要升级失败,因此现在有两个已安装的产品版本而不是一个(从技术上讲,主要升级是卸载旧版本并安装新版本 - 在罩)。以下是关于这个主题的长篇答案:Doing Major Upgrade in Wix creates 2 entries in Add/Remove Programs
  • 嵌入式Setup.exe:MSI也可以安装传统风格的setup.exe作为其自身安装的一部分。这可能导致Add / Remove Programs中的几个条目。
  • MajorUpgrade:显然,要修复您需要查看WiX源的主要升级。通常人们使用MajorUpgrade元素来配置主要升级(使用其他元素有更详细的选项)。有关详细信息,请参阅下面的单独部分。
  • 产品代码:如果您安装了同一产品的两个版本,则它们具有不同的产品代码。要查找产品代码,请执行以下建议:How can I find the product GUID of an installed MSI setup?获得产品代码后,可以通过msiexec.exe命令行卸载。
  • 卸载:您可以通过多种方式卸载MSI文件,这里有一个参考:Uninstalling an MSI file from the command line without using msiexec。建议你在第3节中使用msiexec.exe,如下: msiexec.exe /x {Product-Code}

WiX主要升级:WiX推出了一个“便利元素”来控制重大升级。我们的想法是让实施变得更容易。以下是一些细节:Majorupgrade or Upgrade ID which is preferred for Major upgrade?

内联:

<MajorUpgrade DowngradeErrorMessage="Can’t downgrade." />

正如您所看到的,更新的方法更容易处理,而旧的方法允许完全的灵活性。我不知道您的来源使用哪种方法。

主要升级技术:主要升级的关键问题是升级代码保持稳定(有些方法可以不用,但暂时不做)。此外,您还需要一个新的产品代码,一个产品版本(前三位数之一)和一个新的包装代码。如果未能进行任何这些更改,您可以在“添加/删除程序”中获得两个条目(运行时升级失败)。


一些链接:


0
投票

感谢SteinÅsmul提供的文档链接。我能够弄清楚为什么我的msi正在做它正在做的事情。

主.wxs禁用了属性删除

<Property Id="ARPNOREMOVE" Value="1" />

因此删除它允许我再次从Windows控制面板卸载。

之前在控制面板中显示2个条目的原因是我们在文件夹中添加了一堆注册表项

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\

在这里需要一些注册表项有一些原因,但至少现在我知道为什么我可以希望解决它们。希望这有助于将来可能遇到来自干净安装的重复条目问题的任何人。

© www.soinside.com 2019 - 2024. All rights reserved.