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

Reply via email to