2010年6月2日水曜日

アプリケーションマニフェストファイルの埋め込み

http://www.atmarkit.co.jp/fdotnet/dotnettips/958uacmanifest/uacmanifest.html
管理者のみ実行可能なアプリを作る場合
アプリケーションマニフェストファイルをプロジェクトに追加し、
ちょちょっとAdminのみに設定しビルドすればそれだけで埋め込まれるらしい。
これでVistaでも安心?
と思ったらXPではなんともなく動いてしまった。
そりゃそうだ。
XPの頃はマニフェストってなんですか?って状態だったんだから
つうことで以下のようにコードを変更

public partial class main : Form
{
public main()
{
InitializeComponent();
// 起動時に管理者権限を確認
WindowsIdentity Identity = WindowsIdentity.GetCurrent();
WindowsPrincipal Principal = new WindowsPrincipal(Identity);
if (!Principal.IsInRole(WindowsBuiltInRole.Administrator))
{
// XPの場合はここが動く
MessageBox.Show("本ツールは管理者のみが使用可能です。", "確認");
Environment.Exit(0);

}
}
}

0 件のコメント: