views:

68

answers:

1

Hi,

Is there a way to get an environment variable in WIX into a 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.

Any suggestions would be appreciated.

Thanks.

+1  A: 

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

fletcher