加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

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

发布时间:2020-12-14 05:43:07 所属栏目:Windows 来源:网络整理
导读:我使用的是高级安装程序10.7.1.我正在添加’run windows powershell script’的自定义操作.此脚本的作用是检查安装程序是否在azure vm上运行.如果是,那么它才允许用户安装.该脚本在vm上运行正常,我已经检查过了.但现在我需要根据脚本的结果显示错误信息.这意
我使用的是高级安装程序10.7.1.我正在添加’run windows powershell script’的自定义操作.此脚本的作用是检查安装程序是否在azure vm上运行.如果是,那么它才允许用户安装.该脚本在vm上运行正常,我已经检查过了.但现在我需要根据脚本的结果显示错误信息.这意味着我必须在脚本中设置一些属性,在此基础上我将显示错误消息.
任何人都可以通过powershell脚本告诉我如何设置高级安装程序的属性.

解决方法

这是 limitation of Windows Installer,而不是Advanced Installer. PowerShell无法访问安装的Session对象,因此无论用于构建MSI的工具如何,都无法将PowerShell脚本中的属性设置/获取到MSI中.

可以用来设置属性(当然是立即安排)的唯一自定义操作是VBS脚本(内联或附加文件)或用C++或C#编写的DLL.在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 Installer仅接受strictly defined set of return codes,对于Advanced Installer中的PowerShell自定义操作,返回代码由安装程序在后台控制.

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读