問題タブ [registrykey]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
873 参照

.net - 非正規ACLの.NETRegistrySecurityAPI処理:処理アプローチ

私はアクセスルールを次のRegistryKeyように追加しようとしています:

ただし、レジストリがマングルされた場合AddAccessRule、例外がスローされます(リフレクターは、呼び出しがそれらが正規ではないと判断し、インスタンスがその状態にあるGetAccessControlときに書き込みを行おうとするとフェイルセーフを作動させることを示します):RegistrySecurity

regedt32(およびおそらくregedit)を実行すると、次のようなポップアップが表示されますthe permissions on <key> are incorrectly ordered, which may cause some entries to be ineffective <paraphrasing>Do you want to unmangle them now? Y/N</paraprasing>

この問題で私が見た中で最も権威のある作品はhttp://www.codeproject.com/KB/system/accessctrl3.aspxで、次のように書かれています。

ただし、制御フラグはプロパティとして実装されます(不整合について話します!)。AreAccessRulesProtected/から自動継承設定を取得できますAreAuditRulesProtected(ACLが保護されている場合は、自動継承されないことを思い出してください)。パート2を読むと、一部のWindows APIが継承をサポートしていないため、マシンの継承設定が破損する可能性があることがわかります。良いニュースは、.NETが継承メカニズムを完全にサポートし、継承設定を適切に保持することです。何らかの理由でACLが乱れた(おそらく不正なWin32アプリから)セキュリティ記述子を開いた場合、それを編集しようとすると、InvalidOperationExceptionがスローされます。

一般に、このような非正規のACLは、[廃止されてから] NewSIDツールを使用した結果であり、人々はKB記事に「それならやめなさい」と書いています。

しかし、批判的には、これが常に理由であるとは限らず、コードが機能する必要がある場合もあります。これを処理するための良いクリーンで安全な方法は何ですか?

私は2つの答えを提供し、人々は投票して穴を選び、投票し、コメントし、そしてニッチピックすることができます。

0 投票する
2 に答える
2004 参照

visual-studio-2008 - Windows 7でVisual Studio 2008のセットアップと展開プロジェクトを使用して、レジストリキーを削除する

Visual Studio 2008 Professional でセットアップおよび配置プロジェクトを作成しました。私は Visual C++ を使用しています。その中には、カスタム アクションで実行される 2 つの exe ファイルがあります。1 つはコミットで実行され、もう 1 つはアンインストールで実行されます。目的は、インストール時にレジストリ キーを追加し、アンインストール時に削除することです。Windows XP では完全に動作しますが、Windows 7 に変更してセットアップを実行すると、キー追加部分だけが動作します。アンインストール時にキーは削除されません。しかし、アンインストール exe ファイルをセットアップから取り出して Windows 7 で個別に実行すると (セットアップではなく、exe をダブルクリックするだけで)、レジストリ エントリが完全に削除されます。問題は何ですか?

0 投票する
1 に答える
962 参照

permissions - Win Server 2008 の UAC が頭痛の種です!

私のインストーラーは、インストールされている Windows サービスでいくつかの基本的な構成を行うために使用される構成 exe を展開します。exe は、いくつかのレジストリ キーを作成して書き込む必要もあります。Windows サーバー 2008 環境では、これらのキーを作成できません。調査したところ、これは管理者権限であり、exe は 2008 年の UAC で必要な管理者権限を求めていません。exe を右クリックして管理者として実行することで、これを回避できます。これは理想的ではありませんが、実行したことをクライアントに通知する必要がある追加の手順です。exe の実行時に管理者権限を昇格させる他の方法はありますか?

0 投票する
1 に答える
665 参照

c# - RegistryKey、RegistrySecurity、および RegistryAccessRule を使用して、Windows XP で不適切なレジストリ設定を修復する

私が書いている C# アプリケーションは、組織全体で壊れたレジストリ キーを修復するものです。RegistryKey、RegistrySecurity、および RegistryAccessRule の 3 つのクラスを使用しようとしていますが、それらを使用しようとすると、「要求されたレジストリ アクセスは許可されていません。」というメッセージが表示されます。これを広範囲に検索しましたが、良い解決策が見つかりません。

修正しようとしているキーにはアクセス許可がありません (下のスクリーンショットを参照)。これらは空白で、継承可能な設定はありません。権限がないため、アプリでそれらを修正することはできませんが、regedit を開くかのように、このアプリケーションを実行するユーザーで権限を変更できます。したがって、このユーザーを使用して手動で壊れたマシンにアクセス許可を追加できることはわかっていますが、何らかの理由で、自分自身を昇格させるように強く指示しても、アプリケーションはアクセス許可を取得できません。

