鲜为人知的Windows“插件”MSI

将EXE安装包封装成MSI应用程序 将EXE安装包封装成MSI应用程序我们在使用GPO进行软件分发时,可能会遇到这样的情况:我们希望软件在安装过程中无需与用户进行交互,但软件的原有的安装程序不支持,比如.exe安装包。我们考虑使用第三方工具为这些不符合条件的安装程序重新进行打包,将其做成MSI类型的安装文件,再利用组策略进行分发。我在这里使用scalable公司的SMART PACKAGER PRO教大家如何制... 阅读详情

一、初识Windows功能增强“插件”MSI

我们经常可以看到许多软件只有一个扩展名为MSI的文件,双击这个文件运行,就会出现和Windows应用软件安装非常相似的安装过程,MSI文件到底是什么?为什么许多软件开始用MSI格式来发行呢?请听我慢慢说来。

1.MSI文件的由来

说到MSI文件,不得不先说说Windows Installer,它不只是安装程序,而是可扩展的软件管理系统。Windows Installer的用途包括:管理软件的安装、管理软件组件的添加和删除、监视文件的复原以及使用回滚技术维护基本的灾难恢复。另外,Windows Installer还支持从多个源位置安装和运行软件,而且可以由想要安装自定义程序的开发人员自定义。要想使用这些功能,就必须通过MSI文件。MSI文件是Windows Installer的数据包,它实际上是一个数据库,包含安装一种产品所需要的信息和在很多安装情形下安装(和卸载)程序所需的指令和数据。MSI文件将程序的组成文件与功能关联起来。此外,它还包含有关安装过程本身的信息:如安装序列、目标文件夹路径、系统依赖项、安装选项和控制安装过程的属性。

2.MSI的优势

Windows Installer技术就是合并在一起发挥作用的两个部分:客户端安装程序服务(Msiexec.exe) 和Microsoft软件安装(MSI)软件包文件。

Msiexec.exe 程序是 Windows Installer 的一个组件。 当 Msiexec.exe 被安装程序调用时,它将用 Msi.dll 读取软件包文件 (.msi)、应用转换文件 (.mst) 并合并由安装程序提供的命令行选项。 Windows Installer 执行所有与安装有关的任务:包括将文件复制到硬盘、修改注册表、创建桌面快捷方式、必要时显示提示对话框以便用户输入安装首选项。

当双击MSI文件的时候,与之关联的Windows Installer 的一个文件Msiexec.exe 被调用,它将用Msi.dll读取软件包文件(.msi)、应用转换文件(.mst)进行进一步处理,然后 Windows Installer 执行所有与安装有关的任务:包括将文件复制到硬盘、修改注册表、创建桌面快捷方式,必要时显示提示对话框以便用户输入安装需要的信息,就这样,一个程序安装到了你的电脑上。

采用MSI安装的优势在于你可以随时彻底删除它们,更改安装选项,即使安装中途出现意想不到的错误,一样可以安全地恢复到以前的状态,正是凭着此强大功能,越来越多的软件开始使用MSI作为发行的方式了。   如果你对MSI文件感兴趣,可以用WinRAR等压缩软件打开,看一下里面的内容,满足一下好奇心。

3、MSI格式文件安装支持程序:WinMe和WinXP对MSI支持得很好,但其他版本的Windows就需要安装一个插件才能使用MSI格式的文件。

点这里下载InstMsiW插件

二、定制自己的MSI文件

前面我们介绍了很多MSI文件的内容,其实MSI并不神秘、复杂,我们自己都能制作,并且制作MSI文件的工具已经在Windows的安装盘上了。

首先,找到Windows2000的安装光盘,双击下边的这个位置的文件:valueadd/3rdparty/Mgmt/Winstle/Swiadmle.msi,

很快软件就自动安装到了电脑中。在开始菜单的所有程序里边就多了“VERITAS software”组,点击运行里边的“VERITAS discover”就可以开始制作MSI文件了。

制作MSI文件的基本原理就是,在我们安装一个软件以前,先给电脑的磁盘拍个“快照”。然后将要安装的软件安装到电脑中,并对注册表等内容做修改,等到确认这个软件能正确运行后,再给电脑的磁盘拍个“快照”。Discover软件会自动找出两次“快照”的不同,并且生成一个MSI文件。最后,如果你愿意,可以使用VERITAS software组中的另一个工具:Veritas Software Console对这个MSI文件进行进一步的包装、调整,这样一个MSI文件包就生成了。

