I have an interesting scenario that I cannot figure out.  This takes place
under Vista - XP doesn't seem to have this problem.
The application I have is using a slightly modified version of the
WixUI_Advanced installer - all I have done is add an addition, very simple
dialog.

I have two user accounts on the same Vista machine.  User A is an admin, and
User B has a standard user account.
My install has two parts: the first is a bootstrap install that requires
admin privileges, and the second part that can be installed for either the
current user or all users.  The idea is that the bootstrap install should
only need to be done once (by an admin), then everyone on that machine can
chose to install the second part as they wish.

I start with User A, and do the install.  The bootstrap install runs fine,
and when I then install the second part, I choose to do a PerUser install.
No problems, all installs well.

I now switch to User B (non-admin).  I run the same installer, which skips
the bootstrap install (already there for all users) and goes straight to the
second part.  I notice that as I go through the install, when I get to the
InstallScopeDlg, that it gives me the choice of installing for either the
current user or all users.  This in itself is kind of odd, because User B
(as a non-admin) should not be offered the choice.  In XP the user is shown
a screen that states that he can only install for the current user.

I choose to install for the current user (PerUser), and when the install is
executed, it prompts me for the admin credentials of User A (admin). ???  If
I provide these credentials, the install completes, with the file installed
correctly for the current user.

When I check the install log for User B, I see the following (I have "XXXX"
the text that is specific to my client's product):

...
MSI (c) (10:78) [18:54:32:252]: SHELL32::SHGetFolderPath returned:
C:\Users\Public\Desktop
MSI (c) (10:78) [18:54:32:252]: SHELL32::SHGetFolderPath returned:
C:\Windows\Fonts
MSI (c) (10:78) [18:54:32:252]: Note: 1: 2898 2: MS Sans Serif 3: MS Sans
Serif 4: 0 5: 16 
MSI (c) (10:78) [18:54:32:262]: MSI_LUA: Setting AdminUser property to 1
because this is the client or the user has already permitted elevation
MSI (c) (10:78) [18:54:32:262]: PROPERTY CHANGE: Adding AdminUser property.
Its value is '1'.
MSI (c) (10:78) [18:54:32:262]: PROPERTY CHANGE: Adding Privileged property.
Its value is '1'.
MSI (c) (10:78) [18:54:32:262]: Note: 1: 1402 2:
HKEY_CURRENT_USER\Software\Microsoft\MS Setup (ACME)\User Info 3: 2 
MSI (c) (10:78) [18:54:32:262]: PROPERTY CHANGE: Adding USERNAME property.
Its value is 'IETester'.
MSI (c) (10:78) [18:54:32:262]: Note: 1: 1402 2:
HKEY_CURRENT_USER\Software\Microsoft\MS Setup (ACME)\User Info 3: 2 
MSI (c) (10:78) [18:54:32:262]: PROPERTY CHANGE: Adding DATABASE property.
Its value is 'C:\Users\TestAcct\AppData\Local\Temp\61d10b.msi'.
MSI (c) (10:78) [18:54:32:262]: PROPERTY CHANGE: Adding OriginalDatabase
property. Its value is
'C:\Users\TestAcct\Desktop\XXXX-setup-0.9.1.1-Oct242009-1615hrsPST\New
Folder\Theme.msi'.
MSI (c) (10:78) [18:54:32:262]: PROPERTY CHANGE: Adding SourceDir property.
Its value is
'C:\Users\TestAcct\Desktop\XXXX-setup-0.9.1.1-Oct242009-1615hrsPST\New
Folder\'.
MSI (c) (10:78) [18:54:32:262]: PROPERTY CHANGE: Adding SOURCEDIR property.
Its value is
'C:\Users\TestAcct\Desktop\XXXX-setup-0.9.1.1-Oct242009-1615hrsPST\New
Folder\'.
MSI (c) (10:0C) [18:54:32:272]: PROPERTY CHANGE: Adding VersionHandler
property. Its value is '4.00'.
...

>From above I see that:
- IETester is the name of the Admin User A, not User B (which is TestAcct).
- AdminUser property is set to 1
- Privileged property is set to 1

So it appears that even though I am installing for just the current user
(User B), the install is using the credentials and permissions of UserA to
perform the install.  Even though it does later determine the correct paths
for UserB when copying the various files for the install.

So what I need to know is:
1) Why is this happening?
2) Is there a way to turn this off?  We don't want users to be presented
with the prompt to verify admin credentials when doing a PerUser install.
In fact a non-admin should not get the choice in the InstallScopeDlg (just
as in XP).
3) If UserA (admin) does do a PerMachine install, then installations by
later users should go to Maintenance mode directly.

Does anyone have any insight into this?

Thanks,

Andreas Mertens


------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay 
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to