私が試したこと:

  1. Windows 7 では、UAC を使用してアプリケーションを実行し、右クリックして管理者として実行すると機能します。Windows XP で同じコードを使用してこれを行うことができることを複製したいと思います。
  2. レベル「highestAvailable」を使用してマニフェストを作成し、「requireAdministrator」も試しました。
  3. また、「System.Security.Permissions.RegistryPermission」アサートを使用してみました。これにより、より高いレベルのアクセス許可も実行できるようになります。
  4. これをネットワーク共有から実行していませんが、ローカルとネットワークの両方を試して、どのセキュリティゾーンから実行するかを確認しました.

パーミッションが以下のように見えることがわかります: http://i.stack.imgur.com/0c99s.jpg

どんな助けでも大歓迎です!

0 投票する
4 に答える
8674 参照

windows - レジストリ値を更新する方法

一部のアプリケーションをアンインストールし、ソフトウェア インストールの列挙値をレジストリから読み取っています。

問題は、アンインストール後、画面または regedit が更新されない限り、レジストリ値が変更されないことです。リフレッシュした後、正しい値を取得しています。

Pythonコードでregeditを更新するのを手伝ってくれる人がいますか。

よろしく、upendra

0 投票する
2 に答える
1549 参照

windows - パス付きの神秘的なネイティブ「A」レジストリキー:Registry \ A

最近、Windows用のネイティブNTレジストリエディタを作成し、Windows 7で実行しました。驚いたことに、Windows XPに存在する2つの標準ルートキーMACHINEとUSERに加えて、「」という名前の不思議なキーもありました。 A "、これは、アクセス許可の変更、バックアップ特権、またはその他の方法で開くことはできません。

スナップショット

このキーが何のためにあるのか誰か知っていますか?マシンに何かをインストールする前にそこにあったので、ソフトウェア用ではないと思います。また、別の新しいインストールでも見たと思います。それはかなり疑わしいです、そして私はそれがなぜそこにあるのかについて興味があります。(私が十分に興味があるなら、何が起こるかを見るために、特権チェックなしでそれを開くためのドライバーを書くことになるかもしれません!)

(これをSuperUserとStackOverflowのどちらに配置するかはわかりませんでした。どちらにも使用できると思います。ただし、間違っている可能性があります。適切な場所でない場合は申し訳ありません。)

編集:

言うのを忘れた場合、Win32 APIを使用してこのキーを表示することさえできないと思います。たとえば、代わりにRegOpenKeyネイティブAPIを使用する必要があります。NtEnumerateKey

0 投票する
1 に答える
198 参照

c# - C# Windows アプリケーションのセットアップ プロジェクトを作成する際に、インストールされた製品の詳細をシステム レジストリに追加する方法と理由を教えてください。

私の C# Windows アプリケーションに setUp プロジェクトを追加しました。ただし、システム レジストリには登録しませんでした。システムレジストリに登録するには、次の手順に従う必要があることに気づきました。「インストール」メソッドを次のコードでオーバーライドしました。

同様に、オーバーライドされた Unistall メソッドに次のコードを追加します。

上記のコード スニペットをインストールおよびアンインストール メソッドに追加しても問題ありませんか。レジストリを操作するとシステムがクラッシュする可能性があるため、私はこれを行いませんでした。

インストールをシステム レジストリに登録する正確な手順を教えてください。
また、インストール中に登録する利点は何ですか。

コーディング中のレジストリ操作はまったく初めてです。レジストリ、registry_key、GUID、ClassId、およびレジストリ操作に関連するその他の重要なセットテールが何を意味するかの基本から学びたいと思います。誰か親切にこれのための資料を私に提案してもらえますか? 前もって感謝します。

0 投票する
2 に答える
516 参照

c# - レジストリの操作、その概念を基本から学びたい

私はレジストリ操作とレジストリプログラミングにまったく慣れていません。Class_Id、GUID、レジストリキー、GACの意味、これらの操作方法、regeditの使用方法など、レジストリの概念を基本から学びたいと思います。
これらのレジストリ関連のキーワードについて聞いたばかりですが、正確には何であるかわかりません。
レジストリの操作とその概念をしっかりと把握していれば、コーディングで不思議に思うことができます。これらのレジストリの概念を基本から学ぶことができるように、誰かが私にいくつかの資料(リンク)を案内してくれますか?

.NETプラットフォームでコーディングします。

前もって感謝します。

0 投票する
1 に答える
1537 参照

c# - .NET で ReadKey や FullControl などの RegistryKey のアクセス許可を確認するにはどうすればよいですか?

たとえば、値を読み取ったり値を書き込んだりできるなど、RegistryKey に対するアクセス許可があることを確認したいと考えています。このブログでは権限を列挙します

http://blogs.msdn.com/b/bclteam/archive/2006/01/06/509867.aspx

GetAccessControl() から、たとえば FullControl があることを知るにはどうすればよいですか?

0 投票する
3 に答える
199 参照

c# - レジストリからの値の取得 (右側のペイン)

複数のブランチの下にある Windows のレジストリから値を取得しようとしています。

次のコードがあるとします。

で設定が LocalMachine に設定されている場所Microsoft.Win32.Registry

ただし、コードの最初の行の後に null を取得します。何を与える?