首页 > 解决方案 > 高级安装程序:查询结果未存储在属性中

问题描述

我想在高级安装程序中运行一个查询,并在安装的最后阶段使用它的结果。场景是这样的:在设置开始时,使用查询我在日志表中插入一条记录,如下所示:

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组合框中的结果,但它没有显示,并且只显示它的默认值。

在此处输入图像描述

这是 property 的配置UML_ID_PROP

在此处输入图像描述

标签: advanced-installer

解决方案


您正在安装执行阶段设置属性。这是一个 Windows Installer 限制,属性值不能从Install Execution Stage传递到Wizard Dialogs Stage

您的解决方法是通过在Wizard Dialogs Stage中安排的自定义操作来设置属性。

如我所见,您正试图在属性中获取 SQL 查询的结果并在ExitDialog上显示该属性。请注意,您可以在向导对话框阶段轻松执行 SQL 查询,有关详细信息,请查看从 SQL 查询视频中设置 MSI 属性。

查看Windows Installer 自定义操作文章,以更好地了解如何在 MSI 中执行自定义操作/标准操作。


推荐阅读