Build Automation

Got a problem you cannot solve? Try here.
Post Reply
amcgoldrick
Posts: 3
Joined: Thu Nov 05, 2009 6:09 am

Build Automation

Post by amcgoldrick »

As part of our application we would liek to be able to do the following:
- create an installer at build time with a set of files to be installed that are only known at build time.

Our initial thoughts were to use either the COM Object or the Win32 DLL to automate amending a pre-exisitng InstallAware project. This pre-exisitng project would contain our defaults.

From our inspection of the COM object and the Win32 DLL it appears, at least to us, that these mechanisms can only work when creating a new installer project from scratch.

We would like to avoid doing this as the maintenance of the project is a lot more difficult if it only exists as code that generates an installer.

Can the COM object and the Win32 DLL operate on an existing project file?

Is there some oither way we can approach this? I had thought about using Include files, but I reckon that in order to change the contents of those at build time we would also need to use the COM object or the Win32 DLL.

Thanks

Andy
neillans
Posts: 536
Joined: Sat Nov 04, 2006 6:21 am
Location: Scottish Borders, UK

Post by neillans »

Hmmm. I'm not sure that I follow what you are looking to achieve, however, I can confirm that it is not possible to use our automation API's to modify a pre-existing script.
Andy Neillans
amcgoldrick
Posts: 3
Joined: Thu Nov 05, 2009 6:09 am

Post by amcgoldrick »

The situation is that I want to create a patch for an existing MSI created in Installshield.

The MSI contains approximately 200+ ocx/dlls.

The company that authored the product, would rebuild all components then build a new MSI, with instructions for users to uninstall/reinstall.

We wish to build only the components that change (using binary compatibility) and then create a patch.

As we don't know in advance what components will have changed, our intension was to inject them into the patch, either at the command line/ through a parameter file or using the build automation to add them to an existing template InstallAware project.

Could we instead have an InstallAware project created as a template, and make that have an include file and generate the include file with the Build Automation functionality?

Thanks
neillans
Posts: 536
Joined: Sat Nov 04, 2006 6:21 am
Location: Scottish Borders, UK

Post by neillans »

Hmm. Patching another built installer in this fashion is seriously off the realms of being supported I'm afraid ... there is no way we can guarantee it is going to work. We would advise creating an installer with the upgrade code set to uninstall the InstallShield installer version and reinstall with an InstallAware version so you can use patching in future.
Andy Neillans
amcgoldrick
Posts: 3
Joined: Thu Nov 05, 2009 6:09 am

Post by amcgoldrick »

So you would suggest, creating a new InstallAware project that removes the entire InstallShield installation, and then reinstalls everything?

Would creating the InstallAware package be as simple as importing the MSI that was generated by InstallShield and creating a project based on that?

In an ideal world we would like to leave the files on the target machine and simply make the changes we require.

Thanks for you help on this.

Andy
Post Reply