下面,我们具体通过一个例子来介绍一下如何使用Discover生成一个MSI文件,假定我们的软件my的安装过程是:将my.exe文件安装到C:/programmeme files/myprog下,将run.dll放到windows/system里,在注册表的HKEY_LOCAL_MACHINE的software项中建立一个myprom项,并且在其中添加一个值为OK的value项目。

第一步:运行Discover,弹出程序界面,可以直接点“Next”按钮继续。

第二步:在图3的对话框中,首先在第一文本框为你的程序起个名字,比如这里用的“My programmeme”;第二个对话框是输出MSI文件的存放位置和文件名,这里选择保存为E:/my_setup.msi;第三个框为压缩包的语言,可以使用其默认值。填好后点“Next”按钮。

第三步:为Discover存放快照文件选择一个临时的空间,可以选一个磁盘空间比较大的磁盘。

第四步:在接下来如图4的对话框中要选择Discover需要扫描并拍“快照”的磁盘,你的程序要装到哪个盘就选择哪个盘,并且点一下“Add”按钮加到要扫描文件的列表中,你可以选择几个或者所有的磁盘,不过这样会在扫描的过程中浪费更多的时间,所以应该尽量少选择磁盘。这里只选择C盘,因为我们的软件是装到C盘的。然后点“Next”。

第五步:在如图5所示的对话框中为上一步选择的每个磁盘选择需要扫描的文件夹或文件,因为我们上一步只选择了C盘,所以为C盘选择就可以了。另外,Discover自动加入了一些特殊的文件和目录,我们可以根据需要决定是否将它们移出要扫描的文件列表,不过最好保留它们。这里我们把“C:/programmeme files”和Windows文件夹添进去,先在左边的文件框中点中文件或文件夹,然后点Add按钮就可以了。对于注册表的扫描,Discover为了加快扫描速度,只扫描部分注册表,可以扫描到大部分程序对注册表的修改,如果不放心的话,也可以将下边的“Enhanced Registry Scan”点中,这样速度可能会慢很多,临时文件也大大增加,不过能对注册表所有的改动加以记录。由于我们的软件对注册表只是小改动,所以没必要选择扫描所有注册表。然后点“Next”继续。

第六步:接下来Discover将对系统进行扫描生成“快照”,要耐心的等待,可能要几分钟的时间才行。

第七步:在扫描完成后,会弹出一个对话框,大概意思就是告诉你扫描已经完成,问你是否要选择一个程序来运行,从而自动安装你的软件,我们正要制作安装程序,没有程序可运行,所以要点“取消”按钮。

第八步:接下来,我们就要手动安装自己的软件了,先将my.exe文件拷贝到C:/programmeme files/myprog下,再把run.dll拷贝到windows/system里,然后用注册表编辑器在注册表的HKEY_LOCAL_MACHINE的software项中建立一个myprom项,并在其中添加一个值为OK的value键。注意,除了这些改动,应尽量避免其他无关的改动。然后我们试着运行一下刚刚安装的my.exe文件,测试一下是否正确安装。

第九步:确认安装没有问题了,要再次运行Discover程序,这次运行Discover时,出现的是如图6所示的一个界面,有两个选项,第一项是生成安装后的快照,用于与前一次的快照比较生成MSI文件,第二个选项是放弃上一次的扫描,当然要选第一项了,然后点“Next”。这时Discover又开始重新对电脑进行扫描,生成“快照”,并自动生成了安装文件。

第十步:如果你愿意,可以启动与Discover程序在一起的VERITAS Software console对MSI文件的信息进一步更改,过程比较简单,只要先打开一个MSI文件,然后就可以进行改动了,这里就不介绍了。

就这样,我们就生成了一个自己的MSI文件了

 

http://www.xinfengit.com/201003/17108972.html

Jenkins安装(windows平台-msi) 1、百度搜索Jenkins 2、点击Download 3、根据自己的平台选择对应的版本 4、点击windows后会下载jenkins.msi文件 5、双击jenkins.msi文件进入安装过程 (1)点击next (2)更改jenkins安装路径 (3)点击下一步 (4)选择账户,点击next (5)jenkins端口默认是8080,点击test port,测试端口有没有被占用,如下为未被占用 (6)下一步选择java的环境jdk的版本,如果未安装jdk,先安装,点击next (7)点击n 阅读详情

