0

アプリケーションDebug/Binディレクトリで、アプリケーション プロパティの exe ファイルを .xml に変更できますRun As Admin

しかし、Visual Studio で実行しているときにも管理者として実行したいのです。

だから私は自分のアプリケーションのディレクトリに置いたマニフェストファイルを作成し、debug/binそこにも持っていますmt.exe

私のマニフェストファイルの内容:

Executable: hardwareMonitoring.exe 
Manifest:Hardwaremonitoring.exe.manifest
Sample application manifest file:
<?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>Description of your application</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>

今、何とか使用する必要があると思いますmt.exeか、それともマニフェストをプロジェクトに追加/埋め込む必要がありますか? Debug/Binアイデアは、既に入っているexeファイルでハードディスクに自動的に作成されるのではAdmin Rights (Run As Admin)なく、Visual Studio 2010でアプリケーションを実行しているときに管理者権限の確認を求めたいということです.

4

2 に答える 2

2

アプリケーション (hello.exe など) をデバッグする場合、通常は vshost.exe というプロキシ アプリケーションを介して実行されます。そのアプリケーションには、使用している VS のインスタンスと同じ権限があります。

管理者権限で Visual Studio を起動してみると、vshost.exe とアプリケーションもその権限で起動されます。

于 2012-08-06T15:10:34.043 に答える
0

私はそれをどこかに持っていて、テキストファイルに保存しました:

まず、メモ帳を使用してテキストファイルを作成し、それに追加します。

Executable: hardwareMonitoring.exe 
Manifest:Hardwaremonitoring.exe.manifest
Sample application manifest file:
<?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>Description of your application</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>

次に、ファイル名を次のように保存します。appName.exe.manifest次に、Windowsの[スタート]> [Cmd]をクリックして、DOSウィンドウで次のように入力します。

mt -manifest appName.exe.manife
st.txt -outputresource:appName.exe;#1

mt.exeがアプリケーションでない場合:Debug / Binディレクトリは、mtの前にディレクトリ/iesを指定するだけです。

それでおしまい。

于 2012-08-06T22:17:13.917 に答える