Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Installing WiX 3.5 alongside WiX 3.0

Tags:

msbuild

wix

Is it possible to install both WiX 3.0 and 3.5? If I install 3.5 after installing 3.0, it removes the 3.0 files - and if I attempt to install 3.0 after 3.5, it tells me there is a newer version already installed.

I'm in the process of migrating from VS 2008 to VS 2010, so one version (branch) of my application is is using VS 2008 (existing production version), and another one is in VS 2010 (future version). WiX 3.5 is required for VS2010.

What this means is on my build server, at the moment, I cannot build both the current version and the new version, as one will report an error about not finding WiX files:

c:\buildAgent\work\fe55ddb47cebe4fd\MyApp.wixproj(25, 11): error MSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft\WiX\v3.0\Wix.targets" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk.

I'd prefer not to upgrade the current version of my product to WiX 3.5 as 3.5 is still in beta, and as is I had to cherry pick a weekly build to get it to work at all (I'm just hoping by the time my next version is ready, that WiX 3.5 will be stable).

Is there a way to install both side-by-side? Do I just need to copy the 3.0 files into the Msbuild directory?

like image 629
gregmac Avatar asked Aug 10 '10 19:08

gregmac


People also ask

How do I know if I have WiX toolset installed?

You can also check in the Programs and Features section of Control Panel. If WiX Toolset is installed, it will be listed there. If you need to install WiX Toolset, you can download it from here.

How do I install WiX tools?

Step 1: To download and install WiX on windows, go to the official website of WiX as below https://wixtoolset.org/releases and choose the recommended build number, here we have chosen V3. 11.1 and click on the download button.

What is WiX Installer used for?

Windows Installer XML Toolset (WiX, pronounced "wicks"), is a free software toolset that builds Windows Installer packages from XML. It consists of a command-line environment that developers may integrate into their build processes to build MSI and MSM packages.

What is WiX deployment?

WiX is a set of tools that allows you to create Windows Installer-based deployment packages for your application. The WiX toolset is based on a declarative XML authoring model. You can use WiX on the command line by using the WiX tools or MSBuild.


2 Answers

I ended up:

  • Installing WiX 3.5.1916 with the .MSI package (later versions failed in strange ways which I didn't put much effort into figuring out)

  • Copying the following files to the build server:

    • %programfiles%\Windows Installer XML v3**
    • HKLM\SOFTWARE\Microsoft\Windows Installer XML\3.0 (SOFTWARE\Wow6432Node\ for x64 systems)
    • %programfiles%\MSBuild\Microsoft\WiX\v3.0**

It builds successfully now, I haven't done much testing with the resulting files though. So it seems it is possible to have 3.0 and 3.5 concurrently, it's just a minor pain to make it work.

like image 151
gregmac Avatar answered Oct 27 '22 11:10

gregmac


The way wix is currently designed you can't have 3.0 and 3.5 both installed on the same machine. They do provide a zip version of wix that enables you to let your build automation self deploy wix onto the build server to get around this limitation. You do lose certain things like visual studio integration though.

like image 33
Christopher Painter Avatar answered Oct 27 '22 11:10

Christopher Painter