MSI overrides MST Properties
This one is killing me. I'm trying to create a neat SMS Advanced Client package. I've generated a transform with a few public properties set the way I want yet the install reverts the values back to defaults (see below log extract)
MSI (s) (14:E8) [12:05:16:237]: Transforming table Property.
MSI (s) (14:E8) [12:05:16:237]: Command Line: TRANSFORMS=Microsoft_SMSAdvancedClient_2.50.4253.3000_01b.MST CURRENTDIRECTORY=C:\Documents and Settings\user1 CLIENTUILEVEL=2 CLIENTPROCESSID=400
MSI (s) (14:E8) [12:05:16:237]: PROPERTY CHANGE: Adding TRANSFORMS property. Its value is 'Microsoft_SMSAdvancedClient_2.50.4253.3000_01.MST'.
MSI (s) (14:E8) [12:05:16:237]: Product Code passed to Engine.Initialize: '
MSI (s) (14:E8) [12:05:16:237]: Product Code from property table before transforms: '{4A39A27F-005B-407E-8CF5-F4D8065658E4}'
MSI (s) (14:E8) [12:05:16:237]: Product Code from property table after transforms: '{4A39A27F-005B-407E-8CF5-F4D8065658E4}'
MSI (s) (14:E8) [12:05:16:237]: Product not registered: beginning first-time install
MSI (s) (14:E8) [12:05:16:237]: PROPERTY CHANGE: Adding ProductState property. Its value is '-1'.
MSI (s) (14:E8) [12:05:16:237]: Entering CMsiConfigurationManager::SetLastUsedSource.
MSI (s) (14:E8) [12:05:16:237]: User policy value 'SearchOrder' is 'nmu'
MSI (s) (14:E8) [12:05:16:237]: Adding new sources is allowed.
MSI (s) (14:E8) [12:05:16:237]: PROPERTY CHANGE: Adding PackagecodeChanging property. Its value is '1'.
MSI (s) (14:E8) [12:05:16:237]: Package name extracted from package path: 'Client.MSI'
MSI (s) (14:E8) [12:05:16:237]: Package to be registered: 'Client.MSI'
MSI (s) (14:E8) [12:05:16:237]: PROPERTY CHANGE: Deleting SMSCONFIGSOURCE property. Its current value is 'P'.
MSI (s) (14:E8) [12:05:16:237]: PROPERTY CHANGE: Deleting SMSPREFERREDCLIENT property. Its current value is 'Remote'.
MSI (s) (14:E8) [12:05:16:237]: PROPERTY CHANGE: Deleting SMSSITECODE property. Its current value is 'SSL'.
MSI (s) (14:E8) [12:05:16:237]: PROPERTY CHANGE: Deleting SMSNOWINSLOOKUP property. Its current value is 'TRUE'.
MSI (s) (14:E8) [12:05:16:237]: PROPERTY CHANGE: Modifying SMSCACHESIZE property. Its current value is '2500000'. Its new value: '250'.
MSI (s) (14:E8) [12:05:16:237]: PROPERTY CHANGE: Modifying DISABLESITEOPT property. Its current value is 'TRUE'. Its new value: 'Default'.
MSI (s) (14:E8) [12:05:16:237]: PROPERTY CHANGE: Adding IsAdminPackage property. Its value is '1'.
MSI (s) (14:E8) [12:05:16:237]: PROPERTY CHANGE: Adding DISABLEMEDIA property. Its value is '1'.
As you can see, it does PROPERTY CHANGE: Deleting..... and PROPERTY CHANGE: Modifying.... these are making my settings void.
This is occuring before "InstallUISequence" or "InstallExecuteSequence" runs so I can't see that a custom action is causing it.
If I run "msiexec /i P:\Packages\SMS\client.msi SMSCACHESIZE=2500 /qb!" (just 1 of the properties I'm trying to set in the transform) it installs and, wouldn't you know it, the Cache size for the client get's set to 2500Mb as it should.
Any ideas as to why the msi will accept properties from the command line yet add them to a transform and it goes and overwrites them with the default values (or removes them all together)?
MSI (s) (14:E8) [12:05:16:237]: Transforming table Property.
MSI (s) (14:E8) [12:05:16:237]: Command Line: TRANSFORMS=Microsoft_SMSAdvancedClient_2.50.4253.3000_01b.MST CURRENTDIRECTORY=C:\Documents and Settings\user1 CLIENTUILEVEL=2 CLIENTPROCESSID=400
MSI (s) (14:E8) [12:05:16:237]: PROPERTY CHANGE: Adding TRANSFORMS property. Its value is 'Microsoft_SMSAdvancedClient_2.50.4253.3000_01.MST'.
MSI (s) (14:E8) [12:05:16:237]: Product Code passed to Engine.Initialize: '
MSI (s) (14:E8) [12:05:16:237]: Product Code from property table before transforms: '{4A39A27F-005B-407E-8CF5-F4D8065658E4}'
MSI (s) (14:E8) [12:05:16:237]: Product Code from property table after transforms: '{4A39A27F-005B-407E-8CF5-F4D8065658E4}'
MSI (s) (14:E8) [12:05:16:237]: Product not registered: beginning first-time install
MSI (s) (14:E8) [12:05:16:237]: PROPERTY CHANGE: Adding ProductState property. Its value is '-1'.
MSI (s) (14:E8) [12:05:16:237]: Entering CMsiConfigurationManager::SetLastUsedSource.
MSI (s) (14:E8) [12:05:16:237]: User policy value 'SearchOrder' is 'nmu'
MSI (s) (14:E8) [12:05:16:237]: Adding new sources is allowed.
MSI (s) (14:E8) [12:05:16:237]: PROPERTY CHANGE: Adding PackagecodeChanging property. Its value is '1'.
MSI (s) (14:E8) [12:05:16:237]: Package name extracted from package path: 'Client.MSI'
MSI (s) (14:E8) [12:05:16:237]: Package to be registered: 'Client.MSI'
MSI (s) (14:E8) [12:05:16:237]: PROPERTY CHANGE: Deleting SMSCONFIGSOURCE property. Its current value is 'P'.
MSI (s) (14:E8) [12:05:16:237]: PROPERTY CHANGE: Deleting SMSPREFERREDCLIENT property. Its current value is 'Remote'.
MSI (s) (14:E8) [12:05:16:237]: PROPERTY CHANGE: Deleting SMSSITECODE property. Its current value is 'SSL'.
MSI (s) (14:E8) [12:05:16:237]: PROPERTY CHANGE: Deleting SMSNOWINSLOOKUP property. Its current value is 'TRUE'.
MSI (s) (14:E8) [12:05:16:237]: PROPERTY CHANGE: Modifying SMSCACHESIZE property. Its current value is '2500000'. Its new value: '250'.
MSI (s) (14:E8) [12:05:16:237]: PROPERTY CHANGE: Modifying DISABLESITEOPT property. Its current value is 'TRUE'. Its new value: 'Default'.
MSI (s) (14:E8) [12:05:16:237]: PROPERTY CHANGE: Adding IsAdminPackage property. Its value is '1'.
MSI (s) (14:E8) [12:05:16:237]: PROPERTY CHANGE: Adding DISABLEMEDIA property. Its value is '1'.
As you can see, it does PROPERTY CHANGE: Deleting..... and PROPERTY CHANGE: Modifying.... these are making my settings void.
This is occuring before "InstallUISequence" or "InstallExecuteSequence" runs so I can't see that a custom action is causing it.
If I run "msiexec /i P:\Packages\SMS\client.msi SMSCACHESIZE=2500 /qb!" (just 1 of the properties I'm trying to set in the transform) it installs and, wouldn't you know it, the Cache size for the client get's set to 2500Mb as it should.
Any ideas as to why the msi will accept properties from the command line yet add them to a transform and it goes and overwrites them with the default values (or removes them all together)?
0 Comments
[ + ] Show comments
Answers (12)
Please log in to answer
Posted by:
Inabus
16 years ago
[font="times new roman"]I would re-create the transform again to ensure it isnt bugged. Once that was done I would try the transform with my single modification to the property.
Depending on this worked would depend on if I then tried modifying the MSI itself without a transform, obviously using a copy.
Also I noticed :
MSI (s) (14:E8) [12:05:16:237]: PROPERTY CHANGE: Modifying SMSCACHESIZE property. Its current value is '2500000'. Its new value: '250'.
[font="times new roman"]What is the value your expecting? 2500000? because in your command line you use 2500 so in both cases [font="times new roman"]2500000 and 250 its not matching what your putting into the command line?
Depending on this worked would depend on if I then tried modifying the MSI itself without a transform, obviously using a copy.
Also I noticed :
MSI (s) (14:E8) [12:05:16:237]: PROPERTY CHANGE: Modifying SMSCACHESIZE property. Its current value is '2500000'. Its new value: '250'.
Posted by:
bubbdj
16 years ago
Sorry, I should have mentioned that I've tried:
The 2500000/2500/250 thing - 250 (meaning 250Mb) is the default value. I made a little mistake early on trying to set the property to 2.5Gb and put 2500000 (which would be 250TB wouldn't it?) instead of 2500. The extract I posted is from a log before I realised what I'd done with the value. That rediculious value (2500000) does actually work though when used in the command-line, it just results in the client being set to use all available disk space (eg. 13.4Gb free space on C: means it sets the cache size to that). So, what I really want is for SMSCACHESIZE to be 2500, not 250 or 2500000.
Thanks for your suggestions. I'll keep playing with it and past any new findings. I might revert to a custom action (using VBScript and the SMS Client API) to set the values after the commit phase. If do have any other ideas please let me know.
Thanks again.
- New transforms (using ORCA and InstallShield) - same result
- Applying the changes directly in to the MSI - same result
- Multiple variations on the transform properties - same result
The 2500000/2500/250 thing - 250 (meaning 250Mb) is the default value. I made a little mistake early on trying to set the property to 2.5Gb and put 2500000 (which would be 250TB wouldn't it?) instead of 2500. The extract I posted is from a log before I realised what I'd done with the value. That rediculious value (2500000) does actually work though when used in the command-line, it just results in the client being set to use all available disk space (eg. 13.4Gb free space on C: means it sets the cache size to that). So, what I really want is for SMSCACHESIZE to be 2500, not 250 or 2500000.
Thanks for your suggestions. I'll keep playing with it and past any new findings. I might revert to a custom action (using VBScript and the SMS Client API) to set the values after the commit phase. If do have any other ideas please let me know.
Thanks again.
Posted by:
bubbdj
16 years ago
Well. My collegue managed to figure it out. I was using an admin install point and transforming against that. He tried it against the original "single compressed" msi and it accepts the property changes.
This gets the package out there but I'm still interested in finding out why the admin install point MSI won't accept property changes in the transform file so if anyone has an answer please let me know.
Thanks.
This gets the package out there but I'm still interested in finding out why the admin install point MSI won't accept property changes in the transform file so if anyone has an answer please let me know.
Thanks.
Posted by:
nheim
16 years ago
Hi David,
admin install msi shouldn't make any difference. That's the same MSI without the embedded cabfiles and a few flags changed to tag it as admin image.
First of all: Try to add this properies to the list of 'SecureCustomProperties'
Maybe a conditioned custom action is interfering here.
Please load the MSI in ORCA and search for the occurence of this properties.
Regards, Nick
admin install msi shouldn't make any difference. That's the same MSI without the embedded cabfiles and a few flags changed to tag it as admin image.
First of all: Try to add this properies to the list of 'SecureCustomProperties'
Maybe a conditioned custom action is interfering here.
Please load the MSI in ORCA and search for the occurence of this properties.
Regards, Nick
Posted by:
bubbdj
16 years ago
I know an AIP shouldn't make any difference. That's what makes it so confusing.
Both the original and AIP version of the MSI have "SecureCustomProperties" properties. I tried taking the properties that I want to manipulate out of it and also removing the property all together but it didn't help. According to the log (using /l*v) there are no actions running before the properties get changed at all. It all happens just after it applies the transform to the MSI.
I've packaged 100's of apps and it's the first time I've seen this behaviour. I guess it's just another twist in the wanderful world of packaging.
Both the original and AIP version of the MSI have "SecureCustomProperties" properties. I tried taking the properties that I want to manipulate out of it and also removing the property all together but it didn't help. According to the log (using /l*v) there are no actions running before the properties get changed at all. It all happens just after it applies the transform to the MSI.
I've packaged 100's of apps and it's the first time I've seen this behaviour. I guess it's just another twist in the wanderful world of packaging.
Posted by:
FrankSpierings
16 years ago
Posted by:
bubbdj
16 years ago
Posted by:
jmcfadyen
16 years ago
Posted by:
bubbdj
16 years ago
Posted by:
jmcfadyen
16 years ago
yeah known him for sometime now. Hes a laugh he told me he worked that out. But from your comments Im picking you are the brains behind this.
The SMS package doesn't like being edited alot, I found all sorts of weirdness happened with Inventory if you touch it with Wise or something that add's tables etc. Its best done with Orca as you have found out.
The SMS package doesn't like being edited alot, I found all sorts of weirdness happened with Inventory if you touch it with Wise or something that add's tables etc. Its best done with Orca as you have found out.
Posted by:
jB!
15 years ago
Posted by:
anonymous_9363
15 years ago
Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.
so that the conversation will remain readable.