views:

294

answers:

2

I'm trying to automate InstallShield from my build process, and I need to set a type 51 Custom Action's Property Value from my Release's Product Configuration Flags property. What is the syntax (something in square brackets?) to do that?

From here... alt text

...to here: alt text

+2  A: 

You'll probably need to do a string replace on the InstallShield project to pull this off:

1) Under General Information | Project File Format, set the format to "XML", and save the project.

2) Next write a script to search the xml file for the name of your custom action, and replace the value with your Product Configuration Flags.

We've used this straightforward technique to change a number of properties at build time, including version numbers.

WeekendDiver
+1  A: 

InstallShield also has an automation interface. FYI: http://kb.flexerasoftware.com/doc/Helpnet/installshield12helplib/IHelpAutoISWiProject.htm

For advanced developers, InstallShield exposes a COM interface that allows you to perform many of the same tasks from a program, such as a Visual Basic� executable, or a script, such as a VBScript file in Windows Scripting Host. By calling methods, setting properties, accessing collections, and so on, through the automation interface, you can open a project and modify its features and component data in many of the same ways that you would in the InstallShield interface.

MSI Tip: Building Releases with the InstallShield Automation Interface

There's a bit of a learning curve, but once you've got it, it more reliable and robust than editing the XML file manually.

William Leara