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