2015-07-20 2 views
0

То, что я хочу сделатьВ InstallShield, как изменить значение моего свойства до его использования при замене текста SQL?

В InstallShield Я хочу, чтобы установить значение свойства до того, как используется функция SQL замены текста. Я хочу, чтобы новое значение свойства появилось из элемента управления Edit, добавленного в диалог.

Что я сделал до сих пор

Я добавил сценариев SQL для моего проекта InstallShield, которые включают в себя заполнители для функции замены текста ınstallshield в. Я использовал вкладку «Смена текста», чтобы найти и заменить заполнитель в сценарии SQL значением свойства, которое я добавил в Property Manager. Это работает правильно, но только для значения свойства по умолчанию.

Где я застрял

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

То, что я пытался это следующий InstallScript, который запускается, когда пользователь нажимает кнопку Далее на мой пользовательский Диалог:

CtrlGetText("MyDialog", EDIT_VALUE_FROM_USER, svValueFromUser); 
MsiSetProperty (hwndDlg, "EDIT_VALUE_FROM_USER", svValueFromUser); 

Где EDIT_VALUE_FROM_USER моя собственность. Это выполняется без ошибок, но значение не приходит к окончательному сценарию SQL.

Почему не используется новое значение для EDIT_VALUE_FROM_USER, используемого при замене текста SQL? Как я могу диагностировать, почему он не работает? Должен ли я делать это совершенно по-другому?

ответ

1

Это оказалось потому, что я не использовал системное свойство ISMSI_HANDLE.

Так правильный код, чтобы написать свойство из элемента управления Edit в диалоге Выборочная:

CtrlGetText("MyDialog", EDIT_VALUE_FROM_USER, svValueFromUser); 
MsiSetProperty (ISMSI_HANDLE, "EDIT_VALUE_FROM_USER", svValueFromUser); 
0

Я предполагаю, что ваше свойство не указано в свойстве SecureCustomPublicProperties и возвращается к его значению по умолчанию, когда установщик переходит к последовательности выполнения установки. Файл журнала установки даст больше данных для работы.

+0

Спасибо за предложение. Я действительно обнаружил, что проблема была простой ошибкой в ​​моем коде. – x5657

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

  • Нет связанных вопросов^_^