ユーザー固有の設定は HKCU\Software に、マシン固有の設定は HKLM\Software に書き込む必要があります。これらのキーの下では、構造[software vendor name]\[application name]
(例: HKLM\Software\Microsoft\Internet Explorer
) が最も一般的かもしれませんが、それは単なる慣例であり、自然の法則ではありません。
多くの (ほとんどの?) アプリケーションもアンインストール エントリを に追加しますがHKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall\[app name]
、すべてのアプリケーションがこれを行うわけではありません。
これらは最も重要なキーです。ただし、レジストリの内容は、インストールされたソフトウェアを正確に表している必要はありません。アプリケーションが一度インストールされた後に手動で削除されたか、アンインストーラーがすべての痕跡を削除しなかった可能性があります。確認したい場合は、ファイルシステムをチェックして、レジストリエントリが示す場所にアプリケーションがまだ存在するかどうかを確認してください。
編集:
グループ Administrators のメンバーである場合は、HKEY_USERS
ハイブを確認できます。各ユーザーの HKCU は実際にそこに存在します (ユーザーの SID を知るか、それらすべてを確認する必要があります)。
注: @Brian Ensink が言うように、「インストール済み」は少しあいまいな概念です。ユーザーが実行できるものを見つけようとしているのですか? レジストリにまったく書き込まないソフトウェアもあります。「ポータブル アプリ」を検索して、メディア (CD/USB) から直接実行し、コンピューターに痕跡を残さないように特別に変更されたアプリを確認してください。また、ディスク、ネットワーク ディスク、ユーザーがダウンロードしたもの、およびインターネット上で世界中からアクセス可能な Windows 共有をスキャンする必要がある場合もあります (そうです、そのようなものは合法的に存在します -\\live.sysinternals.com\tools
頭に浮かびます)。この方向では、システム ポリシーによって禁止されていない限り、ユーザーが実行できることの実際の制限はありません。