繁体   English   中英

如何使用wix bootstrapper修改msi的已安装功能?

[英]How to modify the installed features of msi with wix bootstrapper?

我试图在wix bootstrapper程序中调用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标准的bootsrapper应用程序目前不支持msi功能选择。 目前,获得它的唯一方法是创建自定义引导程序应用程序。 有人谈到这一点上WiX的邮件列表 时间 Rob Mensching是项目负责人,Bob Arnson目前负责管理3.x分支。

本指南: 使用WiX编写自己的基于.Net的安装程序是我在WPF中构建一个安装程序的最佳资源。 实际的WiX源代码也非常有用。 但这是一项非常重要的任务。

我没有与您分享的示例项目,但我上面提到的博客文章确实有一个“处理当前和未来状态”部分,它描述了如何执行此操作。 我认为这真的是一个了不起的资源。

另外,请看这个问题: Custom WiX Burn bootstrapper用户界面?

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

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

烧毁GUI

Burn GUI与MSI-GUI非常不同。 这是一个较旧的类似答案

另请参阅以下答案中的评论:


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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM