2013-06-21 39 views
0

我在很多.exe文件的末尾看過這段文字。它能告訴我什麼語言的.exe文件被寫入?我認爲它可能是一個.NET語言,因爲微軟的參考。這個文本在.exe文件的結尾是什麼意思?

<!-- 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 ++打開了這個文件。

回答

1

這是程序的清單。它被嵌入爲資源,類似於圖標。它包含Windows關注的配置信息。

Microsoft.Windows.Common-Controls的依賴項元素告訴Windows,它希望爲其控件提供XP版本的視覺樣式,而不是傳統的Windows 2000外觀。

的requestedPrivileges元素聲明與UAC兼容的程序,並不需要進行撒謊,當它做一些事情禁止的像寫到c未提升的程序:\ windows目錄或HKLM註冊表項。

清單可以包含存儲在並行緩存(c:\ windows \ winsxs)中的DLL的附加條目。並用於實現無reg註冊的COM註冊。這些類型的條目是DLL地獄對策。

任何現代應用程序編寫運行在Vista和以上,並有一個GUI包含這些清單條目。 .NET程序也有它們。您可以使用應用程序清單文件項目模板添加自定義清單。如果你不這樣做,你會得到一個只有UAC條目的默認清單。

沒有提示用什麼語言編寫程序。清單獨立於編程語言。微軟通常用C++編寫。

0

看起來它是MS用於部署EXE的自解壓軟件的一部分。見link。在編譯之前,VB.net和C#(以及一些其他的)都被轉換爲一個名爲CIL的中間語言,所以如果你能從這個XML文檔中學習確切的語言,我會感到很驚訝。

相關問題