2014-02-03 4 views
0

Мы можем получить версию продукта в wix с помощью !(bind.fileVersion.Product.exe). Это возвращает версию как 3.8.2363.0. Как я могу получить версию до билда, т.е. 3.8.2363.WIX: получить версию настройки upto buildversion

я следовал Binding WIX FileVersion sub values? ссылку, но с использованием «! (Bind.property.ProductVersion.Major)» не решить мою проблему.

<?define ProductVersion123="!(bind.fileVersion.mainexe_dll)" ?> 
<Product Id="{7BDF78BF-95E8-4ABB-8A0F-4A1483D7FDD1}" Name="SpreadsheetConverter !(bind.property.ProductVersion123.Major)" Language="1033" Version="!(bind.property.ProductVersion123.Major)" Manufacturer="ABC" UpgradeCode="$(var.ProductUpgradeCode)" Codepage="1252"> 

Это дает ошибку:

Нерешенные переменной связывания времени Mainexe (bind.property.ProductVersion123.Major!).

Пожалуйста, помогите. Thanks

+0

Возможный дубликат [Binding WIX FileVersion sub values?] (Http://stackoverflow.com/questions/12006466/binding-wix-fileversion-sub-values) –

ответ

0

Вы должны понять, что! (Bind.property.X). Он извлекает значение свойства X из таблицы свойств MSI. Вы не настроили свойство ProductVersion123 в MSI, вы создали переменную препроцессора WiX ProductVersion123.

Так что вам нужно назначить атрибут Version Version продукта ($ var.ProductVersion123) (который устанавливает свойство ProductVersion для MSI). Теперь вы можете получить доступ к этому с помощью! (Bind.property.ProductVersion), включая расширения! (Bind.property.ProductVersion.X).

Смежные вопросы