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
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-users