ユーザーアカウント制御画面が出ないようにしたい


あかい  2012-10-05 10:47:13  No: 147841  IP: [192.*.*.*]

Windows7+VB2010で、ProgramFilesのファイルに書き込むために、

マニフェストファイルをlevel="requireAdministrator"を書いたところ、実行時に、

「このタスクを実行するには、アプリケーションのアクセス許可を引き上げる必要があります。」

とのメッセージが出ます。

ユーザーアカウント制御の設定を変更する以外の方法で、このメッセージを出さなくしたいです。

そんな方法、あるのでしょうか?

編集 削除
shu  2012-10-05 11:36:03  No: 147842  IP: [192.*.*.*]

requireAdministrator
は通常保護された部分へのアクセスを可能にするので
UACのメッセージが表示されます。

requireAdministratorはやめて
ProgramFilesへの書込みもやめるか、
ProgramFilesの特定のフォルダ配下のアクセス権限を変更する必要があります。
後者の場合、使用者にその事がわかるようにするべきでしょう。アプリケーションでこの設定を行うとしたら1度はrequireAdministratorで実行する必要があります。
もちろん前者が推奨です。

編集 削除
YuO @ mobile  2012-10-05 14:44:37  No: 147843  IP: [192.*.*.*]

%ProgramFiles%に書き込みたい理由は何でしょうか。

・基本的に設定やデータはユーザーごとに用意し,%AppData%または%LocalAppData%に保存します
・全体の設定はインストーラーで設定し,%AllUsersProfile%に保存します
・全体の設定をインストール後に弄る必要がある場合は,%AllUsersProfile%にある設定を弄ります
・%ProgramFiles%以下への書き込みは,原則としてインストーラーが行うべきです。
  SQL Serverなどは書き込みますが (MSSQL10.MSSQLSERVER\MSSQL\DATAなど),専用のディレクトリ (DATA) を作って,ACLを変更するようになっています。

%ProgramFiles%にユーザーデータを書き込むな,というのはMSDNにも書いてある事項です。
http://msdn.microsoft.com/en-us/library/windows/desktop/bb776776
> Do not store user data under the Program Files folder.

編集 削除
あかい  2012-10-09 09:01:26  No: 147844  IP: [192.*.*.*]

%ProgramFiles%への書き込みをやめました。

ありがとうございました。

編集 削除