You need to enable JavaScript to run this app.
最新活动
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

从安装程序运行的可执行文件中获取MSI安装程序文件的名称

以下示例展示了如何通过安装程序内运行的可执行文件获取MSI安装程序文件的名称。

using Microsoft.Deployment.WindowsInstaller;

//获取当前安装程序的上下文
var context = new InstallContext(null, null);

//获取安装程序的所有安装信息
var installer = new Installer();
var session = installer.OpenPackage("<path_to_msi_file>", false);
var summaryInformation = session.SummaryInformation;

//从可执行文件中获取安装程序名称
var executablePath = context.Parameters["CustomActionData"];
var executableInfo = new System.IO.FileInfo(executablePath);
var msiName = System.IO.Path.GetFileNameWithoutExtension(summaryInformation.Property[1]);

//将名称打印到控制台
Console.WriteLine("The name of the MSI installer file is {0}.msi", msiName);

需要在安装程序中创建一个自定义操作,使得可执行文件能够接收包含安装程序名称的参数。例如:

<CustomAction Id="SetExecutableParameter" BinaryKey="CustomActions" DllEntry="SetExecutableParameter" Execute="immediate" Return="check" />
<InstallExecuteSequence>
    <Custom Action="SetExecutableParameter" Before="RunExecutable" />
    <Custom Action="RunExecutable" Before="InstallFinalize" />
</InstallExecuteSequence>

将以下代码添加到自定义操作中以设置参数:

using Microsoft.Deployment.WindowsInstaller;

public static ActionResult SetExecutableParameter(Session session)
{
    var installer = new Installer();
    var executeSequenceTable = installer.OpenExecuteSequenceDatabase("<path_to_msi_file>");
    var msiName = executeSequenceTable.ExecuteProperties["ProductCode"];
    session["CustomActionData"] = string.Format("{0} {1}", "<path_to_executable_file>", msiName);
    return ActionResult.Success;
}
本文内容通过AI工具匹配关键字智能整合而成,仅供参考,火山引擎不对内容的真实、准确或完整作任何形式的承诺。如有任何问题或意见,您可以通过联系service@volcengine.com进行反馈,火山引擎收到您的反馈后将及时答复和处理。
展开更多
面向开发者的云福利中心,ECS 60元/年,域名1元起,助力开发者快速在云上构建可靠应用

社区干货

2022技术盘点之平台云原生架构演进之道|社区征文

服务通过Kubernetes API-Server获取后端一组Service Pod真实IP,业务POD通过Calico网络进行POD与POD直接流量通讯。## 四 安全管控### 4.1 SmartOps安全全景![](https://kaliarch-bucket-1251990360.cos.ap-be... 使服务达到高可用。- 弹性伸缩:触发式任务,合理使用资源,每次运行脚本任务时,Gitlab-Runner 会自动创建一个或多个新的临时 Runner来运行Job。- 资源最大化利用:动态创建Pod运行Job,资源自动释放,而且 Kubernetes...

干货|8000字长文,深度介绍Flink在字节跳动数据流的实践

程序、Web等各种线上应用时产生的行为,主要通过埋点的形式进行采集上报,按不同的来源分为客户端埋点、Web端埋点、服务端埋点。不同来源的埋点都通过数据流的日志采集服务接收到MQ,然后经过一系列的Flink实时... 更新线程每分钟通过RPC请求从流量平台拉取并更新相关元数据。Source将从MQ中消费到的数据传入ProcessFunction,根据MQ对应的Schema反序列化为InputMessage,然后进入规则引擎中,通过规则索引匹配出需要运行的规...

漫谈开源许可证:开发者需要知道的法理和事例

**开源许可证** 开源许可证可以看作是一种项目所有者与用户之间签订的合同,用户通过遵守许可证的要求来获取其授予的权利。作品没有依据任何开源许可证发布的话,根据著作权法默认不授予第三人权利,... 整个程序的源代码发布要求也不包含这些系统库,即使你发布的是连接了这些库之后的可执行文件也是一样。 **> 依赖包**ffmpeg.wasm 项目是 FFmpeg 的 WebAssembly / JavaScript 移植版本。它可以在浏览器内实...

深度解读 Android 14 重要的 8 个新特性|社区征文

理由是 New Features 不像 Behavior Changes:OS 升级之后如果运行上出了问题,调查下文档就知道 14 变更了什么、如何改。而 New Features 作为新的功能、API,并不会影响 App 原来的逻辑,但**实实在在地解决了痛点、... 安装改善## 1.ScreenShot Detection部分 App 常常需要监听用户的截屏操作,进行发送反馈的提醒等,往常是使用哪些手段来实现呢?一般来说,开发者会通过监听存放截屏文件的媒体目录的变化来迂回实现,这往往需要 ...

