1
votes

I have a WIX installer which writes a set of registry keys. Now there is one user which does not gets the registry keys written even though the installer log shows no error.

This works fine for this specific user and these registry keys are written:

MSI (s) (DC:D8) [11:43:29:329]: Executing op: RegOpenKey(Root=-2147483646,Key=SOFTWARE\Microsoft\Office\Outlook\Addins\MySoftware,,BinaryType=0,,) MSI (s) (DC:D8) [11:43:29:329]: Executing op: RegAddValue(Name=LoadBehavior,Value=#3,) WriteRegistryValues: Key: \SOFTWARE\Microsoft\Office\Outlook\Addins\MySoftware, Name: LoadBehavior, Value: #3 MSI (s) (DC:D8) [11:43:29:330]: Executing op: RegAddValue(Name=Description,Value=MySoftware Outlook Add-in,) WriteRegistryValues: Key: \SOFTWARE\Microsoft\Office\Outlook\Addins\MySoftware, Name: Description, Value: MySoftware Outlook Add-in MSI (s) (DC:D8) [11:43:29:331]: Executing op: RegAddValue(Name=FriendlyName,Value=MySoftware Outlook Add-in,) WriteRegistryValues: Key: \SOFTWARE\Microsoft\Office\Outlook\Addins\MySoftware, Name: FriendlyName, Value: MySoftware Outlook Add-in

However the part below does not work fine, and the specific user cannot find the registry key "SS_MySetting" anywhere in the registry:

MSI (s) (DC:D8) [11:43:29:333]: Executing op: RegOpenKey(Root=-2147483646,Key=SOFTWARE\Policies\MySoftware,,BinaryType=0,,) MSI (s) (DC:D8) [11:43:29:334]: Executing op: RegAddValue(Name=SS_MySetting,Value=#0,) WriteRegistryValues: Key: \SOFTWARE\Policies\MySoftware, Name: SS_MySetting, Value: #0

The MSI is running in elevated mode (the user is an admin on Win7 64-bit machine) which is required to write to the HKLM\SOFTWARE\Policies part of the registry.

MSI (s) (DC:D8) [11:43:29:015]: Machine policy value 'AlwaysInstallElevated' is 0 MSI (s) (DC:D8) [11:43:29:015]: User policy value 'AlwaysInstallElevated' is 0 MSI (s) (DC:D8) [11:43:29:015]: Product installation will be elevated because user provided elevated credentials and product is being installed per-machine. MSI (s) (DC:D8) [11:43:29:015]: Running product '{myguid}' with elevated privileges: Product is assigned.

Any clue why this specific user's installation does not write to the registry even though the MSI log file indicates the opposite? Has anyone seen anything similar?

Please note that there is only 1 user which has this problem and that over 1000 other users do not.

Many thanks.

1
Could it be a registry permission issue? The installer, running elevated, could have full access to the portion of the registry, but the user running non-elevated might not have read access?bradfordrg

1 Answers

2
votes

I have never, ever in 16 years seen an MSI log that is "wrong" Odds are that:

1) You don't understand the difference between the 32bit and 64bit registry hives (SOFTWARE\ vs SOFTWARE\Wow6432node ) and are looking in the wrong place

or

2) Some custom action or other process is coming in behind MSI and undoing it.

I have 99% odds on #1.