解决方案

.manifest是什么文件

seo靠我 2023-09-23 01:44:00
Manifest Windows XP通过XML文件来实现这一功能,这些XML文件保存了有关应用程序配置的元数据,这里所说的XML文件,就是Manifest清单文件。 SEO靠我Manifest事实上就是一个以.manifest为后缀的XML文件,用于组织和描述隔离应用程序及并行组件,其内部的信息如<assemblyIdentity>元素则标识着一个唯一的程序集,和其他信息一SEO靠我起,他们用于COM类、接口及库的绑定和激活,而这些信息,以往都是存储在注册表中的。另外,Manifests也制定了组成程序集的文件及Windows类。二、Manifest的分类 在WiSEO靠我ndows XP中,事实上是在.NET中,把Manifests分类为如下几种类型: 1、程序集Manifests(Assembly Manifests):主要用于描述程序集,管理程序集SEO靠我的名字、版本、资源、依赖程序集。其中共享程序集的Manifests存储在Windows的WinSxS目录中。私有的程序集Manifests则存可以作为一个资源存储在DLL中,也可以存储在应用程序目录下SEO靠我。 2、应用程序Manifests(Application Manifests):这类Manifests则用于描述隔离应用程序,它管理着此应用程序在运行时要绑定的共享的并行组件的名字、SEO靠我版本。该Manifests可以作为一个文件(.manifest文件)存储在应用程序相同的目录下,也可以作为一种资源嵌入在可执行文件内部(Embed Manifest)。 3、应用程序配SEO靠我置文件(Application Configuration Files):对于并行组件及隔离应用程序来说,使用这种Manifests来“Override and Redirect”所依赖程序集的版本。SEO靠我 4、发行配置文件(Publisher Configuration Files):用于重定向并行组件的版本到另外一个合适的版本的Manifests。此时,被重定向的新程序集应该和原来的SEO靠我旧程序集具有相同的主.次(majou.minor)版本号。三、Windows对于Manifest的处理 XP以前版本的windows,会像以前那样执行这个exe文件,寻找相应的dll,没有分别,ManiSEO靠我fest只是个多余的文件或资源,dll文件会直接到system32的目录下查找,并且调用。 而XP及其以后的操作系统,则会首先读取Manifest,获得exe文件需要调用的DLL列表(SEO靠我此时获得的,并不直接是DLL文件的本身的位置,而是DLL的manifest)操作系统再根据DLL的Manifest提供的信息去寻找对应的DLL ,这样就可能区别不同版本的同一个DLL文件。 SEO靠我 这就说明了为什么我的程序可以在2000下面运行,而在XP及2003上无法运行。 这也使得很多木马可以利用这个特点实现限制安全软件。   所以在发布SEO靠我包的时候除了提供VC运行环境,也把manifest文件提供,如VS2008的VC运行库目录中Microsoft Visual Studio 9.0\VC\redist\x86\Microsoft.VCSEO靠我90.CRT\Microsoft.VC90.CRT.manifest,其中的内容: <?xml version="1.0" encoding="UTF-8" standalone="ySEO靠我es"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"><noInheritablSEO靠我e></noInheritable><assemblyIdentity type="win32" name="Microsoft.VC90.CRT" version="9.0.30729.1" proSEO靠我cessorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity><file <span style="colSEO靠我or:#3366ff;">name="msvcr90.dll" </span>hashalg="SHA1" hash="9785b1c493deb5b2134dc4aef3719cee207001bcSEO靠我"><asmv2:hash xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:dsig="http://www.w3.org/2000/09/xSEO靠我mldsig#"><dsig:Transforms><dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.IdentiSEO靠我ty"></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsSEO靠我ig#sha1"></dsig:DigestMethod><dsig:DigestValue>VF5ECUAHPV7EnUf+/UIXMPizPvs=</dsig:DigestValue></asmvSEO靠我2:hash></file> <file <span style="color:#3366ff;">name="msvcp90.dll"</span> hashalg="SHA1" hash="0f6SEO靠我bbf7fe4fb3fca2cb5b542eca1a1cad051f01c"><asmv2:hash xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmSEO靠我lns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:Transforms><dsig:Transform Algorithm="urn:schemaSEO靠我s-microsoft-com:HashTransforms.Identity"></dsig:Transform></dsig:Transforms><dsig:DigestMethod AlgorSEO靠我ithm="http://www.w3.org/2000/09/xmldsig#sha1"></dsig:DigestMethod><dsig:DigestValue>3Wg+StVMq2uhx7POSEO靠我nAkl2w4dDmY=</dsig:DigestValue></asmv2:hash></file> <file <span style="color:#3366ff;">name="msvcm90SEO靠我.dll"</span> hashalg="SHA1" hash="7f3290ab2b7444c2b4a9b1fedfdb16466d7a21bb"><asmv2:hash xmlns:asmv2=SEO靠我"urn:schemas-microsoft-com:asm.v2" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:Transforms>SEO靠我<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity"></dsig:Transform></dsiSEO靠我g:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></dsig:DigestMethSEO靠我od><dsig:DigestValue>/YfRn7UQENzdMeoMHxTgdRMiObA=</dsig:DigestValue></asmv2:hash></file></assembly> SEO靠我 四、VS2005种的Manifest配置 使用Visual Studio 2005以后的一个新问题是,VS2005带的8.0新版的C运行库(VC 8.0 CRT)文件SEO靠我在XP以后支持manifest的Windows版本中被调用时,将会check一下Application自身的Manifest,否则将会拒绝被调用,这也就是说,使用Visual Studio开发的AppSEO靠我lication,Manifest将是必不可少的(搞不懂MS为啥要这样设置,反正与VS2003.NET不同了,也许除了MS自己说的哪些冠冕堂皇的原因,至少这样一来Linux的Wine模拟要麻烦多了) SEO靠我 不过,如果你的程序是静态链接的,没有使用dll,且只使用了操作系统核心的 Kernel32.dll, User32.dll, Ole32.dll, 或ShDocVW.dll 等,那么你SEO靠我可以不需要考虑Manifest, 可以关掉它。此时,在VS2005种中,project的设置必须是Use Standard Windows Libraries、Not Using ATL、No ComSEO靠我mon Language Runtime support
“SEO靠我”的新闻页面文章、图片、音频、视频等稿件均为自媒体人、第三方机构发布或转载。如稿件涉及版权等问题,请与 我们联系删除或处理,客服邮箱:html5sh@163.com,稿件内容仅为传递更多信息之目的,不代表本网观点,亦不代表本网站赞同 其观点或证实其内容的真实性。

网站备案号:浙ICP备17034767号-2