I'm not sure if my previous reply went through, so I'll try again. My first try was using the standard bootstrapper, and after looking through more of the source found that the UI level is being set in the engine in MsiEngineCalculateInstallLevel. There is related code in MsiEnginePlanAddPackage and WiuInitializeExternalUI.
Per RobM's suggestion I wrote a custom managed bootstrapper using WixBA as a guide, which was fun. But I still can't figure out how to change the UI level used for the .msi, other than setting MsiPackage/DisplayInternalUI. I did try adding an MsiProperty child to MsiPackage called CLIENTUILEVEL and set it to 2 (vs. default value of 0), but the command line to the MSI came out as follows : (log excerpt) Command Line: ALLUSERS=1 ARPSYSTEMCOMPONENT=1 MSIFASTINSTALL=7 CLIENTUILEVEL=2 REBOOT=ReallySuppress CURRENTDIRECTORY=C:\wix\Bootstrapper1\bin\Debug CLIENTUILEVEL=0 MSICLIENTUSESEXTERNALUI=1 CLIENTPROCESSID=6876 But only the last instance of CLIENTUILEVEL was effective, as shown in the log below : PROPERTY CHANGE: Adding CLIENTUILEVEL property. Its value is '2'. [...] PROPERTY CHANGE: Modifying CLIENTUILEVEL property. Its current value is '2'. Its new value: '0'. Is there a way to set the MSI's UI level in a custom BA ? If so, I can't seem to find it. Should I open a feature request ? Thanks for any assistance ! -Rob From: YANG,ROBERT (Non-A-SantaClara,ex1) Sent: Thursday, March 22, 2012 9:18 AM To: 'wix-users@lists.sourceforge.net' Subject: RE[2]: Burn: uninstalling an MSI Some further research after looking at some logs : when I install the .msi via "msiexec /I msiFileName.msi", CLIENTUILEVEL=0, which I guess is full UI. When uninstalling via the command line below, CLIENTUILEVEL=2 and UILevel=3 (INSTALLUILEVEL_BASIC). So I guess my question is how to get burn to use a different CLIENTUILEVEL for installation vs. uninstallation ? From: YANG,ROBERT Sent: Thursday, March 22, 2012 8:51 AM To: 'wix-users@lists.sourceforge.net' Subject: Burn: uninstalling an MSI Hi all -- I've been tinkering with Wix 3.6 (build 2719), and set up a test bundle which installs a .msi package. I wanted the msi's user interface to be displayed, so I specified DisplayInternalUI="yes" in MsiPackage. This all seems to work fine for installation. On uninstallation I wanted to disable change/modify, so I specified DisableModify="yes" in the bundle. When I go to uninstall the bundle, rather unexpectedly I see the Resume dialog. The .msi uses the stock version found in Mondo, which apparently is shown on condition "Installed AND (RESUME OR Preselected)". The Resume dialog is not shown if I simply run "msiexec /x msiFileName.msi" or do an uninstall of the MSI from Add/Remove Programs. Is there something else I should be doing ? It would be fine to run the uninstall silently, but we need to have the UI shown on installation. Thanks for any advice or pointers ! -Rob ------------------------------------------------------------------------------ This SF email is sponsosred by: Try Windows Azure free for 90 days Click Here http://p.sf.net/sfu/sfd2d-msazure _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users