2016-01-27 5 views
0

Как получить значение флажка в installscript в Installshield?Извлечение значения флажка DIalog в Installscript

фона: У меня есть флажок, который имеет свойство "UALCSTATUS" и его значение «ON» .в разделе Диалоги. Когда я получить значение в InstallScript с помощью следующей команды, она получает 0 или ничего (ли зарегистрированный или незарегистрированный)

MsiGetProperty(hMSI, "UALCSTATUS", szStrValue, nVal); 

Должен ли я установить пользовательское действие, когда я установите флажок, чтобы я мог установить значение от "UALCSTATUS", чтобы он был установлен в положение «ON».

ответ

0

Свойства, привязанные к флажкам в Windows Installer UI, устанавливаются в значения, которые оцениваются как true или false. В то время как вы можете настроить точное значение, используемое для истинного/проверяется в CheckBox table, более простой подход был бы назвать MsiEvaluateCondition с условием строки имя свойства, и сравнить его с MSICONDITION_TRUE (1):

if MsiEvaluateCondition(hMSI, "UALCSTATUS") = MSICONDITION_TRUE then 
    : : : 
endif; 

В качестве альтернативы для такого простого условия вы можете просто получить свойство, как вы описали, и сравнить его с пустой строкой. Если он пуст, установлен флажок. Если он установлен на что-либо еще, флажок установлен.

В качестве стороннего примечания для проекта, использующего интерфейс на основе InstallScript, вместо проверки свойств вы вызываете CtrlGetState, чтобы определить, установлен ли этот флажок. Обычно это открывается через параметр byref функции, которая отображает диалоговое окно.