wix

How to extract data (file count) from MSI "File" Table

In our build process there is currently the potential for non-code based files (such as image files) to be added to our web project, but not included in the MSI installer built by WiX. To help prevent this, I want to perform the following in the AfterBuild target for our WiX project: Get a count of all files built (output from web de...

Buy or Build for web deployment?

I have been evaluating the wide range of installation and web deployment solutions available for Windows applications. I will just clarify here (without too much detail, these tools have been covered in other questions) my understanding of the options: NSIS - Free tool that generates setup executables. Small binary. Specialized, som...

Using WIX to install a WMI provider.

I have developed a WMI provider in C# using the System.Management.Instrumentation namespace. I need to install the provider into the GAC and register it with the WMI repository using MSI. How might I accomplish this with WIX? ...

How do I fix the upgrade logic of a wix setup after changing InstallScope to "perMachine"

We use wix to create setups for our application. For the case where the user has already installed an older version of our application, we do a major upgrade by making use of Upgrade elements and RemoveExistingProducts as described here. This is all working as desired: if an older version is installed, it is upgraded transparently. If a ...

Wix property in feature title

Can I use a property in a Feature title and description, a shortcut name etc. The value of the property is being set via a custom action before LaunchConditions. I’ve tried something like <Feature Id="Complete" Title="[APPNAME]" Description="[APPNAME] Installation" …> but I just get a feature title [APPNAME], not the name of my app...

How can I detect .net 3.5 in WiX?

I'm trying to detect which version .NET is installed using WiX. I've tried: <Condition Message='This setup requires the .NET Framework 3.5 or higher.'> <![CDATA[MsiNetAssemblySupport >= "3.5.0.0"]]> </Condition> But that won't work, because the MsiNetAssemblySupport property checks the version of fusion.dll, which wasn't updated fr...

MSI install sequence - run DB scripts before services start

Folks, we're running into some sequencing troubles with our MSI install. As part of our app, we install a bunch of services and allow the user to pick whether to start them right away or later. When they start right away, they seem to start too early in the install sequence - before our database manager had a chance to update the datab...

How to detect SQL Server Express in WiX installer

How do I detect if Sql Server Express is installed and running on a machine in a WiX installer? I want to check before installing my application and if it's not installed and running, to inform a user that it has to install it first before installing my application. ...

How do I install an ASP.Net MVC application on IIS 7 using Wix?

For IIS6 I can use the IIS helpers in Wix to install a web application like this: <iis:WebAppPool Id="AP_MyApp" Name="My Application Pool" Identity="networkService" /> <iis:WebApplication Id="WA_MyApp" Name="MyApp" WebAppPool="AP_MyApp"> <iis:WebApplicationExtension CheckPath="no" Execut...

WIX add new file to shared component

I have a shared dll, we’ll call it Utility.dll that is installed by multiple products. In my WIX file I install Utility.dll as a separate component. Now version 2.0 of the Utility.dll references an additional dll, UtilityUtility.dll which will need to be installed alongside. For my first attempt integrating UtilityUtility.dll I created ...

How do I specify the com+ server when registering a vb6 com+ application without using clireg?

I've found lots of documentation on how to install com+ components with WiX or an exported msi from dcomcnfg but the problem with these approaches is I can't see where to specify the com+ server. Currently we register the components with clireg and the -s switch which allows us to specify the com+ server like so: clireg32.exe BLEH.VBR ...

WiX-- check for a previous installation

Hi all, I've got a legacy application that's installed directly to the user's c: drive, in a directory (like c:\MyApp). Nasty stuff. Problem is, the user can specify to have a second installation on a second drive (like e:\MyApp), and they can have two different versions of the application installed at once in either directory. They ...

WiX: How to prevent a registry value from being removed on uninstall?

I want to assert that a certain registry value exists after installation, so I added the following component: <Component Id="RegistryEntryContextMenuOdt" Guid="4BA5BA24-4F65-4BDF-99EB-CB4B947F31A9" DiskId="1" KeyPath="yes"> <RegistryKey Id="RegKeyOdt" Root="HKCR" Action="create" Key=".odt"> <RegistryValue Type="string" Value="...

How to ensure devenv.exe is not running when my msi is installed

I am writing a VSPackage for Visual Studio 2008, and am deploying it with a WiX generated Msi. As the end of the install, I am running "devenv.exe /setup" as required to get VS to notice my package. However, this command will not succeed if there are any copies of Visual Studio running. Currently, I tell people they have to close all ...

Prompt user to close application during uninstall (in WiX)

I am using Windows Installer XML 3.0 (WIX3) to install some software. Everything works fine, however, I'm having a really hard time to handle the following use case: the installed software is still running, when the user tries to uninstall it. The default behavior seems to remove all files but lets the application running (which is hard...

Best way to create a wix fragment file based on User-defined directories to be used in MSBUILD

In the spirit of this question by Si here: http://stackoverflow.com/questions/471424/wix-tricks-and-best-practices. I am trying to determine the best way to get create wix fragments based on a directories. File harvesting, so to speak. For example under the bin\release folder I could have many different folders plus files that I want ...

Validate user must install at least one of sub features

Here is the structure of my Application's Installer in FeatureTree/SelectionTree Application Core     |_ _ Feature 1     |_ _ Feature 2     |_ _ Feature 3 I want make sure that when user selects Application Core, he must select atleast one of Feature 1, Feature 2 or Feature 3. I know Condition element under feature can be helpful, ...

Does Windows Installer XML support CE installation files?

I want to know if Wix supports the CE platform. ie based on a list of components to produce a cab file that can be installed on Win CE and/or Win Mobile ...

How do I conditionally install a file with WiX based on the target machine (32bit or 64bit)?

I have a file that has a 32bit version and a 64bit version. If I install my application on a 32bit machine, I want the 32bit version of the file to be installed. Likewise, the 64bit version should get installed if the installation is run on a 64bit machine. How do I check which type of machine the installer is being run on with WiX? ...

WiX - Custom Action (after installation) does not run on upgrade

I have created a custom action that gets triggered via UI. It works fine for new install but fails during upgrade. However, if I run a repair from control panel, it then runs fine. I tried capturing msi log but it does not give any clue. Here are the snippets... UI: <Control Id="CloseButton" Type="PushButton" X="230" Y="243" Width="66"...