LoginSignup
0
0

More than 5 years have passed since last update.

SConsからのVisualStudioビルドで管理者権限を要求させる方法

Last updated at Posted at 2017-11-08

前提条件

  • Python3.6
  • SCons-3.0.0
  • VisualStudio2015

やり方

SConsからVisualStudioビルドする際に権限昇格を必須にするには下記のように /MANIFESTUAC を指定します。

SConstruct
env = Environment()
env.Append(
    LINKFLAGS = [
        '/MANIFEST:embed',
        "/MANIFESTUAC:level='requireAdministrator' uiAccess='false'",
        ],
    )
env.Default(env.Command(None, env.Program('main.cpp'), '$SOURCE.abspath'))

これで scons を実行すれば権限昇格ダイアログがポップアップします。

/MANIFESTUAC の記述はそのままマニフェストファイルのXMLアトリビュートとして展開されるようで、
空白やシングルクオートが入っていないとコンパイルは成功するもののダイアログが出なくてハマりました。

どんな風に記述されているかは、/MANIFEST:embed/MANIFEST に変えることで main.exe.manifest が出力されるので
そちらで確認してください。ちなみに /MANIFEST を入れ忘れると /MANIFESTUAC も無視されるので注意してください(これもハマった)

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0