1

多くの .exe ファイルの最後にこのテキストを見てきました。.exe ファイルが書かれた言語を教えてもらえますか? Microsoft の参照により、.NET 言語である可能性があると思います。

<!-- 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>

この部分を除いて、ファイルの残りの部分はナンセンスです。ファイルをメモ帳++で開きました。

4

2 に答える 2

3

これはプログラムのマニフェストです。アイコンと同様に、リソースとして埋め込まれます。Windows が注意を払う構成情報が含まれています。

Microsoft.Windows.Common-Controls の依存関係要素は、従来の Windows 2000 のルック アンド フィールではなく、XP バージョンのビジュアル スタイル テーマをコントロールに必要としていることを Windows に伝えます。

requestedPrivileges 要素は、プログラムが UAC と互換性があることを宣言し、c:\windows ディレクトリや HKLM レジストリ キーへの書き込みなど、昇格されていないプログラムに対して禁止されていることを行うときに嘘をつく必要はありません。

マニフェストには、side-by-side キャッシュ (c:\windows\winsxs) に格納されている DLL の追加エントリを含めることができます。また、reg-free COM 登録を実装するために使用されます。この種のエントリは、DLL Hell 対策です。

Vista 以降で実行するように作成され、GUI を備えた最新のアプリには、これらのマニフェスト エントリが含まれています。.NET プログラムにもそれらがあります。アプリケーション マニフェスト ファイル アイテム テンプレートを使用して、カスタム マニフェストを追加できます。そうしないと、UAC エントリだけを含む既定のマニフェストが取得されます。

プログラムを作成するためにどの言語が使用されたかについてのヒントはありません。マニフェストは、プログラミング言語から独立しています。Microsoft は通常、C++ で記述します。

于 2013-06-22T00:54:04.983 に答える
0

MSがEXEを展開するために使用する自己解凍ソフトウェアの一部のようです。リンクを参照してください。VB.net と C# (およびその他のいくつか) はすべて、コンパイルされる前に CIL と呼ばれる中間言語に変換されるため、この xml ドキュメントから正確な言語を学ぶことができれば驚くでしょう。

于 2013-06-21T22:40:13.297 に答える