All of what you're trying to achieve sounds eminently possible using Windows Installer. I'm not sure if non-MSI setup systems can even support advertised installation using advertised shortcuts.
With regards to "putting the entire app into the users profile area if on Vista+[1], or program files for XP-" just no. Correct behaviour would be to put the app into the users profile area *regardless* of operating system when run by a user without administrator privileges. I get the impression you're trying to do it that way because on Vista & later, UAC forces you to whereas on XP & earlier you can break Microsoft's platform guidelines without consequence. Do it the right way on all systems & you'll cause yourself less grief trying to test your packages during development & support your packages once they're out in the wild. On the x86/x64 issue, you're correct in that you can't access the 64-bit specific areas of the system (e.g non-WOW6432Node areas of the Registry, 64-bit Program Files directories etc.) from a 32-bit package. If you really need to install 64-bit binaries to 64-bit locations the only properly supported solution is to build 2 packages, one for x86 systems & one for x64 systems. You can then either bootstrap them together & run the correct one for the system or leave it to the users to work out. x64 packages won't run on x86 systems but you should probably condition the x86 one with "NOT VersionNT64" so it's blocked from installing on x64 systems (otherwise it defeats the purpose of the exercise). I haven't used Windows Installer advertisement much myself but the Windows Installer pages on MSDN & other list regulars should be able to help you out if you hit any snags. 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: Chris [mailto:h48c...@werritech.com] Sent: 21 May 2011 14:01 To: wix-users@lists.sourceforge.net Subject: [WiX-users] A question about MSI capabilities 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 ------------------------------------------------------------------------------ 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