I have a few component MSI packages that need to installed together to form the end application.
The problem is: the components that make up the package can be updated and the component relaunched on the http file server. What approach should I take?
The installer that I am writing is the 'master' installer. Which needs to be able to read what version of each component is installed on their client machine in order to perform an upgrade only on that one component.
Also if the application is installed for the first time the installer will download and install all required components.
I am using Installshield 2009.
I have looked into chained MSI's but the master installer is empty. as it needs to be as lightweight as possible.
I have no idea how to write a bootstrapper application and my company prefers that I use installshield to write the installer.
I have researched - and apparently pre-requisites are not meant to be uninstalled.
I believe that I can do a minor update by changing the version numbers and thus allowing the download to only download the component it requires and not download the entire installer - currently I am implementing the way that you have suggested (sascha) and my company will be using the FLEXnet connect service offered through InstallShield. The 'components' that I mentioned (a term our developers love to use) is similar in concept to InstallShield's concept of components. However I have modified the 'components' to be encapsulated by a feature so that way when the release is built I can select that each 'feature' is wrapped in a cab file.
This sounds so confusing - even to me.
I have resorted to features < components (including services)
My company refuses to let me use any other installer program with the exception of Installshield. My guess is that in order to update the prerequisite requirements in the distant future a new installer needs to be written and the application re-released as a major upgrade. which makes sense to me.
Perermtate, I don't think there is a way to uninstall a prerequisite that was prior installed which makes sense as the prerequisite may be required as a platform for other applications, after all 'prerequisites' were meant to be 3rd party components to the application.
Thank you for all your responses!