相关推荐

EXE转MSI工具(只能exe转MSI的功能)

EXE转MSI工具(只能exe转MSI的功能),本人搭建域控是测试软件同意下发时候用的,目前使用下来功能是正常的,只是比较单一,没有互相转换的功能,只能exe转MSI。优点就是操作界面简洁无广了。

实现将exe格式的软件重新打包为msi格式的静默安装软件,方便域控使用策略分发软件

一、实现效果 实现将exe格式的软件重新打包为msi格式的静默安装软件,方便域控使用策略统一分发软件。 如下图所示: 二、实现方法 2.1、下载AdvancedInstaller软件且安装 Free Windows Installer - MSI Installer Tool (advancedinstaller.com)(这是Advanced软件的下载地址)正在上传…重新上传取消https://www.advancedinstaller.com/ 2.2、 将exe格式软件转为msi格

一个懒鬼的博客 2万+

exe转msi软件

exe转msi软件,可以把exe文件转变成msi文件用在服务器的组策略安装

域控操作十:安装包exe转msi软件下发

软件用来将exe转换成msi因为域控只能下发msi格式一个exe安装包这里拿微信举例一个没有密码的共享文件夹。

qq_45669879的博客 6095

将exe转换为msi 将exe转换为msi

将exe转换为msi 将exe转换为msi 将exe转换为msi 将exe转换为msi

【RDMA】13. RDMA之用户态与内核态交互

原文:https://zhuanlan.zhihu.com/p/346708569 在“RDMA之Verbs”一文中我们说道,Verbs API分为用户态和内核态,分别以ibv_和ib_作为前缀。RDMA技术的最大的优势就在于用户态可以绕过内核,直接控制硬件收发数据,减少了系统调用和内存拷贝次数,所以大部分的RDMA应用都是用户态应用,即使用以ibv_为前缀的用户态Verbs API。 但是并非所有的用户态Verbs API都可以完全绕开内核,本文中我来讲解一下哪些API依赖于内核RDMA子系统(包括驱

我的笔记本 4285

转载:鲜为人知的Windows“插件”MSI

一、初识Windows功能增强“插件”MSI 我们经常可以看到许多软件只有一个扩展名为MSI的文件,双击这个文件运行,就会出现和Windows应用软件安装非常相似的安装过程,MSI文件到底是什么?为什么许多软件开始用MSI格式来发行呢?请听我慢慢说来。 1.MSI文件的由来 说到MSI文件,不得不先说说Windows Installer,它不只是安装程序,而是可扩展的软件管理系统。W...

weixin_34337265的博客 159

电镀技术:微型制造的原子级加法工艺与核心优势

电镀是一种利用电解原理在基材表面沉积金属层的表面处理技术,其本质是通过电场控制溶液中金属离子的迁移与还原,实现原子级的可控沉积。这一过程的核心在于对电流密度、温度、添加剂等参数的精密调控,从而实现对镀层结晶结构、性能的“编程”。从技术价值看,电镀作为一种“加法制造”工艺,在微观尺度上具有无与伦比的保形性和材料灵活性,能够实现复杂三维结构的均匀覆盖与功能复合。在应用场景上,它尤其契合现代微型化制造的需求,例如在集成电路的铜互连填充、高密度PCB板微孔金属化、MEMS传感器电极制备以及柔性电子器件制造中发挥着不

weixin_42524842的博客 528

Jenkins之Windows通过msi进行安装

Jenkins使用msi文件在Windows中安装。

关关长语 3334

XCAT集群管理实战:从裸机到节点批量部署

在数据中心与HPC集群运维中,裸机配置与操作系统批量部署是关键环节。PXE引导、IPMI带外管理等基础技术为自动化装机提供了底层支持,而集群管理工具则将这些能力整合为可扩展的运维体系。XCAT作为一款开源集群管理工具,通过数据库驱动的方式统一管理DHCP、TFTP、HTTP等服务,实现从裸机发现、系统安装到电源控制的全流程自动化。本文从XCAT的核心设计出发,详细介绍了环境准备、安装配置、节点定义、镜像分发及常见问题排查,帮助运维人员快速构建高效的集群部署流程,降低规模化管理的复杂度。

weixin_30899023的博客 241

AI驱动的数据完整性:ECC到S/4HANA迁移

