I have a problem with an .msi i'm hoping someone can hekp me with.

I have an MSI that I have created a Transform for, without too much trouble, and seems to install and work OK, but my problem is this:

I have some HKCU registry keys, that need to be applied when a user logs in. After messing with Self Healing for a while, I found the best way forward was to use Active Setup.

As i said previously, I install the application with Admin rights, and the install is OK, however when a standard user logs in, I am trying to run the following 'repair' command line:

msiexec /i {1A00F663-6D5E-4AAC-83CD-7D26C23412BB} REINSTALL=CurrentUser MAPS_DB_SERVER="SERVER1" MAPS_DB_UC="DATABASE1" /qb! /l*v c:\log\test.log

This runs successfully, but when I look at the newly created registry keys, the values for MAPS_DB_SERVER and MAPS_DB_UC have not been used. Instead their relevant registry entries just have an empty key, without the values I have specified on the command line.

When I look in my log file, I get the following lines which I think are relevant:

MSI (s) (7C:58) [17:21:46:605]: Running product '{1A00F663-6D5E-4AAC-83CD-7D26C23412BB}' with elevated privileges: Product is assigned.
MSI (s) (7C:58) [17:21:46:605]: Machine policy value 'EnableUserControl' is 0
MSI (s) (7C:58) [17:21:46:605]: PROPERTY CHANGE: Adding RestrictedUserControl property. Its value is '1'.
MSI (s) (7C:58) [17:21:46:605]: PROPERTY CHANGE: Adding REINSTALL property. Its value is 'CurrentUser'.
MSI (s) (7C:58) [17:21:46:605]: Ignoring disallowed property MAPS_DB_SERVER
MSI (s) (7C:58) [17:21:46:605]: Ignoring disallowed property MAPS_DB_UC

The whole point of this is that a standard user has access to the HKCU registry keys, preventing the need for Elevated/Admin rights.

For Info, this is running on SMS 2003, on a XP SP2 Client, Windows Installer v3.1

Any help is grately Appreciated.
0 Comments   [ + ] Show Comments


Please log in to comment

Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.


G'Day Beefy66,

Some checks, what happens when you run the command line manually from admin login? Does it populate those keys?
If the keys already exist then the REINSTALL won't replace them. I'm assuming CurrentUser is a feature you've created. Maybe you could put a remove registry entry in your mst so that they are not created until your AS runs.

Answered 01/23/2008 by: WayneB
Blue Belt

Please log in to comment

Thanks for your reply.

If I run the command manually from an Admin account, the registry keys are created properly, and the properties are substituted as they should. All the registry keys are created properly.

CurrentUser is a feature I have created, but in this specific situation I have been making sure these registry keys do not exist before the repair runs, so the information you have provided on the repair doesn't really apply in this situation. Once I have got the basic registry keys to work, I'll be looking at something like you have suggested.
Answered 01/24/2008 by: beefy66
Orange Belt

Please log in to comment

I have managed to fix this now. It turns out it was a simple as this:

The MAPS_DB_SERVER and MAPS_DB_UC properties had not been declared in the properties table, even thought they were referenced in the Install. Seems so obvious now. I thought seeing as the app was vendor supplied that this would of already been done, its such an obvious thing.

Thanks for your help anyway.
Answered 01/24/2008 by: beefy66
Orange Belt

Please log in to comment
ORIGINAL: beefy66
I thought seeing as the app was vendor supplied that this would [of] have already been done

LOL...you'll learn. Vendors are, as a rule, pretty bad at this stuff. Take nothing for granted and always be ready to fix-up their junk.
Answered 01/24/2008 by: VBScab
Red Belt

Please log in to comment
Answer this question or Comment on this question for clarity