manifest ファイルをアセンブリに埋め込む方法をメモしておきます。
manifest って?
manifest を利用して、アセンブリ実行に必要な権限を指定できます。
manifest の書式
こんな感じ。
<?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="AppName.exe" type="win32"/> <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3"> <security> <requestedPrivileges> <requestedExecutionLevel level="requireAdministrator" uiAccess="false"/> </requestedPrivileges> </security> </trustInfo> </assembly>
3行目の name 属性には実際のファイル名を指定します。
7行目の level で必要な実行権限を指定します。
実行権限 | 説明 |
---|---|
requireAdministrator | 管理者権限で実行 |
highestAvailable | ユーザーが持っている最大の権限で実行 |
asInvoker | 一般ユーザー権限 |
上記の xml ファイルを UTF-8 で保存します。ファイル名は(アセンブリのファイル名) + .manifest。
(例)
Sample.exe.manifest
保存したファイルはプロジェクトに追加しておきましょう。
Visual Studio 2008 を使って manifest 埋め込む方法
minifest の埋め込みは、プロジェクトのプロパティから設定できます。