在SAP ECC到S/4HANA的迁移过程中,数据完整性验证是最复杂且关键的挑战之一。本文介绍了一个全面的AI驱动的端到端数据完整性框架,用于对账事务数据并验证数百万条主数据记录和事务记录的完整性。该框架结合了模式映射、自然语言提示到SQL生成、基于LLM的解决方案、大规模数据对账的数据完整性工具、基于云的测试数据管理以及实时Power BI仪表板,为开发者提供了一个可重复、可扩展的工作流程,确保ERP迁移过程中的数据质量。

简简单单Onlinezuozuo 1173

Windows生产环境Jenkins MSI安装实战指南

Jenkins作为主流CI/CD工具,在Windows平台部署需兼顾服务稳定性、权限管控与日志集成等系统级要求。MSI安装并非传统选择,而是基于Windows Installer声明式引擎实现的工业级交付方案,其核心价值在于原生支持服务自启、EventLog日志捕获、静默批量部署及失败前置校验。相比war包方式,MSI能自动处理LocalSystem账户权限、端口绑定、JDK版本验证(如JDK 11+)和JENKINS_HOME路径安全等关键环节,显著提升金融、制造等企业级场景下的可维护性与可靠性。本文聚焦

weixin_34050519的博客 296

120、ISP 驱动架构解析:从 V4L2 请求到 ISP 硬件的配置下发流程

本文以实际案例解析ISP驱动架构的V4L2到硬件配置下发流程。作者通过一个因内存共享导致画面闪烁的bug案例,详细剖析了用户空间参数通过V4L2结构体传递、驱动层拆包与硬件寄存器映射、时序同步机制等关键环节。特别强调深拷贝、dirty flag增量更新、shadow register等实现要点,并给出多路并发隔离、寄存器写入失败等典型问题的排查方法。文章建议开发者深入理解参数到寄存器的转换过程,推荐通过debugfs实时监控寄存器状态,避免过度依赖自动调试工具。全文以实践为导向,对ISP驱动开发具有直接指导

sundong_81的博客 159

Jenkins Windows MSI 安装包完整安装教程

下面是从下载到启动的全流程,每一步都有详细说明,新手也能一次成功。

wange6906的博客 552

大数据分析案例-基于决策树算法构建信用卡违约预测模型

本项目旨在使用机器学习等算法构建信用卡违约预测模型,主要应用在金融相关领域,根据用户以往的行为数据来预测是否会违约,有利于商业银行防范和化解信用卡风险,完善信用卡违约风险管理工作。本次实验通过探索性分析以及使用决策树构建信用卡违约模型,得出以下结论:1.可透支金额主要集中在0~200000之间。2.性别对于可透支金额的影响较小。3.受教育程度和婚姻状况对可透支金额的影响较大。4.决策树模型的准确率为0.88,模型效果还有待提高。

m0_64336780的博客 7575

YOLOv11 改进入门篇 | 从原理到代码:CBAM 注意力模块的插入与涨点验证

本文介绍了如何在YOLOv11模型中插入CBAM注意力模块以提升检测性能。CBAM包含通道和空间注意力两个子模块,通过双池化操作和MLP学习特征权重。文章详细解析了CBAM原理,提供了PyTorch实现代码,并建议在YOLOv11的Stage-3和Stage-4之间插入CBAM。实验表明,该方法在COCO数据集上使nano和small模型的mAP提升1.7-2.3个百分点,参数量仅增加0.27%,推理延迟增加0.1ms。最后给出了插入位置选择、通道缩减比等调优建议,验证了CBAM作为轻量级注意力模块的有效性

shrgegrb的博客 1301

Jenkins Windows部署:为什么该用MSI而非WAR包

Jenkins作为主流CI/CD工具,其在Windows平台的部署长期存在环境变量配置混乱、服务注册失败、权限异常、日志不可控等典型问题。根本原因在于绕开了Windows原生安装机制——MSI(Microsoft Installer)并非简单封装,而是深度集成系统服务管理、事件日志、权限模型与JDK智能探测的工程化方案。相比WAR包依赖手动脚本和命令行,MSI通过预置服务恢复策略、ProgramData数据目录隔离、JVM参数模板及Windows事件源注册,显著提升部署一致性、运行稳定性与运维可观测性。尤其

weixin_34014555的博客 478

上位机1000条/秒数据不丢不卡:SQLite持久化队列最优方案实战

