我试图在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">&Repair</String>
<String Id="ModifyUninstallButton">&Uninstall</String>
<String Id="ModifyCloseButton">&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选项,则不会具有该选项。