Scenario 1: Full applications.
- We build three applications, each of which has about 90% of the application comprised of "common" core components, third party components, microsoft components, etc. We need three separate installation/update processes, all dealing with the same common components.
We must build a complete install CD that has no interenet dependencies.
We typically do an annual upgrade, which much be installed from CD, quarterly updates which are sufficient to update the annual release, w/o the need to go through each prior update, and patches which are only applicable to to the most recent update.
The updates and patches must be accessible from the web.
An update CD is sent to each customer for those customers that can't download updates and patches from the web.
No update/patch process can require a user to find their prior CD, or know anything about where required files might be on their computers.
Updates/Patches are always compatible with prior components. It does not seem necessary to uninstall the application being updated in order to update it.
Scenario 2: "Printer driver" package
- We support the ag industry with a set of plug-in "drivers" that translate proprietary machinery data formats into a single common format. This solution involves a set of core components that are used by client applications for common access, and an increasingly large number of plugin drivers, with each driver supporting the data transformation for one specific brand of farm equipment.
The core components and some of the drivers are distributed by other software vendors as part of their install. Each is currently bundled as a Wise .exe and the other vendors just run them in silent mode. They should probably be converted to merge modules?
The drivers are updated frequently, as farm machinery is updated. We need a single access point for a farmer that is using our application or any other vendors application to go to the web and update the core components and any drivers that they have installed (or install new ones).
There is no required CD distribution of these components.
An update of the core components or any of the drivers should not give the impression of doing an uninstall.
We have built and deployed an install for the first application in Scenario 1. I think we created 15 web media blocks, but compiled as a single compressed exe. We are happy with the initial user experience. We are not happy when we make a very minor change to a component and build a new install, that the appliction is first uninstalled on the target machine before it is updated. Does a patch solve this? But a patch won't work because we installed from a single compressed exe, requiring the user to know the location of the install? Do updates resolve this?
Suggestions or proposals welcome.