1

I'm wondering the best way to handle a setup project that can support some complex deployment scenarios. My product has the following items:

  • Executable and dlls
  • .config files
  • SQL CE database
  • map document and related items
  • two different types of geographic database files
  • prerequisites like .NET 4 & SQL CE runtime

I have some post-install steps that do things like unzip clean versions of the SQL and geographic databases.

Assume that the initial deployment and install is a full installation. I want to be able to do patches or updates of one or a combination of these items without necessarily overwriting the users files with a clean install. I hope to do these via the web-based updates. Some examples:

  • I want to distribute bug fixes or new features in the executable and dlls without executing the post-install steps that unzip databases
  • I want to possibly run SQL to update the database without changing any other items
  • I want to possibly replace, add, or update the map document and its related files
  • etc.
  • Or possibly any combination of these

Any advice on how to proceed would be appreciated.

nneonneo
  • 171,345
  • 36
  • 312
  • 383
Keith G
  • 4,580
  • 5
  • 38
  • 48
  • What is the question? Simply enumerating requirements won't get you much answers. Did you try creating an installer and encountered problems? If so, try asking about those problems. – Cosmin Feb 06 '12 at 07:36
  • I'm looking for the best strategy for implementing an install package for this project. Should I use updates, patches, etc? How do I structure the files within the project? Should I simply edit my question so that all of the "I want to .... " are replaced by "How can I ...." ? – Keith G Feb 06 '12 at 16:56

1 Answers1

0

I have some post-install steps that do things like unzip clean versions of the SQL and geographic databases.

For this you can use custom actions.

I want to distribute bug fixes or new features in the executable and dlls without executing the post-install steps that unzip databases

To distribute updates you can use Updater. Here is a tutorial which can get you started: http://www.advancedinstaller.com/user-guide/tutorial-updater.html

The Updater can distribute both patches and full upgrades.

An update can condition its unzip action with OLDPRODUCTS property. It's automatically set when an older version is detected on the target machine.

I want to possibly run SQL to update the database without changing any other items

You can configure SQL scripts in SQL Scripts page. Here is a tutorial which may help: http://www.advancedinstaller.com/user-guide/tutorial-sql.html

I want to possibly replace, add, or update the map document and its related files

A patch or major upgrade can automatically replace the existing file. If you want to update it without replacing it, you can try a text file update or the XML editor.

SQL Scripts and patches are available for an Enterprise project.

Cosmin
  • 21,216
  • 5
  • 45
  • 60
  • Can the OLDPRODUCTS property be used with custom actions? Are there any ways to take advantage of the features and components organization to help me perform these tasks? – Keith G Feb 07 '12 at 14:57
  • Yes, OLDPRODUCTS can be used with custom actions. You can also use features and components (the exact usage depends on what you want to do). – Cosmin Feb 07 '12 at 16:02