Расширенный установщик: результат запроса не сохраняется в свойстве

#advanced-installer

#расширенный установщик

Вопрос:

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

 DECLARE @return_value int
DECLARE @UML_ID int
EXEC    @return_value = [Common].[UML_Insert_WebServiceInstaller]
        @UML_ToVersion = '$VERSION$',
        @UML_UpdateType = 1,
        @UML_ID = @UML_ID OUTPUT

SELECT @UML_ID AS UML_ID_PROP
  

Затем в конце установки я должен обновить заданную запись, вернув ее как UML_ID_PROP.

Я определил свой запрос для сохранения его результата следующим UML_ID_PROP образом:

введите описание изображения здесь

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

введите описание изображения здесь

И вот конфигурация для свойства UML_ID_PROP .

введите описание изображения здесь

Ответ №1:

Вы устанавливаете свойство на этапе выполнения установки. Ограничение установщика Windows заключается в том, что значения свойств не могут передаваться с этапа выполнения установки на этап диалоговых окон мастера.

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

Как я вижу, вы пытаетесь получить результат SQL-запроса в свойстве и отобразить это свойство в ExitDialog . Обратите внимание, что вы можете легко выполнить SQL-запрос на этапе диалоговых окон мастера, для получения подробной информации, пожалуйста, проверьте Set MSI properties из SQL queries video.

Проверьте статью пользовательских действий установщика Windows, чтобы лучше понять, как пользовательские действия / стандартные действия выполняются в MSI.