如何使用wix bootstrapper修改msi的已安装特性



我试图在wix引导程序中调用msi。安装时工作正常。并且已正确安装选定的功能。但安装后,我试图修改已安装的功能。在控制面板上有一个更改按钮。但是当我点击它,然后它显示一个对话框修复,卸载,取消按钮。没有修改按钮来修改安装程序的功能。

如果有,请说明解决方法。

Bootstrappertheme中的

代码。wxl是

  <!-- Modify dialog -->
  <String Id="ModifyHeader">Modify Setup</String>
  <String Id="ModifyNotice">[WixBundleName] is already installed on this machine. If it's not working correctly, you may repair it. You may also uninstall it.</String>
  <String Id="ModifyRepairButton">&amp;Repair</String>
  <String Id="ModifyUninstallButton">&amp;Uninstall</String>
  <String Id="ModifyCloseButton">&amp;Cancel</String>

wix标准引导程序应用程序目前不支持msi功能选择。目前,获得它的唯一方法是创建一个自定义引导程序应用程序。人们已经在WiX邮件列表上多次询问过这个问题。Rob Mensching是项目负责人,Bob Arnson目前管理3。x分支。

这个指南:用WiX编写你自己的基于。net的安装程序是我所知道的在WPF中构建一个的最好的资源。实际的WiX源代码也非常有用。这是一项非常艰巨的任务。

我没有一个示例项目与你分享,但我上面提到的博客文章确实有一个章节"处理电流&FUTURE STATE",它描述了如何做到这一点。我认为它确实是一个极好的资源。

另外,看看这个问题:自定义WiX刻录引导程序的用户界面?

燃烧GUI

Burn GUI与MSI-GUI非常不同。

请参阅以下回答中的评论:

  • 自定义GUI
  • 更改文本颜色为Wix对话框
  • 自定义WiX管理引导程序应用程序

MSI文件

MSI文件使用什么对话集?您是否尝试启用高级对话集?我还没试过:http://wixtoolset.org/documentation/manual/v3/wixui/dialog_reference/wixui_advanced.html

WixUI对话框:http://wixtoolset.org/documentation/manual/v3/wixui/dialog_reference/wixui_dialogs.html

教程:http://wix.tramontana.co.hu/tutorial/user-interface/ui-wizardry

可以使用Orca (http://support.microsoft.com/kb/255905)编辑MSI并将其重新保存,以便无需在wix中进行特殊配置,即可自动在程序和功能中具有修改选项。当从头开始创建MSI(例如使用InstallShield)时,用户可以指定可用的选项。应该有一种编辑文件的方法来完成同样的事情。

当你从程序和功能菜单中打开"更改"功能时,它会在维护模式下重新运行缓存版本的MSI安装程序。不管什么程序引导MSI (wix vs InstallShield), MSI是Windows唯一知道的东西。如果没有将其配置为具有Modify选项,则不会具有该选项。

最新更新