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

时间:2019-04-04 19:18:06

标签: wix window windows-installer installer

因此,我要接管一个预先存在的安装程序项目,但实际上我对Wix和安装程序并不了解太多,因此我只是想了解一下该安装程序中的哪些方面我应该研究。

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

我非常迷失.wxs的哪个部分负责控制面板中显示的内容,我们将不胜感激。

2 个答案:

答案 0 :(得分: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
  • Embedded Setup.exe :作为MSI的一部分,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." />

如您所见,较新的方法更容易处理,而较旧的方法则具有完全的灵活性。我不知道您的来源使用哪种方法。

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


某些链接

答案 1 :(得分:0)

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

主.wxs禁用了带有属性的删除

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

因此,删除它使我可以再次从Windows控制面板中卸载。

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

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

这里有一些注册表项背后的原因,但至少现在我知道为什么希望能够解决这些问题。希望这对将来可能会遇到来自全新安装的重复条目问题的人有所帮助。