特惠活动

热门爆款云服务器

100%性能独享,更高内存性能更佳,学习测试、web前端、企业应用首选,每日花费低至0.55元
60.00/1212.00/年
立即购买

域名注册服务

cn/top/com等热门域名,首年低至1元,邮箱建站必选
1.00/首年起32.00/首年起
立即购买

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

从安装程序运行的可执行文件中获取MSI安装程序文件的名称 -优选内容

制作Windows镜像
上传您所需的基础镜像文件到宿主机/home文件夹中,建议您使用官方镜像。 若您可选的镜像文件包括QCOW2、ISO两种格式,建议选择QCOW2镜像。 创建虚拟机。 假设已上传的基础镜像文件名称为:windows-2019-x64.qcow2... 网卡驱动 磁盘驱动 第三步:在虚拟机上安装Cloudbase-init执行wget命令,下载Cloudbase-init安装程序,下载链接为: 64位:https://www.cloudbase.it/downloads/CloudbaseInitSetup_Stable_x64.msi 32位:https://ww...
干货|8000字长文,深度介绍Flink在字节跳动数据流的实践
程序、Web等各种线上应用时产生的行为,主要通过埋点的形式进行采集上报,按不同的来源分为客户端埋点、Web端埋点、服务端埋点。不同来源的埋点都通过数据流的日志采集服务接收到MQ,然后经过一系列的Flink实时... 更新线程每分钟通过RPC请求从流量平台拉取并更新相关元数据。Source将从MQ中消费到的数据传入ProcessFunction,根据MQ对应的Schema反序列化为InputMessage,然后进入规则引擎中,通过规则索引匹配出需要运行的规...
搭建Web环境(Windows)
在弹窗中选择存储路径,单击“提取”按钮。 配置服务器。 请进入提取获得的文件夹,并在“Apache24 > conf”文件夹中,右键单击httpd.conf文件,选择“打开方式”并以记事本打开该配置文件。 在配置文件中找到Defin... 因此选用mysql-installer-web-community-8.0.36.0.msi,请按实际情况选择。 双击下载获取的安装程序,开启安装流程。 在“Choosing a Setup Type”页面。 选择您需要安装的内容,本实践保持默认。 单击“Next”按钮...
漫谈开源许可证:开发者需要知道的法理和事例
**开源许可证** 开源许可证可以看作是一种项目所有者与用户之间签订的合同,用户通过遵守许可证的要求来获取其授予的权利。作品没有依据任何开源许可证发布的话,根据著作权法默认不授予第三人权利,... 整个程序的源代码发布要求也不包含这些系统库,即使你发布的是连接了这些库之后的可执行文件也是一样。 **> 依赖包**ffmpeg.wasm 项目是 FFmpeg 的 WebAssembly / JavaScript 移植版本。它可以在浏览器内实...

从安装程序运行的可执行文件中获取MSI安装程序文件的名称 -相关内容

MAD,现代安卓开发技术:Android 领域开发方式的重大变革|社区征文

比如只预设对应架构的 `so`文件、图片和语言资源。得以压缩体积,进而提升安装成功率并减少卸载量* 支持便捷创建 `Instant App`,可以免安装、直接启动、体验试用* 满足模块化应用开发,提升大型项目的编译速度和开... 同时因为指定耗时逻辑运行在工作线程的缘故,无需管理线程切换可直接更新 UI。```kotlinfun login(username: String, token: String) { val jsonBody = "{ username: \"\$username\", token: \"\$token\"}"...

获取所有ECS云监控指标的Python脚本

# 概览本脚本是一个可通过配置文件(config.ini)进行构造申明,对接云监控openapi,获取某类云资源的某些监控指标的通用代码(目前在获取ECS及20+个ECS监控指标上测试通过)。如需获取其他云资源及其监控指标,可自行测... 详细配置参见配置文件内的注释。```# 启动服务进入主目录```cd monitorMetricClient```使用python的包管理工具pip安装所有的第三方库:```pip install -r requirement.txt```运行程序:```cd callOpe...

【PHP】thinkPHP6中的MVC思想的小案例

运行环境的搭建### 1.1、phpstudy安装 由于PHP环境配置相对比较复杂,因此,我们采用phpstudy这样一个PHP程序集成包来快速完成基础环境搭建。phpstudy程序包中集成了Apache、PHP、MySQL等,可以实现一次安... 文件中的类名,要跟创建的文件的类名保持一致,按照驼峰法进行命名(即首字母大写)。 (2)在类中定义的index()方法代码解读: 第一句代码:是创建Score对象。该Score类是在下面的model中定义的,所有...

热门爆款云服务器

