tags:

views:

15

answers:

1

We are using a development environment where some developers are using x64 machines, and some are using Win32 machines, and the 'official' build machine is a 32 bit machine. This can cause problemns because on the x64 dev machines the 'common' merge modules are located at C:\Program Files (x86)\Common Files\Merge Modules\, and on Win32 machines, the location is C:\Program Files\Common Files\Merge Modules. Is there a way to specify that location for WIX (in the wxs file) is a form that would be identical for all dev platforms? I can't use the full hard-coded path, obviously, but I can't find what I should use.

A: 

Unfortunately, there isn't anything built into the WiX toolset to help with this. You'll need to write some solution outside of the WiX toolset to normalize the that directory path (set an env var to the directory that exists?).

It would be an interesting feature for the WiX toolset to support natively.

Rob Mensching
Yes, it would be good for the WIX toolset to accept environment variables. Either DOS or .NET syntax would be good.
Sam Dahan
The WiX toolset preprocess does accept environment variables: $(env.EnvVar). The tricky part is picking the right environment variable since it will be different on the different operating systems.
Rob Mensching