2013-04-02 2 views
1

Я могу использовать "!(bind.property.ProductVersion)" для установки, например, атрибута UpgradeVersion \ @Minimum. Работает отлично. Но теперь я хочу, чтобы установить этот атрибут в нечто вроде:Как объединить переменные Wix

"!(bind.property.ProductVersion.Major).!(bind.property.ProductVersion.Minor).0.0" 

Но это не работает. Я получаю эту ошибку: значение атрибута UpgradeVersion/@ Maximum, '! (Bind.property.ProductVersion.Major).! (Bind.property.ProductVersion.Minor) .0.0', не является допустимой версией. Значение юридической версии должно выглядеть так: «x.x.x.x», где x - целое число от 0 до 65534.

Любые идеи, как я могу заставить это работать?

С уважением Яап

ответ

0

К сожалению, появляется атрибут версии разрешено только иметь одну переменную связующую заменить всю строку. Он не поддерживает описанный вами сценарий. Однако, похоже, должно. Вы можете сделать ошибку в http://wixtoolset.org/bugs

+0

Я подал ошибку на https://sourceforge.net/p/wix/bugs/3256/ – Jaap

+0

Я отмечаю это как ответ, хотя и не тот, который я хотел услышать:). Надеюсь, что «ошибка» скоро будет решена. И если нет, я всегда могу создать расширение для решения этой проблемы (http://wix.sourceforge.net/manual-wix3/extension_development_preprocessor.htm) – Jaap

+0

** Или ** вместо написания расширения вы могли бы помочь нам улучшить WiX набор инструментов и исправить ошибку и внести свой вклад в проект OSS. :) Код, который вы ищете, это 'GetAttributeVersionValue()' в 'src \ wix \ CompilerCore.cs'. Довольно очевидно, как сейчас поддерживается единственная переменная привязки. –

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