It's important to clear up confusion around the difference between wix variables and windows installer properties.
A wix variable can be referenced as $(var.foo)
. Such a variable can be defined by passing -d
command line arguments to candle.exe
. It can also be defined by the <?define foo="bar"?>
syntax. A wix variable is a concept that only exists while building your setup. It is something that it is filled in by the wix preprocessor before anything else happens, much like #define
statements in C++.
A windows installer property is something that is filled in during installation. One way to define properties is to put them in the Property table of an MSI file. This is what the wix Property element does. Some (but not all) data types used in a windows installer database allow you to reference such a property with the [FOO]
syntax. One example of a data type which supports this is the Shortcut data type, used by the Target
attribute of the wix Shortcut element. The Language datatype does not support this!