100%性能独享,更高内存性能更佳,学习测试、web前端、企业应用首选,每日花费低至0.55元
60.00/1212.00/年
立即购买

域名注册服务

cn/top/com等热门域名,首年低至1元,邮箱建站必选
1.00/首年起32.00/首年起
立即购买

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

Kubernetes 观测:基于 eBPF 的云原生深度可观测性实践

既可以帮我们自顶向下、深入内核挖掘更多的可观测性,实现 **纵向关联打通**;又可以横向通过访问关系、Trace 串联,打通各个可观测数据之间的因果关系,实现可以追溯 **任意时序状态**的动态拓扑?# **破局:eBPF 全栈深度观测能力**## **eBPF 简介**eBPF 是一种数据包过滤技术,从 BPF (Berkeley Packet Filter) 技术扩展而来,它起源于 Linux 内核,可以在操作系统内核中运行沙盒程序。eBPF 被用于安全有效地扩展内核的功能,...

【MindStudio训练营第一季】基于U-Net网络的图像分割的MindStudio实践

ECS运行说明我们的操作基本都在root用户下执行。首先,修改bash,具体命令和结果如下。![image.png](https://bbs-img.huaweicloud.com/blogs/img/20221224/1671862730949367915.png)本项目支持MindStudio运... ├── main.py // 推理文件 ├── run.sh // 执行文件 ├── requirements.txt // 需要的三方库```### (2) 模型转换将une...

安装NVIDIA GRID驱动

可执行权限应用于二进制文件:sudo chmod +x /usr/local/bin/docker-compose回显如下,表示安装成功。 3)部署license 2.0 image执行以下命令,将软件包nls-2.0.0-bios.zip解压至DLS文件夹中。 ls -l ... 暂不支持安装GRID驱动。Windows Server 2019 数据中心版 64位中文版 (GPU) Windows Server 2016 数据中心版 64位中文版(GPU) 登录Windows实例。 安装已获取的GRID驱动。双击安装程序,在弹出的对话框,单击“OK”按...

Windows系统中安装Cloudbase-Init

其余推荐安装1.1.2版本,否则不保证边缘实例可以正常运行。请根据实际使用的操作系统,下载对应的Cloudbase-Init安装包。 软件名称 获取路径 说明 64位:CloudbaseInitSetup_1_1_2_x64.msi32位:CloudbaseInitSetu... 待Cloudbase-Init 完成安装后,请勿勾选任何复选框,直接单击Finish关闭Cloudbase-Init安装界面。 修改Cloudbase-Init配置文件打开 cloudbase-init.conf 配置文件。cloudbase-init.conf 配置文件的默认路径为:C:\P...

VirtualBox制作ubuntu14镜像

执行exe应用程序文件,进行安装。 配置VirtualBox的环境变量。a. 在“开始”处,查找“高级系统设置”,选择打开进入页面b. 点击“环境变量”c. 双击“PATH”d. 点击“新建”,输入“C:\Program Files\Oracle\VirtualBox”,点击“确定” 步骤二:虚拟机安装Ubuntu14操作系统下载Ubuntu14镜像文件,下载地址https://releases.ubuntu.com/14.04.6/ 打开VirtualBox,点击新建,创建虚拟机.输入虚拟机名称,文件夹、类型、版本可以自定义。 ...

GPU-部署基于DeepSpeed-Chat的行业大模型

apt-get updatesudo apt-get -y install cuda-11.4 执行以下命令,检查CUDA是否安装成功。dpkg -l grep cuda-11回显如下,表示CUDA已成功安装。 配置CUDA环境变量。 执行vim ~/.bashrc命令,打开配置文件。 按i进入... 将原数据的两个文件合并成一个json文件(dataclean.py),方便程序读取。 执行vim dataclean.py命令,打开dataclean.py文件。 按i进入编辑模式,添加如下内容。 import pandasdef transform_group(group): group.re...

特惠活动

热门爆款云服务器

100%性能独享,更高内存性能更佳,学习测试、web前端、企业应用首选,每日花费低至0.55元
60.00/1212.00/年
立即购买

域名注册服务

cn/top/com等热门域名,首年低至1元,邮箱建站必选
1.00/首年起32.00/首年起
立即购买

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

产品体验

体验中心

云服务器特惠

云服务器
云服务器ECS新人特惠
立即抢购

白皮书

一图详解大模型
浓缩大模型架构,厘清生产和应用链路关系
立即获取

最新活动

爆款1核2G共享型服务器

首年60元,每月仅需5元,限量秒杀
立即抢购

火山引擎增长体验专区

丰富能力激励企业快速增长
查看详情

数据智能VeDI

易用的高性能大数据产品家族
了解详情

一键开启云上增长新空间

立即咨询