我在很多.exe文件的末尾看过这个文本。它能告诉我.exe文件是用什么语言编写的?我认为它可能是.NET语言,因为Microsoft引用。
<!-- Copyright (c) Microsoft Corporation -->
<!--
Copyright (c) Microsoft Corporation. All rights reserved.
Authors:
GaryY
Module name:
wextract.manifest
Abstract:
Manifest to support IExpress WExtract.exe.
-->
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
version="1.0.0.0"
processorArchitecture="x86"
name="wextract"
type="win32"
/>
<description>IExpress extraction tool</description>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="x86"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
<!-- Identify the application security requirements. -->
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel
level="asInvoker"
uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>
文件的其余部分只是废话,除了这部分。我在Notepad ++中打开了文件。
答案 0 :(得分:1)
这是该程序的清单。它作为资源嵌入,类似于图标。它包含Windows关注的配置信息。
Microsoft.Windows.Common-Controls的依赖元素告诉Windows它需要XP版本的视觉样式主题用于其控件,而不是传统的Windows 2000外观。
requestedPrivileges元素声明程序与UAC兼容,并且当它为非提升程序执行 verboten 某事时不需要撒谎,例如写入c:\ windows目录或者HKLM注册表密钥。
清单可以包含存储在并行缓存(c:\ windows \ winsxs)中的DLL的其他条目。并用于实现无reg注册COM注册。这些条目是DLL Hell对策。
任何编写为在Vista上运行并且具有GUI的现代应用程序都包含这些清单条目。 .NET程序也有它们。您可以使用Application Manifest File项目模板添加自定义清单。如果不这样做,那么您将获得仅包含UAC条目的默认清单。
没有提示用什么语言来编写程序。清单独立于编程语言。微软通常用C ++编写。
答案 1 :(得分:0)
看起来它是MS用于部署EXE的自提取软件的一部分。见link。 VB.net和C#(以及其他一些)在编译之前都被转换为一种称为CIL的中间语言,所以如果你能从这个xml文档中学习确切的语言,我会感到惊讶。