Greetings folks,

I'm considering using WIX for a setup solution, and would appreciate advice
from some folks more experienced than myself with MSI as to whether what I
want to do is possible with both MSI and the WIX toolset.

Our open-source application is regularly used in educational institutions
as well as by home users. It also comprises of two distinct classes of
files; the core application and its help files (which don't need to be
touched by the end-user), and a set of end-user-modifiable files which need
to be able to be edited by the user and thus installed per-user.

For home user installs this isn't much of an issue, as we could just
install a full copy per-user (which is what happened in the past). However
we do receive requests from institutional admins to allow an install where
the core files are installed once (perhaps on a network, perhaps on a
single machine shared by many users), and links to the app created in the
'All Users' profile so that all current and new users will see it. If a
user elects to run the app, an install-on-demand occurs to place the
editable files into the user's profile folder.

The application needs to be installable on Win2K upwards, and the installer
needs to be able to function correctly when run by a limited user for a
single-user install (putting the entire app into the users profile area if
on Vista+[1], or program files for XP-), but without limiting the options
available for administrative installs.

Also, if we distribute an upgrade that happens to contain changes to the
above-mentioned editable file set, it would be helpful if that upgrade
could auto-execute the next time the user runs the app after an
admin installs the upgrade.

Finally, it would be ideal if the same MSI could contain both 32 and 64-bit
binaries, and would install the appropriate one correctly. (My past
understanding of this - which may be very out of date - is that unless the
MSI was marked as being for 64-bit windows, any binaries installed would
get put into 'Program Files (x86)', even if they were 64-bit, so it wasn't
just a case of choosing the right binary). However this isn't essential.

I am in particular fairly hazy about the install-on-demand stuff. I know
that you can specify that a component be installed on demand, what I am
unsure about is exactly how to set up the shortcuts to cause it to all
automagically happen. (Also, I presume that Windows will squirrel away the
original MSI somewhere in order to do this - like it does for repair I
suppose?)

Advice appreciated.

[1] I realize that Vista has compatibility folders, but I would rather not
even try to touch system folders for limited users, regardless on whether
or not the OS will redirect the write. According to
http://msdn.microsoft.com/en-us/library/dd408068%28VS.85%29.aspx,
%LocalAppData%\Programs\Vendor is an acceptable location to install
per-user binaries.

-- Chris

------------------------------------------------------------------------------
What Every C/C++ and Fortran developer Should Know!
Read this article and learn how Intel has extended the reach of its 
next-generation tools to help Windows* and Linux* C/C++ and Fortran 
developers boost performance applications - including clusters. 
http://p.sf.net/sfu/intel-dev2devmay
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to