トップ回答者
UAC有効でHKEY_LOCAL_MACHINEキーへの書き込み

質問
回答
-
インストール時に共通で書き込めるフォルダーなどを用意して、そこに保存するようにすることなど、仕様の見直しも含めて検討してください。
(レジストリキーの自分たちのソフトウェアのキー以下のアクセス許可を書き換えることも考えられますが、ファイルの方が楽な気もします)// 基本的に、こっそり昇格はできませんので、そっちの方向で探すのは骨折り損のくたびれもうけかと。
// 代行するサービスを作るのもありですが、普通のアプリがやることじゃないですね。(セキュリティリスクになりかねません) -
別プログラムとしてそういった設定を行う為の機能を用意するというのは
Microsoftが出しているUAC関連の文書の中にも出てきますが、
これは本体のプログラムに組み込んでしまうと起動する度にUACの確認ダイアログが出るので
本当に必要な時だけ確認ダイアログを出すようにする為の方法だったと思います。Azuleanさんも書かれていますが、確認ダイアログを出さずに行うのではなくて
出す場面をコントロールするというのであればよいと思うのですが、
文面からはそこまで読み取れないのでどちらを望んでいるのだろうと思いました。UACの事を気にしないようにしたいなら書込み権限があるところに保存するようにするか、
それ専用のフォルダを作成して書き込み権限を設定するかだと思います。
設定情報を保存する方法はレジストリだけではありませんし、
.NETの環境ではXMLファイルに設定を保存する方向ですし。解決した時は、参考になったレスポンスの所にある[回答としてマーク]ボタンをクリックしてスレッドを締めましょう。
すべての返信
-
インストール時に共通で書き込めるフォルダーなどを用意して、そこに保存するようにすることなど、仕様の見直しも含めて検討してください。
(レジストリキーの自分たちのソフトウェアのキー以下のアクセス許可を書き換えることも考えられますが、ファイルの方が楽な気もします)// 基本的に、こっそり昇格はできませんので、そっちの方向で探すのは骨折り損のくたびれもうけかと。
// 代行するサービスを作るのもありですが、普通のアプリがやることじゃないですね。(セキュリティリスクになりかねません) -
別プログラムとしてそういった設定を行う為の機能を用意するというのは
Microsoftが出しているUAC関連の文書の中にも出てきますが、
これは本体のプログラムに組み込んでしまうと起動する度にUACの確認ダイアログが出るので
本当に必要な時だけ確認ダイアログを出すようにする為の方法だったと思います。Azuleanさんも書かれていますが、確認ダイアログを出さずに行うのではなくて
出す場面をコントロールするというのであればよいと思うのですが、
文面からはそこまで読み取れないのでどちらを望んでいるのだろうと思いました。UACの事を気にしないようにしたいなら書込み権限があるところに保存するようにするか、
それ専用のフォルダを作成して書き込み権限を設定するかだと思います。
設定情報を保存する方法はレジストリだけではありませんし、
.NETの環境ではXMLファイルに設定を保存する方向ですし。解決した時は、参考になったレスポンスの所にある[回答としてマーク]ボタンをクリックしてスレッドを締めましょう。