在上位机每秒1000条、1MB数据的场景下,SQLite做持久化队列是最优解可靠性拉满,ACID事务+WAL模式保证绝对不丢数据;性能完全够用,优化后每秒几千条没问题;轻量无依赖,只有一个.db文件;C#/.NET原生支持,代码简单易维护。只要按照上面的优化点和代码实现,完全能满足工业现场的需求,不用再担心数据丢失、存储卡采集的问题。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 484

.msi是什么文件

一、初识Windows功能增强“插件”MSI 我们经常可以看到许多软件只有一个扩展名为MSI的文件,双击这个文件运行,就会出现和Windows应用软件安装非常相似的安装过程,MSI文件到底是什么?为什么许多软件开始用MSI格式来发行呢?请听我慢慢说来。 1.MSI文件的由来 说到MSI文件,不得不先说说Windows Installer,它不只是安装程序,而是可扩展的软件管理系统。Win

wlz676651447的博客 2218

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

windows下vs installer制作msi安装包

选中Install,右键添加自定义操作;选中安装目录下可执行文件或脚本。

Wite_Chen 463

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

exe转msi文件

http://blog.youkuaiyun.com/kof820/archive/2006/04/24/675274.aspx一、初识Windows功能增强“插件”MSI我们经常可以看到许多软件只有一个扩展名为MSI的文件,双击这个文件运行,就会出现和Windows应用软件安装非常相似的安装过程,MSI文件到底是什么?为什么许多软件开始用MSI格式来发行呢?请听我慢慢说来。1.MSI文件的由来说 到MSI文

我思故我在 欲速则不达 4002

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Windows平台Java应用打包利器:JavaPackager生成EXE与MSI安装程序详解

JavaPackager是一款功能强大的Gradle/Maven插件,能够将Java应用程序打包为Windows、MacOS或Linux平台的原生可执行文件,并为它们创建安装程序。对于Windows平台开发者而言,它提供了便捷的EXE可执行文件生成和MSI安装程序创建功能,极大简化了Java应用的分发流程。 ## 核心功能概览:从JAR到Windows应用的完整解决方案 JavaPackage

gitblog_00083的博客 1107

Netdata Windows 监控:从 MSI 安装到十分钟出图的实操指南

凌晨三点被 Windows 磁盘告警叫醒,重启后却发现没有事发时的数据——这正是 Netdata Windows 监控补上的短板:装个 MSI,监控数据立刻可见。 ## 为什么它能让你少踩坑 传统监控往往是"先部署、再折腾配置":装完 agent 还要写脚本、调采集项、导指标,Windows 服务器更是常被当作监控盲区。Netdata 反过来: - 省掉配置环节。MSI 安装包自带 Wind

gitblog_00189的博客 1087

Netdata Windows 监控上手指南:从 MSI 安装到第一张图表出现

Netdata 是一款开源的实时监控工具,装到 Windows 服务器上之后,浏览器打开本地端口,秒级刷新的 CPU、内存、磁盘、网络图表就直接摆在眼前,不需要事先准备任何采集配置。采集、存储、看板、告警做在一个进程里,这篇文章按"装一个 MSI、看一次出图"的路子带你走一遍。 ## 一个场景:Windows 服务器上跑着 Hyper-V 和 Exchange 你负责的一台 Windows S

gitblog_00450的博客 979

如何在 Windows 上安装 Netdata:从 MSI 部署到告警与数据对接的完整指南

Netdata Windows 监控帮助你在 Windows Server 上获得开箱即用的实时指标面板:CPU、内存、磁盘、网络、服务、进程都有现成的图表,安装完成后秒级看到数据,适合需要监控 Windows 服务器、又不想手写采集配置的运维和开发者。 [![Netdata Windows 监控安装界面背景图](https://raw.gitcode.com/GitHub_Trending/n

gitblog_00128的博客 875

Netdata Windows监控:从MSI安装到3分钟看到第一块面板

如果你的环境是 Linux 与 Windows 混跑的,**Netdata Windows监控** 大概是最省事的一块拼图:装完 MSI 包,`http://localhost:19999` 直接出面板,CPU、内存、磁盘、网络、服务状态全部来自 Windows 自带的 Performance Counters,不需要你再写一行采集脚本。本文按"装上去 → 看什么 → 怎么告警 → 怎么调"的顺序

gitblog_00188的博客 783
上一篇: WINCE 6.0 调大image
下一篇: 2440平台,SD卡启动WINCE,全部源码
menuconfig
博客等级 码龄19年 713粉丝 6原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值