実行時にWindowsレジストリを変更するアプリケーションがあります。管理者権限でアプリケーションは正常に実行されますが(問題ありません)、通常のユーザーがアプリケーションを実行すると、次のメッセージを含むダイアログボックスが表示されます。
システムレジストリの更新に失敗しました。 REGIDITを使用してみてください。
[OK]ボタンをクリックすると、アプリケーションは正常に実行されます。しかし、私はこのメッセージを取り除きたいです。
問題は明らかにパーミッションにあります。
アプリケーションはスタンドアロンの実行可能ファイルです。
誰かが解決策を提案できますか?
Windows 7の場合:アプリケーションを実行するために管理者権限が必要であり、それを信頼する場合は、実行可能ファイルのプロパティを変更して、常に管理者として実行するようにします。 IRC、実行可能ファイルを右クリックします。オプションは[互換性]タブの下部にあります。 -UACを正しく処理し、通常のユーザーとして実行できる新しいバージョンのアプリがあるかどうかも確認します。
Windows XPの場合:RunAsユーティリティを使用して、別の特権で一部のプログラムを起動できます。詳細については、次のURLを参照してください。
http://www.Microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/runas.mspx?mfr=true
Sysinternals Process Monitor を使用して、アプリケーションが(通常のユーザーとして)レジストリのどこにアクセスしようとしているのかを確認します。
フィルタをプロセス名に設定し、レジストリアクティビティのみを監視します(ネットワーク、ファイルなどを無効にします)。
次に、(結果列で)アクセス拒否メッセージを探し、それらのレジストリの場所にアクセス許可を設定します。
お気をつけください....