Ваш второй метод должен работать просто отлично.Это тот же метод, который используется для файлов .wxl
по умолчанию.
Например, в вашем файле .wxl
вы объявите свою строку:
<String Id="Message_Foo">Foo blah blah [Property1]</String>
И в своем .wxs
файл, вы объявляете собственность.При желании вы можете объявить свойство в соответствии с переменной WiX (что, по вашему мнению, вы пытаетесь сделать)
<Property Id="Property1">$(var.Property1)</Property>