2015-07-14 3 views
0

Что я хотел бы сделать, так это проверить значения свойств, введенные в вызовы msiexec/QN.Wix Toolset - Есть ли способ проверить значения свойств бесшумной установки

В качестве примера, для проверки подлинности базы данных SQL Server, выполняемой во время выполнения, нам необходимо предоставить аутентификацию Windows и аутентификацию пользователя SQL. Я представляю их с помощью RadioButtonGroup в окне диалога пользовательского интерфейса. Значение по умолчанию для свойства «RT_DB_LOGON_TYPE», проходящего через интерфейс, равно «SqlAuth».

Для автоматической установки, я хотел бы:

1) Установите значение по умолчанию свойства «RT_DB_LOGON_TYPE» в «SqlAuth», если пользователь не введет никакого значения для свойства «RT_DB_LOGON_TYPE» на молчаливом установите командную строку.

2) Проверить условие запуска, который потерпит неудачу, если значение свойства «RT_DB_LOGON_TYPE» установлен на нечто иное, чем «SqlAuth или„WinAuth“(чувствительно к регистру).

Мой код (находится в моем эквиваленте файла product.wxs):

<SetProperty Id="RT_DB_LOGON_TYPE" Value="SqlAuth" Before="LaunchConditions" Sequence="both">NOT RT_DB_LOGON_TYPE</SetProperty> 
<Condition Message="!(loc.RT_DB_LOGON_TYPE_Messg)">RT_DB_LOGON_TYPE ~= "SqlAuth" OR RT_DB_LOGON_TYPE ~= "WinAuth"</Condition> 

При создании пакета WiX MSI я получаю следующее сообщение об ошибке:

[ВЫПЛН] D: \ вещи \ скрипты \ TestNG \ установка \ wix_installer \ диалогах \ TenantDBConnectDlg .wxs (23): ошибка LGHT0094: нерешенный рефери ce в символ «Свойство: RT_DB_LOGON_TYPE» в разделе «Фрагмент:».

Есть ли способ сделать этот тип проверки в WiX?

ответ

0

Выглядит, я решил свой вопрос; по крайней мере для элементов Wix RadioButtonGroup.

В моих product.wxs эквивалентный файл, я просто добавить эти две строки

<Property Id="RT_DB_LOGON_TYPE" Value="SqlAuth" /> 
<Condition Message="!(loc.RT_DB_LOGON_TYPE_Messg)">RT_DB_LOGON_TYPE ~= "SqlAuth" OR RT_DB_LOGON_TYPE ~= "WinAuth"</Condition> 

В файле журнала, все работает, как хотелось бы. RT_DB_LOGON_TYPE:

1) получает устанавливается на значение свойства элемента 2) получает переопределено значение, введенное в командной строке (например, RT_DB_LOGON_TYPE = Foo 3) получает оценку в состоянии запуска, которая захватывается в файл журнала.

Примечание: я не обнаружил визуальных подсказок к этому сбою вне файла журнала.

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