1 - What I would like is for the extension installers to refuse being
installed if the main application isn't installed. 
This is easily supported using LaunchConditions in an MSI. Simply use
something like a RegistrySearch to populate a property with something
your main product installs then use this Property for the Condition. If
your main product is installed, the RegistrySearch succeeds, sets the
Property & the LaunchCondition evaluates to true to allow installation
of the extension.

2 - Furthermore I would like the extension installers to be removed if
the main application is removed, but NOT if it is being upgraded. 
I don't think this is supported using an MSI (Concurrent Installation
isn't supported so I don't expect Concurrent Uninstallation to be
supported either, could be wrong but I highly doubt it).
You could however manually write your Add/Remove Programs entries & use
an executable to handle this. Essentially you're circumventing the
normal uninstall process from the Control Panel & inserting an
executable in between. That is a lot more work to do properly as you'd
need some central location listing all the extensions installed on a
system which the executable then uninstalls along with your main
product. Not too difficult as all you really need is the GUID stored in
the registry so you can run "msiexec /x {ProductGUID}" from your
executable for each extension & the main product it self.

That's probably the easiest way to achieve what you want to do if you
want to continue using Major Upgrades for the main product and/or
extensions. There are ways you could achieve this using patching but
depending on the number of extensions you ship it could become very
unwieldy very quickly.

Palbinder Sandher 
Software Deployment Engineer
T: +44 (0) 141 945 8500 
F: +44 (0) 141 945 8501 

http://www.iesve.com 
**Design, Simulate + Innovate with the <Virtual Environment>**
Integrated Environmental Solutions Limited. Registered in Scotland No.
SC151456 
Registered Office - Helix Building, West Of Scotland Science Park,
Glasgow G20 0SP
Email Disclaimer

-----Original Message-----
From: Thomas Due [mailto:t...@scanvaegt.dk] 
Sent: 17 February 2011 12:49
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Best practice for making dependent installers

No one? 

/Thomas Due

-----Original Message-----
From: Thomas Due [mailto:t...@scanvaegt.dk]
Sent: 11. februar 2011 09:00
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] Best practice for making dependent installers

Hi, 

I am maintaining the installer for our main product. This product is
extensible and I was wondering how I would go about making installers
for our extensions? 

What I would like is for the extension installers to refuse being
installed if the main application isn't installed. 
Furthermore I would like the extension installers to be removed if the
main application is removed, but NOT if it is being upgraded. 
Currently I am not using patching or minor upgrades, only major upgrades
for our main product. 

What we do today is essentially copying the extension assemblies into
the folder of the main application, and then it automatically detects
the new extensions and loads them (after a restart). Sometimes we need
to tweak or change some settings which we then do either by hand, or by
a small application designed to handle the specific settings. 

I would really like a general scheme for deployment extensions, but my
knowledge and understanding of WiX and MSI is not so complete that I can
think my way through the problem on my own. So I turn to you for some
tips, guidelines and suggestions? 

I am happy to provide more information should it be needed. 

/Thomas Due 








------------------------------------------------------------------------
------
The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio
XE:
Pinpoint memory and threading errors before they happen.
Find and fix more than 250 security defects in the development cycle.
Locate bottlenecks in serial and parallel code that limit performance.
http://p.sf.net/sfu/intel-dev2devfeb
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users



------------------------------------------------------------------------------
The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE:
Pinpoint memory and threading errors before they happen.
Find and fix more than 250 security defects in the development cycle.
Locate bottlenecks in serial and parallel code that limit performance.
http://p.sf.net/sfu/intel-dev2devfeb
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to