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

Services - Mutliple installs


3 replies to this topic

NeilHayes

NeilHayes
  • Full Members
  • 4 posts

Posted 14 January 2009 - 10:53

I have 1 MSI that contains a Runtime, application and a licensing service for a 3rd party runtime, install the MSI and it installs the service and a custom action installs a valid runtime license and everyon is happy.

The License Service must run during the life of the application.

BUT.......

You are allowed to install multiple instances of the MSI and these are deployed in their own instance directorys......the problem is the License Service.

On a first time install I can install everything so we don't have a problem.
On the next instance install, there is already a valid License Service and runtime license installed......so I could either uninstall the service for the 1st time install and install the License Service from this instance or I could just ignore it as a valid License Service is installed.

Now the customer decides to unistall the first time install and wants to continue using the next instance install............but now the License Service has been uninstalled and therefore invalidated the runtime license.

The License Service is dependent on the runtime files that where installed in the same folder.

Does anyone have any idea's for a possible solution? Can you reference count a service?

Regards

Neil



Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 17 January 2009 - 18:03

You can reference count the component that includes the service. This would reqzure to install the service in a shared location.

Glytzhkof

Glytzhkof
  • Moderators
  • 1,447 posts

Posted 17 January 2009 - 21:40

In cases like this you are normally dealing with two separate things / applications being delivered as one package. In a corporate environment the solution would be to deploy the license server component as a prerequisite package, and then have subsequent packages register their licenses with the service. Then each dependent product can be uninstalled, installed, upgraded etc... as required - and likewise for the licensing service. If you are a developer it's much like class design, really: if things don't add up or are cumbersome to work with, you typically haven't broken things down correctly to component parts.

As Stefan says you can reference the component that includes the service. If you want everything in a single package the solution is to put the service installation in a merge module.

So in summary, options could be:
1: Split into two separate MSI files and chain the installation (my preferred solution)
2: Put the license server installation in a merge module and include into each MSI as needed.

Merge modules are really like include files in programming, they just don't work as well. Avoid them if you can. 1 problem removed is 10 solved.
Regards
-Stein Åsmul

NeilHayes

NeilHayes
  • Full Members
  • 4 posts

Posted 22 January 2009 - 15:32

I did actually get to Glytzhkof's answer rather than go with Stefan's reference count.

Sometime you can't go with what the development team wants and have to break away for good reasons....so I broke away!

I ended up creating a separate MSI for the licensing and runtime components, and as was mentioned make that a prerequisite.

Glytzhkof you mention merge modules being like includes avoid them....what are your reasons for wanting to avoid them?

Thank you for your input

Regards

Neil