Jump to content


This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Photo

MSI with components


4 replies to this topic

lis_ck2000

lis_ck2000
  • Members
  • 12 posts

Posted 25 June 2004 - 05:16

Anyone can help?
currently i am working on a MSI project which can install serveral softwares at once. Say SoftwareA, SoftwareB, SoftwareC and SoftwareD. I need to write a MSI for installing these 4 at once. Also for future update, says only SoftwareA and SoftwareC have newer version. so my future MSI will only contains new SoftwareA and C images. After upgrading, the target system will have new versions of software A and C and original version of SoftwareB and D. Anyone know how to achieve it?
Please do help.

Zweitze

Zweitze
  • Full Members
  • 522 posts

Posted 25 June 2004 - 09:20

I suggest you create four features called SoftwareA, SoftwareB, SoftwareC and SoftwareD, and start from there.
Upgrades will have all features, because the newer version should also be able to install the not-updated features.
However, if you create a patch, it will only contain the differences (to the older version), so it will only have the updates.

Glytzhkof

Glytzhkof
  • Moderators
  • 1,447 posts

Posted 25 June 2004 - 13:56

I agree with Zweitze, but you might want to add a top level feature that contains all the other features.

If you follow the suggested approach all your applications will be installed as a single setup. This means that if it is uninstalled all applications are removed. Using a Modify operation will still allow you to remove/add a single app provided you have made it a separate feature.

Splitting the apps into different setups will cause you to be able to deliver smaller updates, but probably increase the overhead in release management.

Installing the setups separately using "Launch Child MSI" is NOT recommended! This is a very poorly designed feature of Windows Installer, and should be avoided at all cost.

Edited by Glytzhkof, 25 June 2004 - 13:58.

Regards
-Stein Åsmul

vladb

vladb
  • Members
  • 15 posts

Posted 06 July 2004 - 15:15

I tried to do exactly the same thing, posted messages everywhere (see Per Feature Upgrades) but it didn't work. There's one product per MSI, that's the idea. I had around 20 different apps, so the solution was to build many MSIs (one per app) and an user interface InstallScript (but you can do this in C++ # VB whatever) which fires the configured msis without a ui. It's not over yet, so i don't know if i'll succeed but it looks good for now. I can install/uninstall/upgrade them in theory like I want.

Glytzhkof

Glytzhkof
  • Moderators
  • 1,447 posts

Posted 06 July 2004 - 15:26

It is entirely possible to install many applications using a single MSI, but it is correct that the setup will then be registered as a single product which may not be optimal for future upgrades and maintenance operations.

The Office suite is an example of multiple applications being installed as part of a single MSI setup. As you may have noticed the size of the upgrade setups for the office suite is quite large.

The whole decision how to package applications (together in a single setup or many) depends largely on whether the user will normally install all applications or not (if each user needs only a subset single setups yield faster downloads etc...), whether or not you will update most or few of the applications on a regular basis etc...

Using a patch package to update an existing multi-application install can be quite effective if only a few applications changed.
Regards
-Stein Åsmul