Re: [WiX-users] shared services question...
I thought of that but I don't see how I can create a bootstrapper that allows the user to select which "feature" to install Being 1. The Server install 2. The Client install... Steve Btw I will try to "move" the service creation to a ServiceInstall/ServiceConfig/ServiceControl elements. -Original Message- From: Hoover, Jacob [mailto:jacob.hoo...@greenheck.com] Sent: September-27-12 10:43 AM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] shared services question... First off, I avoid merge modules and wix libs like the plague. I think I would go for an alternate implementation where I would have 3 MSI's, isolating the service into its own independent package and utilize burn to wrap the prerequisites and the two MSI's in question together. >From what I see, your EXE CA which Starts/Stops also appears to >Install/Uninstall at the same time. Installing both MSI and then removing one: The easy way to fix this would be to use the ServiceInstall element so that it should only be installed or removed based on the component state. Is there a reason you chose to write a custom service install routine instead of using the existing infrastructure? You might find more information here (http://www.joyofsetup.com/2008/04/09/feature-states-in-component-conditions/). What I think you would be looking for is a component state condition that would block the calling of the uninstall if the component state wasn't set to remove. Major Upgrade issue: You will probably need to detect that an upgrade is happening and skip the CA in that case. Depending on where you have RemoveExistingProducts scheduled, you might have to add AND (NOT UPGRADINGPRODUCTCODE) to the Stop/Remove portion (to support an upgrade of the same product). -Original Message- From: Steven Ogilvie [mailto:steven.ogil...@titus.com] Sent: Wednesday, September 26, 2012 1:24 PM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] shared services question... I have a separate merge module that creates the "infrastructure" of NServiceBus host I have a custom action that runs NServiceBus.Host.exe /installinfrastructure Then the 4 service merge modules install files ONLY common to that service and custom actions that create/uninstall the service on install/uninstall (each service merge module does that) I then have 2 wixlibs that contain "shared" files between the 4 services WixLib 1: http://schemas.microsoft.com/wix/2006/wi";> WixLib 2: same but different files... Merge Module for creating infrastructure: http://schemas.microsoft.com/wix/2006/wi";> CA: Setting up SetEALNBService... CA: Creating NServiceBus infrastructure... NOT Installed NOT Installed A Service Merge Module: http://schemas.microsoft.com/wix/2006/wi"; xmlns:util="http://schemas.microsoft.com/wix/UtilExtension";> CA: Setting up SetStartEMService... CA: Starting Titus Enterprise Management Service... CA: Setting up SetStopEMService... CA: Stopping Titus Enterprise Management Service... NOT Installed NOT Installed Installed Installed The other 3 are similar but do not start the service Steve -Original Message- From: Hoover, Jacob [mailto:jacob.hoo...@greenheck.com] Sent: September-26-12 1:40 PM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] shared services question... Can you show the component containing the Service executable, along with the ServiceInstall element (and their relation)? Are they in the same component? When you said the creating and removing of the services in code, do you mean that you are using a custom action to do this instead of the existing Wix elements? -Original Message- From: StevenOgilvie [mailto:sogil...@msn.com] Sent: Wednesday, September 26, 2012 12:32 PM To: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] shared services question... The 4 services are each a separate merge module, with "common files" between them in two wixlibs The services creation/removal of serv
Re: [WiX-users] shared services question...
First off, I avoid merge modules and wix libs like the plague. I think I would go for an alternate implementation where I would have 3 MSI's, isolating the service into its own independent package and utilize burn to wrap the prerequisites and the two MSI's in question together. >From what I see, your EXE CA which Starts/Stops also appears to >Install/Uninstall at the same time. Installing both MSI and then removing one: The easy way to fix this would be to use the ServiceInstall element so that it should only be installed or removed based on the component state. Is there a reason you chose to write a custom service install routine instead of using the existing infrastructure? You might find more information here (http://www.joyofsetup.com/2008/04/09/feature-states-in-component-conditions/). What I think you would be looking for is a component state condition that would block the calling of the uninstall if the component state wasn't set to remove. Major Upgrade issue: You will probably need to detect that an upgrade is happening and skip the CA in that case. Depending on where you have RemoveExistingProducts scheduled, you might have to add AND (NOT UPGRADINGPRODUCTCODE) to the Stop/Remove portion (to support an upgrade of the same product). -Original Message- From: Steven Ogilvie [mailto:steven.ogil...@titus.com] Sent: Wednesday, September 26, 2012 1:24 PM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] shared services question... I have a separate merge module that creates the "infrastructure" of NServiceBus host I have a custom action that runs NServiceBus.Host.exe /installinfrastructure Then the 4 service merge modules install files ONLY common to that service and custom actions that create/uninstall the service on install/uninstall (each service merge module does that) I then have 2 wixlibs that contain "shared" files between the 4 services WixLib 1: http://schemas.microsoft.com/wix/2006/wi";> WixLib 2: same but different files... Merge Module for creating infrastructure: http://schemas.microsoft.com/wix/2006/wi";> CA: Setting up SetEALNBService... CA: Creating NServiceBus infrastructure... NOT Installed NOT Installed A Service Merge Module: http://schemas.microsoft.com/wix/2006/wi"; xmlns:util="http://schemas.microsoft.com/wix/UtilExtension";> CA: Setting up SetStartEMService... CA: Starting Titus Enterprise Management Service... CA: Setting up SetStopEMService... CA: Stopping Titus Enterprise Management Service... NOT Installed NOT Installed Installed Installed The other 3 are similar but do not start the service Steve -Original Message- From: Hoover, Jacob [mailto:jacob.hoo...@greenheck.com] Sent: September-26-12 1:40 PM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] shared services question... Can you show the component containing the Service executable, along with the ServiceInstall element (and their relation)? Are they in the same component? When you said the creating and removing of the services in code, do you mean that you are using a custom action to do this instead of the existing Wix elements? -Original Message- From: StevenOgilvie [mailto:sogil...@msn.com] Sent: Wednesday, September 26, 2012 12:32 PM To: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] shared services question... The 4 services are each a separate merge module, with "common files" between them in two wixlibs The services creation/removal of services is code within the merge modules... (a side issue, a majority of the files do not get uninstalled either :( Steve -- View this message in context: http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/shared-services-question-tp7580859p7580862.html Sent from the wix-users mailing list archive at Nabble.com. -- How fast is your code? 3 out of 4 devs don\\\'t know how their code performs in production. Find out how slow yo
Re: [WiX-users] shared services question...
I have a separate merge module that creates the "infrastructure" of NServiceBus host I have a custom action that runs NServiceBus.Host.exe /installinfrastructure Then the 4 service merge modules install files ONLY common to that service and custom actions that create/uninstall the service on install/uninstall (each service merge module does that) I then have 2 wixlibs that contain "shared" files between the 4 services WixLib 1: http://schemas.microsoft.com/wix/2006/wi";> WixLib 2: same but different files... Merge Module for creating infrastructure: http://schemas.microsoft.com/wix/2006/wi";> CA: Setting up SetEALNBService... CA: Creating NServiceBus infrastructure... NOT Installed NOT Installed A Service Merge Module: http://schemas.microsoft.com/wix/2006/wi"; xmlns:util="http://schemas.microsoft.com/wix/UtilExtension";> CA: Setting up SetStartEMService... CA: Starting Titus Enterprise Management Service... CA: Setting up SetStopEMService... CA: Stopping Titus Enterprise Management Service... NOT Installed NOT Installed Installed Installed The other 3 are similar but do not start the service Steve -Original Message- From: Hoover, Jacob [mailto:jacob.hoo...@greenheck.com] Sent: September-26-12 1:40 PM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] shared services question... Can you show the component containing the Service executable, along with the ServiceInstall element (and their relation)? Are they in the same component? When you said the creating and removing of the services in code, do you mean that you are using a custom action to do this instead of the existing Wix elements? -Original Message- From: StevenOgilvie [mailto:sogil...@msn.com] Sent: Wednesday, September 26, 2012 12:32 PM To: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] shared services question... The 4 services are each a separate merge module, with "common files" between them in two wixlibs The services creation/removal of services is code within the merge modules... (a side issue, a majority of the files do not get uninstalled either :( Steve -- View this message in context: http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/shared-services-question-tp7580859p7580862.html Sent from the wix-users mailing list archive at Nabble.com. -- How fast is your code? 3 out of 4 devs don\\\'t know how their code performs in production. Find out how slow your code is with AppDynamics Lite. http://ad.doubleclick.net/clk;262219672;13503038;z? http://info.appdynamics.com/FreeJavaPerformanceDownload.html ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- How fast is your code? 3 out of 4 devs don\\\'t know how their code performs in production. Find out how slow your code is with AppDynamics Lite. http://ad.doubleclick.net/clk;262219672;13503038;z? http://info.appdynamics.com/FreeJavaPerformanceDownload.html ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- How fast is your code? 3 out of 4 devs don\\\'t know how their code performs in production. Find out how slow your code is with AppDynamics Lite. http://ad.doubleclick.net/clk;262219672;13503038;z? http://info.appdynamics.com/FreeJavaPerformanceDownload.html ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] shared services question...
Can you show the component containing the Service executable, along with the ServiceInstall element (and their relation)? Are they in the same component? When you said the creating and removing of the services in code, do you mean that you are using a custom action to do this instead of the existing Wix elements? -Original Message- From: StevenOgilvie [mailto:sogil...@msn.com] Sent: Wednesday, September 26, 2012 12:32 PM To: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] shared services question... The 4 services are each a separate merge module, with "common files" between them in two wixlibs The services creation/removal of services is code within the merge modules... (a side issue, a majority of the files do not get uninstalled either :( Steve -- View this message in context: http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/shared-services-question-tp7580859p7580862.html Sent from the wix-users mailing list archive at Nabble.com. -- How fast is your code? 3 out of 4 devs don\\\'t know how their code performs in production. Find out how slow your code is with AppDynamics Lite. http://ad.doubleclick.net/clk;262219672;13503038;z? http://info.appdynamics.com/FreeJavaPerformanceDownload.html ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- How fast is your code? 3 out of 4 devs don\\\'t know how their code performs in production. Find out how slow your code is with AppDynamics Lite. http://ad.doubleclick.net/clk;262219672;13503038;z? http://info.appdynamics.com/FreeJavaPerformanceDownload.html ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] shared services question...
The 4 services are each a separate merge module, with "common files" between them in two wixlibs The services creation/removal of services is code within the merge modules... (a side issue, a majority of the files do not get uninstalled either :( Steve -- View this message in context: http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/shared-services-question-tp7580859p7580862.html Sent from the wix-users mailing list archive at Nabble.com. -- How fast is your code? 3 out of 4 devs don\\\'t know how their code performs in production. Find out how slow your code is with AppDynamics Lite. http://ad.doubleclick.net/clk;262219672;13503038;z? http://info.appdynamics.com/FreeJavaPerformanceDownload.html ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] shared services question...
I believe this is where you would use a Wixlib (or merge module), so that the service configs lived inside the same component Ids in both installers. In theory then the refrencing counting on the shared component ID's should not trigger the service to be uninstalled. -Original Message- From: StevenOgilvie [mailto:sogil...@msn.com] Sent: Wednesday, September 26, 2012 11:51 AM To: wix-users@lists.sourceforge.net Subject: [WiX-users] shared services question... I have two installers that share 4 services... each service creates its service and "uninstalls" its service: NOT Installed NOT Installed Installed Installed for the fileset I have added: SharedDllRefCount="yes" which will ensure that the files will not be uninstalled if removing one product, however the services are being "uninstalled" (the service is removed not the files) I was thinking of within the product.wxs of each product create a property registry search for the other products GUID (which means if exist the product is installed, I could add that property search into the InstallExecuteSequence for each custom action to make sure the service isn't recreated and not "uninstalled" if installing both... Does that make sense or is there a better way to do this? thanks, Steve -- View this message in context: http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/shared-services-question-tp7580859.html Sent from the wix-users mailing list archive at Nabble.com. -- How fast is your code? 3 out of 4 devs don\\\'t know how their code performs in production. Find out how slow your code is with AppDynamics Lite. http://ad.doubleclick.net/clk;262219672;13503038;z? http://info.appdynamics.com/FreeJavaPerformanceDownload.html ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- How fast is your code? 3 out of 4 devs don\\\'t know how their code performs in production. Find out how slow your code is with AppDynamics Lite. http://ad.doubleclick.net/clk;262219672;13503038;z? http://info.appdynamics.com/FreeJavaPerformanceDownload.html ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] shared services question...
I have two installers that share 4 services... each service creates its service and "uninstalls" its service: NOT Installed NOT Installed Installed Installed for the fileset I have added: SharedDllRefCount="yes" which will ensure that the files will not be uninstalled if removing one product, however the services are being "uninstalled" (the service is removed not the files) I was thinking of within the product.wxs of each product create a property registry search for the other products GUID (which means if exist the product is installed, I could add that property search into the InstallExecuteSequence for each custom action to make sure the service isn't recreated and not "uninstalled" if installing both... Does that make sense or is there a better way to do this? thanks, Steve -- View this message in context: http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/shared-services-question-tp7580859.html Sent from the wix-users mailing list archive at Nabble.com. -- How fast is your code? 3 out of 4 devs don\\\'t know how their code performs in production. Find out how slow your code is with AppDynamics Lite. http://ad.doubleclick.net/clk;262219672;13503038;z? http://info.appdynamics.com/FreeJavaPerformanceDownload.html ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users