MSI overwriting transform properties
I'm having an issue with a package Foxit reader enterprise edition. I created a transform to set two properties. VIEW_IN_BROWSER=0 and DESKTOP_SHORTCUT=0 This works. As soon as I create an AIP the msi overwrites the properties. If I set the properties in the command line it works. I have verified that the transform is getting applied. I've looked at the log files for both installs but I don't see the issue other than the AIP install shows the properties being set back to what's in the MSI. I could just set them in the MSI without a transform and that's what I'll do if I can't get this figured out but it's bad practice and a last resort. Is this an issue with the Microsoft installer?
MSI (s) (FC:60) [10:01:11:095]: PROPERTY CHANGE: Adding TRANSFORMS property. Its value is 'C:\ff\test.mst'.
MSI (s) (FC:60) [10:01:11:095]: Product Code passed to Engine.Initialize: ''
MSI (s) (FC:60) [10:01:11:095]: Product Code from property table before transforms: '{3F03D2EF-8CCE-4A10-877F-2153C5E8D02E}'
MSI (s) (FC:60) [10:01:11:095]: Product Code from property table after transforms: '{3F03D2EF-8CCE-4A10-877F-2153C5E8D02E}'
MSI (s) (FC:60) [10:01:11:095]: Product not registered: beginning first-time install
MSI (s) (FC:60) [10:01:11:095]: Product {3F03D2EF-8CCE-4A10-877F-2153C5E8D02E} is not managed.
MSI (s) (FC:60) [10:01:11:095]: MSI_LUA: Credential prompt not required, user is an admin
MSI (s) (FC:60) [10:01:11:095]: PROPERTY CHANGE: Adding ProductState property. Its value is '-1'.
MSI (s) (FC:60) [10:01:11:095]: Entering CMsiConfigurationManager::SetLastUsedSource.
MSI (s) (FC:60) [10:01:11:095]: User policy value 'SearchOrder' is 'nmu'
MSI (s) (FC:60) [10:01:11:095]: Adding new sources is allowed.
MSI (s) (FC:60) [10:01:11:095]: PROPERTY CHANGE: Adding PackagecodeChanging property. Its value is '1'.
MSI (s) (FC:60) [10:01:11:095]: Package name extracted from package path: 'FoxitReader556.msi'
MSI (s) (FC:60) [10:01:11:095]: Package to be registered: 'FoxitReader556.msi'
MSI (s) (FC:60) [10:01:11:095]: PROPERTY CHANGE: Modifying DESKTOP_SHORTCUT property. Its current value is '0'. Its new value: '1'.
MSI (s) (FC:60) [10:01:11:095]: PROPERTY CHANGE: Modifying VIEW_IN_BROWSER property. Its current value is '0'. Its new value: '1'.
MSI (s) (FC:60) [10:01:11:095]: PROPERTY CHANGE: Adding IsAdminPackage property. Its value is '1'.
Answers (7)
I love it when I learn something new. I just wish it wouldn't take so long to figure out sometimes.
The problem was the AdminProperties in the property table.
According to MS:
"The installer saves the values of these listed properties at the time of an administrative installation. When users install from the administrative image, the installation uses the saved values of the properties, rather than the values in the .msi file."
So when creating the AIP it was saving the original values of the DESKTOP_SHORTCUT and VIEW_IN_BROWSER which was 1.
When creating the AIP I set the values of those two properties to 0
check if any custom action is changing your property and disable that custom action?
Comments:
-
Wouldn't this show up in the log file? As a test I even changed the property values in the MSI and the changes were overwritten. It looks like if you create and AIP the only way to set those properties is through the command line. - joedown 11 years ago
Besides the changes VIEW_IN_BROWSER=0 and DESKTOP_SHORTCUT=0 you made in the Property Table you have to remove the Properties
_CreateDesktopShortCut and _View_In_Browser
After that the AIP will be correct.
Comments:
-
I tried as you suggested but that didn't make any difference. Why would creating an AIP cause the transform to no longer work? It appears to only obey properties set in the command line. - joedown 11 years ago