Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

Is there a tool or mechanism for retrieving the available public properties from a Windows MSI file?

Some vendors that supply MSI files don't document these themselves, so I'm curious to see if there is a way to expose these without the source code.

share|improve this question
7  
Microsoft's ORCA, Pantaray's SuperORCA and most every other MSI edit will allow you to browse/edit any table including the Property table. Did you have a specific work-flow or use-case outside just poking-around in the MSI? –  jscott May 1 '12 at 13:14
1  
I wanted to understand the available public properties so they could be passed accurately during installation, without having to query the vendor or documentation (as this is not always possible). With Puppet we can pass in MSI properties during installation (we wrap misexec.exe), so its handy to have this ability. –  Ken Barber May 1 '12 at 22:09
1  
There could be other public properties that you can pass to control the installation although they're not listed in the Properties table. Properties can be set dynamically depending on a condition, Registry search for example. So vendor documentation is the better source of information. –  Alexey Ivanov May 2 '12 at 7:45
    
You can also run the installation with verbose logging to see how properties change their values. –  Alexey Ivanov May 2 '12 at 7:46
    
Sorry about the delay - I've tried Orca and its fascinating, but I've confirmed the behaviour you describe @AlexeyIvanov - that is, some properties won't appear. I confirmed this with splunk.msi and its docs. I'm guessing the ones that appear in Orca have defaults, but this isn't a canonical list. Can you explain a bit more about the verbose logging methodology? –  Ken Barber May 2 '12 at 21:11

1 Answer 1

Given that MSI file store public properties in an internal database, you can actually just query them out using VBScript and SQL.

Here's an example script that will return all properties stored in the MSI file. It is convention to use capital letters to define public properties, so that is how they are usually identifiable.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.