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

白昼怎懂夜的黑 提交于 2019-12-06 04:13:13

问题


I am trying to call a msi inside wix bootstrapper program.It is working properly at the time of installation.And selected features are installed properly.But after installation i am trying to modify the installed features.In the control panel there is change button.But when i click it then it is showing a dialog with Repair, uninstall, cancel buttons.There is no modify button for modifying the features of installer.

Please specify the solution if any.

code inside Bootstrappertheme.wxl is

  <!-- 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>

回答1:


The wix standard bootsrapper application does not currently support msi feature selection. Currently, the only way to get it is to create a custom bootstrapper application. People have asked about this on the WiX mailing list multiple times. Rob Mensching is the project leader, and Bob Arnson currently manages the 3.x branch.

This guide: Writing Your Own .Net-based Installer with WiX is the best resource I know about for building one in WPF. The actual WiX source code is very helpful as well. It's a very big task though.

I don't have a sample project to share with you, but the blog post I mentioned above does have a section "HANDLING CURRENT & FUTURE STATE" which describes how to do this. I think it really is a terrific resource.

Also, see this question: Custom WiX Burn bootstrapper user interface?




回答2:


It might be possible to use Orca (http://support.microsoft.com/kb/255905) to edit the MSI and resave it so that it, without special configuration in wix, automatically has the Modify option in Programs and Features. When creating an MSI from scratch (using InstallShield for example), the user can specify which options are available. There should be a way to edit the file to accomplish the same thing.

When you open up the "Change" feature from the Programs and Features menu, it reruns a cached version of the MSI installer in maintenance mode. Regardless of what program is bootstrapping the MSI (wix vs InstallShield), the MSI is the only thing that Windows knows about. If it is not configured to have a Modify option, it won't have it.




回答3:


Burn GUI

Burn GUI is very different from MSI-GUI. Here is an older, similar answer

Please also see comments in these answers:

  • On customized GUI
  • Changing text color to Wix dialogs
  • Custom WiX Managed Bootstrapper Application

MSI File

What dialog set are you using for the MSI files? Have you tried enabling the advanced dialog set? I haven't tried it yet: http://wixtoolset.org/documentation/manual/v3/wixui/dialog_reference/wixui_advanced.html

WixUI Dialogs: http://wixtoolset.org/documentation/manual/v3/wixui/dialog_reference/wixui_dialogs.html

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



来源:https://stackoverflow.com/questions/22508608/how-to-modify-the-installed-features-of-msi-with-wix-bootstrapper

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!