2016年5月2日月曜日

VB.NETモジュールを管理者権限で動かす

なんとか、VB6からVB.NETへのコンバージョンが何とか完了しました。
いろいろ修正しながらコンパイルと動作を確認。

一方、本番環境で実行したところ、問題が発生。そうです、今までは、開発環境の入った管理者権限での確認でしたが、本番環境は、一般端末でユーザー権限なんですね。
この環境で動作させようとしたところ、『管理者権限で実行』しないといけないことが判明。

昔だと、runasとかで強引に権限付与していたのですが、パスワードのリダイレクトも使えなくなり、簡単にはいかないようです(/savecredという手もありますが、全端末に実行するのは今から遅い状況です)。
バッチファイルでAdministrator権限を付与する
別ユーザの権限でプログラムを実行する
runas実行した時にきかれるパスワードを手入力以外で読み込ませたい


検索してみると、いくつかの方法があるようです。
管理者としてほかのアプリケーションを実行するには?
VBから管理者としてプロセスを起動する
UACが有効の時、アプリケーションを管理者に昇格させて起動する

最後のmanifestファイルを利用する、というのは、今まで耳にしたことはありますが、まだ実際にはやったことがないものでした。

 <requestedExecutionLevel  level="requireAdministrator" uiAccess="false" />

とすれば良いようです。

とりあえず、これでチャレンジしてみることにします。

0 件のコメント:

コメントを投稿