Per-Machine Installations with some Per-User Resources |
This is a combination of a per-machine install which installs some per-user resources. Note that I don't cover the reverse situation as that is a bug...
Before taking this approach, please concider a pure per-machine install where the application perfoms user initialization (see below).
As soon as you introduce per user resources into a per-machine msi you have to consider how the installation of these resources will be triggered. These resources are typically installed for the user performing the install, but what about other users that logon?
A common mechanism is to rely on "advertising", frequently by using advertised shortcuts, these will "notice" the missing user resources and invoke a repair.
If this is not possible you will want to invoke a repair or install the resources (from a cached per-machine location) at user logon, some common approaches:
Be aware that the resources are generally not uninstalled along with the package (except possibly for the user performing the uninstall). In some cases it may be possible to do more (depending on permissions etc) but assuming no problem results from leaving them in place its generally better to leave them.
Also see these links:
Best Solution - Pure PER-MACHINE Install - Application Initializes User |
If you have any influence with the developers of the product try to get this functionality moved into the application, this would seem to be a good way:
This also allows the installing user control over what those default options are.