Get an environment variable into a WiX property

environment, wix

Solution

You can make use of Environment variables during installation but this requires using a custom action. You will need to set the `UserFolder` property with a `Type 51 Custom Action` as opposed to setting the property during the build. The [%ENVVARNAME] format is used to make use of an environment variable, but the name of the environment variable is case-sensitive.

A WiX example of a custom action that sets a property:

<CustomAction Id="SetUserFolder" Property="UserFolder" Value="[%USERPROFILE]EdwardsApp\MyFolder" />

You can read more on Custom Actions in WiX here:

http://blogs.technet.com/b/alexshev/archive/2008/02/21/from-msi-to-wix-part-5-custom-actions.aspx

Problem

Is there a way to get an environment variable into a WiX property? I'm trying to get the `USERPROFILE` with: ``` Property Id="UserFolder" Value="$(env.USERPROFILE)\EdwardsApp\MyFolder" ``` But this only picks up the `USERPROFILE` of the build machine where the installer is built. I want it to use the `USERPROFILE` of the machine where the app is being installed.

Original source