windows 免注册COM (配置manifest)
Windows XP 引入了一种新的 COM 激活模型,称为: 免注册COM,简称为 Reg-Free COM。简单地说,Reg-Free COM 是 COM 组件的注册表替代品。它通过将通常安装到系统注册表中的所有标准组件注册信息表达在一个文件中,该文件可以存储在与应用程序本身相同的文件夹中。
免注册COM技术,操作系统在加载EXE时会自动扫描是否包含配套的manifest信息,若有则读取manifest内容加载组件,否则读取注册表。 manifest描述了EXE里面引用了哪个DLL库、DLL里面提供了什么接口等信息,只要给EXE、DLL加上配套manifest即可完成免注册工作。
一、Manifest
Manifest事实上就是一个以.manifest为后缀的XML文件,用于组织和描述隔离应用程序及并行组件,其内部的信息如<assemblyIdentity>元素则标识着一个唯一的程序集,和其他信息一起,他们用于COM类、接口及库的绑定和激活,而这些信息,以往都是存储在注册表中的。另外,Manifests也制定了组成程序集的文件及Windows类。
二、Manifest的分类
在Windows中,事实上是在.NET中,把Manifests分类为如下几种类型:
1、程序集Manifests(Assembly Manifests):主要用于描述程序集,管理程序集的名字、版本、资源、依赖程序集。其中共享程序集的Manifests存储在Windows的WinSxS目录中。私有的程序集Manifests则存可以作为一个资源存储在DLL中,也可以存储在应用程序目录下。
2、应用程序Manifests(Application Manifests):这类Manifests则用于描述隔离应用程序,它管理着此应用程序在运行时要绑定的共享的并行组件的名字、版本。该Manifests可以作为一个文件(.manifest文件)存储在应用程序相同的目录下,也可以作为一种资源嵌入在可执行文件内部(Embed Manifest)。
3、应用程序配置文件(Application Configuration Files):对于并行组件及隔离应用程序来说,使用这种Manifests来“Override and Redirect”所依赖程序集的版本。
4、发行配置文件(Publisher Configuration Files):用于重定向并行组件的版本到另外一个合适的版本的Manifests。此时,被重定向的新程序集应该和原来的旧程序集具有相同的主.次(majou.minor)版本号。
三、Windows对于Manifest的处理
XP以前版本的windows,执行exe文件时,寻找相应的dll,程序会直接到system32的目录下查找,或EXE同目录中搜索。
XP及其以后的操作系统,首先读取Manifest,获得exe文件需要调用的DLL列表(此时获得的,并不直接是DLL文件的本身的位置,而是DLL的manifest)操作系统再根据DLL的Manifest提供的信息去寻找对应的DLL ,这样就可能区别不同版本的同一个DLL文件。
windows 免注册COM (配置manifest)相关推荐
- MySQL 5.7 Windows 免安装版 配置
废话不多说,直接开始配置MySQL,能用图片表示的就少用文字表示,这样更加清楚,希望给新手朋友们更清新的解释,大佬们一看便知! 首先配置环境变量: 配置完环境变量之后就开始配置MySQL! 我从官网上 ...
- Windows COM 免注册 manifest 清单文件
一.原理 XP以上的操作系统支持COM免注册技术,操作系统在加载EXE时会自动扫描是否包含配套的manifest信息,若有则读取manifest内容加载组件,否则读取注册表. manifest描述了E ...
- Windows 免安装配置MYSQL
Windows 免安装配置MYSQL 卸载MYSQL并删除服务 停止服务:net stop mysql 删除服务:sc delete MySQL 查看服务是否删除[服务管理] 删除mysql文件夹 ( ...
- mysql server 5.6root_root密码mysqlMySQL-5.6.24免安装版配置方法
MySQL-5.6.24免安装版配置方法,有需要的朋友可以参考下. 1. 下载MySQL Community Server 5.6.24 2. 解压MySQL压缩包 将以下载的MySQL压缩包解压到自 ...
- mysql 5.5 免安装_mysql 5.5.56免安装版配置方法
mysql 5.5.56免安装版配置方法,本文通过文字代码详解,具体内容如下所示: 1. 下载mysql-5.5.56-winx64 网址: dev.mysql.com/downloads/mysql ...
- mysql.zip免安装版配置
MYSQL ZIP免安装版配置 1. 下载MySQL 选择自己想要的.本次安装.我使用的是mysql-5.6.17-winx64 地址:http://dev.mysql.com/downloads/ ...
- mysql-5.5.56配置_mysql 5.5.56免安装版配置方法
mysql 5.5.56免安装版配置方法 发布时间:2020-10-18 23:16:23 来源:脚本之家 阅读:74 作者:阿安安 mysql 5.5.56免安装版配置方法,本文通过文字代码详解,具 ...
- mysql免安装版配置百度_mysql -5.7.10 免安装版配置
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 MySQL-5.7.10免安装版配置方法 1. 下载MySQL Community Server 5.7.10 解压MySQL压缩包 将以下载的MySQL ...
- MySQL安装 MySQL5.7.10免安装版配置,mysql5.7.10免安装版
MySQL5.7.10免安装版配置,mysql5.7.10免安装版 最新版的 Mysql 不提供图形界面的安装了, 下载下来是一个压缩包的形式, 那么我们如何来使用它呢, 让它为我们工作呢? 环境: ...
最新文章
- 25,000,000行的代码就问你敢不敢动?!
- html代码格式化vscode,vscode 代码格式化
- RSA加密算法——密码学笔记(四)
- 已知向量坐标求三角形面积
- 尚洋优选健康美电商平台启动仪式在广州召开
- python中扑克牌类设计_Python中的计数 Counter类
- linux的安全性能,技术|Linux 系统安全性能检查小记
- 英语 面包为什么不可数?
- Android 系统(156)----Android APP适配全面屏手机的技术要点
- disruptor:CAS实现高效(伪)无锁阻塞队列实践
- C++学习:第三阶段(C++提高编程)————B站黑马程序员C++学习笔记
- 《数据结构》实验三:单链表
- 前端技术教学第一周 10.15
- 浙江众源自控系统有限公司亮相2022生物发酵展(济南)7月14日与您相约
- 阿里云服务器ECS和VPS主机的区别在哪里
- 深度学习之美 第五章 学习笔记
- 七日年化收益率怎么算「知识普及」
- 装服务器系统时无法找到介质,服务器安装介质未找到
- Postgresql数组操作符及数组函数
- 教你怎么更好的学习嵌入式开发
热门文章
- c语言新标准1983年,C语言的标准
- SD-WAN 系列 (4)MPLS 企业专线到底有多贵?
- 上海宝付HR揭秘程序员面试门槛高背后的潜规则
- ApiPost下载笔记
- 如何收取西联国外汇款(How to receive WesternUnion)
- 简单易用的运动控制卡(六):Basic文件下载和连续轨迹加工
- Coursera耶鲁公开课幸福课下载
- soc低功耗电路设计应用-Zynq MPSoC
- [论文速读]:全景相机(360度相机)室内图像的景深估计 Depth Estimation for Indoors Spherical Panoramas (三篇)
- 过分依赖计算机英语作文,2017年英语四级作文预测:过分依赖电脑