提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
原创|使用教程|编辑:况鱼杰|2019-12-02 16:31:08.047|阅读 801 次
概述:MSI自定义操作的最常用类型之一是启动可执行文件的操作。此类操作通常用于打开当前安装所安装的文档,或启动系统可执行文件以执行Windows Installer不直接支持的系统更改。本文将会详细介绍MSI的可执行自定义操作。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
相关链接:
InstallShield是构建Windows安装程序和MSIX包并直接在Microsoft Visual Studio中创建安装的最快速最简单的方法。借助InstallShield,您可以快速适应行业的变化,更快地进入市场并提供引人入胜的客户体验。
MSI的可执行自定义操作
自定义操作的最常用类型之一是启动可执行文件的操作。此类操作通常用于打开当前安装所安装的文档,或启动系统可执行文件以执行Windows Installer不直接支持的系统更改。使用这种类型的自定义操作启动的可执行文件可以由当前安装来安装,已经位于目标系统上,或者可以流式传输到MSI数据库的Binary表中。
例如,假设您要从目标系统的Windows目录中启动记事本的副本。首先,打开自定义动作和序列视图,右键单击自定义动作图标,然后选择New EXE(新建EXE)>Path referencing a directory(引用目录的路径)。
在工作目录设置中,输入WindowsFolder,该目录属性表示可执行文件的位置。在文件名和命令行设置中,输入可执行文件名称notepad.exe。
如果正在启动的可执行文件在目标系统上的目录中,则必须将自定义操作放在标准CostFinalize操作之后。CostFinalize操作设置目录属性的值,并且尝试引用目录属性(例如WindowsFolder或SystemFolder)将导致运行时错误2732,在Windows Installer帮助库中将其描述为未初始化目录管理器。
在这种情况下,由于Notepad.exe存在于目标系统上,因此可以在CostFinalize操作之后将此自定义操作放置在用户界面序列或执行序列(或两者)中。不必指定延迟执行,也不必先执行InstallFiles操作。
可执行的自定义操作除了作为命令行参数传递的那些属性外,无权访问安装属性。 命令行参数的典型用法是将文档的路径传递给正在启动的可执行文件。例如,假设您要在发生数据传输后使用Notepad.exe启动自述文件。 在这种情况下,自定义操作的文件名和命令行设置可能显示为:notepad.exe “[INSTALLDIR]Readme.txt”
如果文件路径包含任何空格,大多数可执行文件都需要在参数周围加上引号。
必须在标准InstallFiles操作之后安排启动可安装的可执行文件的动作或打开正在安装的文档的动作,以便推迟执行。在即时模式下,数据传输尚未开始。并且在InstallFiles之前的延迟模式下,文档和可执行文件不会被放置在目标系统上。
Not Installed(未安装)条件确保仅在首次安装过程中运行操作(即显示自述文件),而不在维护模式或卸载过程中运行。
为确保该操作仅在首次完整UI安装期间运行,您可以使用条件(未安装)和(UILevel = 5)。进一步的可能改进是使用组件操作条件($ ComponentName = 3)将操作与包含自述文件的组件相关联。
推荐文章:
如果您想要购买正版授权InstallShield,可以联系咨询相关问题。
关注慧聚IT微信公众号☟☟☟,了解产品的最新动态及最新资讯。
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn
文章转载自:本文探讨 SQL Server 中 NULL 和空值之间的区别,并讨论如何有效地处理它们。
Unity 是一款功能极其丰富的游戏引擎,允许开发人员将各种媒体集成到他们的项目中。但是,它缺少最令人兴奋的功能之一 - 将 Web 内容(例如 HTML、CSS 和 JavaScript)直接渲染到 3D 场景中的纹理上的能力。在本文中,我们将介绍如何使用 DotNetBrowser 在 Unity3D 中将 Web 内容渲染为纹理。
DevExpress v24.2帮助文档正式发布上线了,请按版本按需下载~
本教程将向您展示如何用MyEclipse构建一个Web项目,欢迎下载最新版IDE体验!
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@cahobeh.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