2011-01-30 1294 views
10

私はレジストリを変更するための管理者権限が必要だと思っていました。レジストリの一部だけが管理者権限を必要とするかもしれません。管理者権限なしでレジストリを変更する

いくつかの情報を教えてください。私は管理者権限のないどこかで自分のアプリケーションデータを保存する必要があります。

答えて

15

複数のユーザーが共有する場所に書き込むには、管理者権限が必要です。
ファイルシステムでは、これは\WINDOWSまたは\Program Filesのようなフォルダを意味します。 レジストリでは、これは、ユーザーごとではないすべてのハイブを意味します。

したがって、HKEY_CURRENT_USERにのみ書き込むことができます。
具体的には、HKCU\Software\Your Companyにお書きください。

+1

"具体的には、HKCU \ Software \ Your Companyに書き込むべきです"というのは、これが管理者権限なしで書いてもらえる唯一の場所であること、またはHKCUのどこにでも書くことができるということです。行う? –

+0

@Saysmaster:後者。 – SLaks

+0

まあ、私も同じだと思っていました。しかし、私はこの問題に陥りました。勝利7 64マシンでは、VS 2010で私によって作成されたセットアップmsiを、管理者権限のないユーザーアカウントで実行します。このmsiでは、私はHKCUの下でいくつかのレジストリ値を設定していました...しかし、それは実行されません。それは私に管理者権限を求めました。 msiからレジストリ設定を削除すると、すべてがスムーズになり、アプリケーションはインストールされましたが、HKCUの設定はありません。私はあなたがHKCUの下で管理者権限を必要としないと確信しているので、これは本当に奇妙であることがわかりました。 –

3

通常の管理者以外のユーザーとしてログインします。 regeditを開き、トップレベルのキーを右クリックし、それぞれの権限を調べると、ユーザーとして書き込むことができるものが表示されます。基本的にSLAKsの言うとおり、HKEY_CURRENT_USERです。

たとえば、HKEY_LOCAL_MACHINEはオフリミットです。 HKCUは基本的にそのイメージなので、HKEY_USERS /あなたのユーザーのSIDに書き込むことができます。

+2

HKCUはその_alias_です。それらはディスク上の同じファイルによってバックアップされます。 – SLaks

関連する問題