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
组合框中的结果,但它没有显示,并且只显示它的默认值。
这是 property 的配置UML_ID_PROP
。
解决方案
您正在安装执行阶段设置属性。这是一个 Windows Installer 限制,属性值不能从Install Execution Stage传递到Wizard Dialogs Stage。
您的解决方法是通过在Wizard Dialogs Stage中安排的自定义操作来设置属性。
如我所见,您正试图在属性中获取 SQL 查询的结果并在ExitDialog上显示该属性。请注意,您可以在向导对话框阶段轻松执行 SQL 查询,有关详细信息,请查看从 SQL 查询视频中设置 MSI 属性。
查看Windows Installer 自定义操作文章,以更好地了解如何在 MSI 中执行自定义操作/标准操作。
推荐阅读
- laravel - Laravel 和 PHPUnit - 134217728 字节的允许内存大小已用尽
- java - 将字段设置为 null 时的 Java Null 取消引用 - Fortify
- kubernetes - configmaps 可以在 kubernetes 中使用容忍度吗?
- javascript - 如何使用 jQuery 将(大量)多个元素附加到 DOM
- biztalk - 如何强制 Teamcity 使用 BTDF 6.0
- php - 从多维数组创建多个 HTML 表
- c# - 使用 Azure Functions 将 PowerPoint 幻灯片转换为图像
- ruby - 在 Ruby 中使用 Eval 设置动态哈希名称的问题
- azure - 将 Azure Web 应用中的子网站重定向到其他网站
- heroku - 在 Heroku 上运行我的 Symfony 应用程序:““服务器”命名空间中没有定义命令。”