gpt4 book ai didi

powershell - 高级安装程序 powershell 脚本集属性

转载 作者:行者123 更新时间:2023-12-01 05:12:09 26 4
gpt4 key购买 nike

我正在使用高级安装程序 10.7.1。我正在添加“运行 windows powershell 脚本”的自定义操作。此脚本的作用是检查安装程序是否正在 azure vm 上运行。如果是,那么它才允许用户安装。脚本在虚拟机上运行良好,我已经检查过了。但现在我需要根据脚本的结果显示错误消息。这意味着我必须在脚本中设置一些属性,在此基础上我将显示错误消息。
谁能告诉我如何通过 powershell 脚本设置高级安装程序的属性。

最佳答案

这是 limitation of Windows Installer ,不是高级安装程序。 PowerShell 无权访问安装的 Session 对象,因此无论用于构建 MSI 的工具如何,您都无法从 powershell 脚本设置/获取属性到 MSI。

唯一可用于设置属性的自定义操作(当然,计划为 立即 )是 VBS 脚本(内联或附加文件)或以 C++ 编写的 DLL。或 C# .在 C# 中更容易,因为您可以访问大量 .NET API(但您还要求 .NET Framework 位于最终用户计算机上)。

@ravikanth

It takes only script text and there is no associated action based on the return value. Weird!



这就是 Windows Installer 的工作方式,即构建所有 MSI 程序包的技术。更具体地说,运行到 MSI 中的自定义操作无法使用返回代码来传达“他们想要的任何东西”与主要安装进度。 Windows 安装程序只接受 strictly defined set of return codes ,对于高级安装程序中的 PowerShell 自定义操作,返回代码由安装程序在后台控制。

PS脚本用于安装的场景是用户通常需要在机器上进行一定的配置,为安装做准备。 (例如安装/激活 Windows 组件、配置网络凭据等...)对于安装程序中非常强大且集成的自定义代码,应将 DLL 用作自定义操作,因为它们提供完整的通信周期(可以获取和设置属性) ),也可以很好地调试到 IDE 中(通过附加到安装过程)。

关于powershell - 高级安装程序 powershell 脚本集属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23903254/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com