Hi experts, I am relatively new to WiX have created some msi packets which work pretty good, and now I am seeking some time-saving leads/doc links/hints, how I can create what I consider a fairly complex installation scenario.
Here are the basic infos you need: a software is to be installed, which consists of two components: a viewer/shell component (basically a bunch of .exe programs in c:\program files) and lots of graphics data (a couple of hundreds of pictures, lets call it a "pack".). Now for the challenges: 1,) The viewer component has an internet based copy protection. The mechanism changes some of the installed files in c:\program files if a user activates his software. The files need to be installed with the initial install, (to put the software in a time limited demo mode), but once altered by the activation, they may not be overwritten by a re-installation/repair. 2.) The software is sold via Internet, and is divided in packages/modules. There is no specific order a customer must stick to when purchasing or installing. For handling reasons (the webshop cannot handle more than one single file) every module must use just one single msi file, and therefore every msi contains two components: the shell/viewer component (which is always the same), and the package data. The shell component shall be installed along with the first package installed, and shall be removed along with the last package uninstalled. What I dod so far: I created two msi installers, both contain the same component structure for the shell/viewer (same GUID), and another component for the actual data. Installation of both packages in either order works. Problems: - no matter which package I deinstall first, the shell component does alsways get uninstalled with it. the shell component should remain intact until the last package gest uninstalled. - when installing the first package, activating it, and after a while install the second package (a customer wants "more" after a while and purchases a second package) the installation of the second package overwrites the shell component, and thus wrecks the internet activation files. - The system will grow, so the exact number of packs available in the future cannot yet be predicted. I haven't looked into the details too deep yet, I guess I could fairly easily find a condition to inhibit the installation of the shell component if it is already installed (check for existence of a file/directory/reg key), but how can I inhibit the deinstallation until the shell component is not needed any more? In case this is not possible, I have thought about an alternative: can I create a msi that does, during installation, spit out two software produkts (which do appear individually in Control-Panel - Software): MyCompany: Shell MyCompany: Pack 1 MyCompany: Pack 2 I guess that most users would intuitively not uninstall the Shell component unless they intend to delete the whole system and uninstall the Packs as well (I don't care about the order of uninstallations), and once someone uninstalled the shell it is acceptable that he needs to go through the licensing/activating procedure again. Probably there is a way to "link" packages togehter in a chain, so that in case someone uninstalls thes shell, the module packs are uninstalled as well? Thanks for hints/ideas ... Armin. ------------------------------------------------------------------------------ Come build with us! The BlackBerry® Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9-12, 2009. Register now! http://p.sf.net/sfu/devconf _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users