Bear with me, there's a question or five (or at least a request for pointers) at the bottom.
I am the developer of an open source plug-in to the commercial product 3ds Max made by Autodesk. That product exists in a number of currently active versions (pretty much on a yearly cycle, with up to 3 year lag in adoption). Additionally, it exists in x86 and x64 versions. The binary API for the plug-ins breaks every version, although source breakage is minor if any. Additionally, users will typically have multiple versions of the host application installed side-by-side. Previously, I have used a combination of a visual studio build project and a visual studio deployment project, and built one plug-in and installer per combination. That's a lot of combinations, and last time, I spent an entire Saturday just making all of that work, rather than working on the actual plug-in code. Additionally, I discovered that the msi files generated by Visual Studio 2005 sp1 Vista don't actually install correctly under UAC, even if you press the "raise elevation" button -- you have to start the installer from an admin command line for it to work right. Blech! So, someone suggested I move to using WiX for generating installers. That sounds like a good idea, at least in theory. I'm a generally savvy C++ and XML developer, with a good grasp of Win32, but only a light smattering of Windows Installer concepts. However, I've now put together a single Visual Studio project that builds for all six different flavors (plus debug/release versions of each), so half of the battle is won. Now I need to figure out how to create a WiX installer script for what I want to do. Unfortunately, almost all the documentation and samples I've found refer to installing a typical application. I'm installing just a DLL, plus some dependencies, plus some documentation, and I must install the DLL into a very specific location based on where the host application is installed. Until now, I've hard-coded the location (assuming it's always ProgramFiles/Autodesk/3ds Max <version>/plugins), but if I'm doing it right, I might as go ahead and get the correct install location out of the 3ds Max installer information. So, what I want to do is the following: 0) Scan for previous installations, and un-install them if present. 1) Scan for the presence of up to N different products (3ds Max of different flavors), and extract the install directory for each of those. 2) Depending on the versions found, copy the right version(s) of the plug-in to the right destination(s). 3) Extract the D3DX dependency installer, which is an EXE and a set of cabs/msis, not available as merge modules, and execute that installer silently in the background 4) Install the visual studio redist merge module for x86 and, if any x64 target is active, x64 5) Install the documentation in some reasonable place. I've been putting it in the installdir, but it's probably better to put it in the user's documents folder. So, what all are the incantations I need to do to pull all of this off? I think I know how to do 0) using RemoveExistingProducts. I don't quite know how to do 1) -- I know how to use FindExistingProducts, but not how to apply the findings to 2). I'm a little hazy on 3). It only needs to be done once, even if multiple versions of the DLL are installed. Is putting these files in a subfolder of the temp directory, and then chaining out to the EXE the right thing to do? If so, what actions/elements should I use for this? 4) I can do this using Merge in my Product, I believe? 5) How do I handle the case of "current user" vs "all users" when it comes to documentation? Putting it on the desktop, or the user's documents folder, used to generate a warning about this in the Visual Studio deployment project set-up. I understand that I probably should solve one problem at a time, but I figured that if I intrude on the attention of the list readers, I might as well put all the known questions in a single message. Looking forward to any replies, and thanks in advance! -- View this message in context: http://www.nabble.com/Bewildered-and-confused-%28installing-multiple-versions-of-an-application-plug-in%29-tp16475968p16475968.html Sent from the wix-users mailing list archive at Nabble.com. ------------------------------------------------------------------------- Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users