2009年04月14日

マニフェストファイルで管理者権限を付与

   このエントリーをはてなブックマークに追加 Clip to Evernote
Vistaでは、管理者権限でログインしていても、デフォルトでは管理者権限が付与されずにプログラムが実行されます。
そのため、実行に管理者権限が必要なアプリケーションでは、マニフェストファイルを用意する必要があります。
こうすれば、UACのダイアログは出ますが、明示的に「管理者権限で実行」で起動する必要はありません。
(証明書で署名する方法もあるようですが、ここでは割愛)

以下、そのサンプルです。

<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly manifestVersion="1.0"
xmlns="urn:schemas-microsoft-com:asm.v1"
xmlns:asmv1="urn:schemas-microsoft-com:asm.v1"
xmlns:asmv2="urn:schemas-microsoft-com:asm.v2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
</requestedPrivileges>
</security>
</trustInfo>
</asmv1:assembly>



なお、Visual Studio 2008では、「新しい項目の追加」でマニフェストファイルを選ぶと、雛形のマニフェストファイルが生成されるので、コメントにしたがって書き換えるだけでOKです。


■未確認情報
Visual Studio 2005で作成されたマニフェストファイルの場合、Windows XPで実行すると、PCが再起動してしまうようです。
http://support.microsoft.com/kb/921337/ja


 

この記事へのトラックバックURL

http://trackback.blogsys.jp/livedoor/gushwell/51796717
この記事へのトラックバック
ものすごい方が、techbank.jp でBlogを書きたいと申し入れがありました。 私は、5年前からこの方のBlogを毎回チェックしていて、 私が最も尊敬する技術者が、techbank.jp Blogger
techbank.jp Blogger に有名人を新たに追加しました【Shizuku Blog ?? techbank.jp版??】at 2009年04月19日 02:29
みなさん、はじめまして。 すでに、けろ-みおさんのBlogにてご紹介頂きましたが、この度、techbank.jpにてBlogを書かせていただくことになりました。 このブログでは、タイトルにあるように、F#を中心について書いていくつもりです
はじめまして、Gushwellです。【Gushwell's F# Programming Diary】at 2009年04月19日 14:38