2017-09-28 29 views
0

Visual Studio .NET 2003で作成した従来のコンソールアプリケーションがあります。構築時に生成される.exe内のマニフェストファイルなぜなら私は、Windows 7でUACを避けたいのですが、私のアプリが起動するとポップアップするのが究極の方法です。c#mt.exe v1.0.0.0を使用して.exe内にマニフェストファイルを埋め込みます

「C:私は、以下のコマンドを書くビルド後のアクションでのVisual Studio .NET 2003内

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> 
    <assemblyIdentity version="1.0.0.0" 
    processorArchitecture="X86" 
    name="IsUserAdmin" 
    type="win32"/> 
    <description>SDPUpdater for ServiDirPlus</description> 
    <!-- Identify the application security requirements. --> 
    <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2"> 
    <security> 
     <requestedPrivileges> 
     <requestedExecutionLevel 
      level="requireAdministrator" 
      uiAccess="false"/> 
     </requestedPrivileges> 
    </security> 
    </trustInfo> 
</assembly> 

次に、:

だから私のマニフェストファイルがMyTestApp.exe.manifestと呼ばれているその下に:\ Program Files(x86)\ Microsoft Visual Studio .NET 2003 \ Common7 \ Tools \ Bin \ winnt \ mt.exe "-manifest" $(ProjectDir)$(TargetFileName).manifest "

$(ProjectDir) : C:\MyProjects\ConsoleApps\MyTestApp\ 
$(TargetFileName) : MyTestApp.exe 

私のマニフェストファイルMyTestApp.exe.manifestはC:\ MyProjectsで\ ConsoleApps \ MyTestApp

\しかし、エラーの下が表示されます。

Performing Post-Build Event... 
Microsoft (R) Side-By-Side Manifest Tool 1.0.0.0 
Copyright (C) Microsoft Corporation 2000-2001. All Rights Reserved. 

Nothing to do! 
Modes of operation: 
    -hashupdate   Update hashes of member files 
    -makecdfs   Generate CDF files to make catalogs 
    -verbose   Disply piles of debugging information 

Modifiers: 
    -manifest <foo.man> The name of the manifest to work with 

Normal usage: mt.exe -hashupdate -makecdfs -manifest foo.man 

Project error: A tool returned an error code from the build event 

Post-Build Event failed 

は私がすることをmt.exeに示すことがあると思います私のマニフェストファイルはMyTestApp.exeに埋め込まれていなければなりませんが、mt.exe v1.0.0.0には1つの修飾子(マニフェスト)しかないので、MyTestApp.exeファイルを示す方法はありません。

+1

14歳を尋ねました。あなたのVSバージョンを更新する良い理由を発見した、それは時間です。 –

答えて

0

私はmt.exe(マイクロソフト(R)マニフェストツールバージョン5.2.3790.2075)を使用して、ビルド後に次の行を使用しています

「C:\プログラムファイル\マイクロソフトのSDK \ Windowsの\ v6.0A \ Bin \ mt.exe "-manifest" $(ProjectDir)$(TargetFileName).manifest "-outputresource:$(TargetFileName);#1

コンパイルが完了しました。

は今、私は別の問題を抱えている:

私はコンソールアプリを起動すると、UACのポップアップ通知が表示されて続けています。

私のコンソールアプリケーションは、C:\ Program Files \のフォルダに書き込んでいます。これは私のものです。

しかし、他の投稿を開く方が良いです。これは解決されました。

関連する問題