VBScript Custom Actions and MSI properties
Helllo, my fellow MSI packagers (and long-time reader Duncan Paul )! Long time, no post! I thought I'd revisit something that I haven't had to do in a long time. So here's an article about using VBScript to read and make use of MSI properties and some gotchas. In general, A good packager NEVER hard codes with the exception of perhaps some specific configuration which should be stored in the Property table. If you have to create a VBScript which runs in the Deferred (System) Context to make system changes, then you'll need to make use of the CustomActionData property. In a nutshell, there are very few native properties that you can use in VBScript custom actions in the deferred context - and they're not particularly useful. Therefore, if you want to access a property, then you would do so using a special property called CustomActionData is a property that can hold the value of other properties (and also be available in the Deferred context). For example, if you