あなたがプログラムをアンインストールするとき、それのすべての痕跡があなたのシステムから削除されることは「合理的な」期待です、しかしそれはしばしばそうではありません。何故ですか?本日のSuperUser Q&A投稿には、興味をそそられる読者の質問に対する答えがあります。. 本日の質疑応答セッションは、コミュニティ主導のQ&A Webサイトのグループである、Stack Exchangeの下位区分であるSuperUserの好意により提供されます。. ワンダーシックの礼儀のスクリーンショット(Flickr). 質問 SuperUserの読者であるMark Boulderは、通常のソフトウェアのアンインストール後にいくつかのレジストリ値が常に残ることを知りたいのです。 SuperUserのトピックに関する詳細アンインストールされたソフトウェアの残りの痕跡をレジストリから削除するにはどうすればよいですか?プログラムをアンインストールしてから後でRegEditで検索するたびに存在するのはなぜなのか? Windowsアプリケーションの大多数が、レジストリに自分自身の小さな痕跡を残そうとしているのはなぜでしょうか。障害は、Windowsまたは開発者にありますか。? ソフトウェアを通常アンインストールした後、レジストリ値が通常「置き去り」にされるのはなぜですか? 答え SuperUserの貢献者であるLukas RiegerとKeltariが私たちに答えてくれます。まず、Lukas Riegerさん。 不可能だから。このレジストリには複数のルートノードがありますが、興味深いものはLocalMachineとCurrentUserの2つだけです。通常、セットアップはLocalMachineに値を書き込み、実行中のプログラムはCurrentUserにのみ書き込みます(実際には、セットアップがアクセス許可に合わない限り、実行中のプログラムはLocalMachineに書き込むことはできません)。. LocalMachineで残り物を保持するのは怠惰ですが(他の答えで指摘されているように)、CurrentUser部分をきれいにすることは不可能です。. プログラムがマシンごとにインストールされている場合(ほとんどの場合)、複数のユーザーがそれを使用する場合、アンインストーラーは何をすべきですか?現在のアカウントのユーザー設定を安全に削除できますが、現在のアカウントがあなたのアカウントではない可能性があります。これは、管理者以外のアカウントからアンインストーラを起動して管理者アカウントの資格情報を入力した場合に発生します。セットアップは最初のアカウントではなく、そのアカウントで実行されます。. 他のユーザーはどうですか?すべてのユーザーを列挙しようとする可能性がありますが、それらのレジストリキーは読み込まれない可能性があります(Windowsは遅延し、必要なものだけを読み込みます)。. しかし、あなたもそれを試すべきではありません。ローミングプロファイル(つまりターミナルサービス)を使用してからアンインストール時にすべての設定を削除すると、実際にはまだ使用されているものが本当に混乱して削除される可能性があります。ターミナルサーバーは基本的に1台のWindowsマシンで、複数のユーザーが同時にログインしてアプリケーションを使用します。 1つのアプリケーションを実行している2つのターミナルサーバーがあるとします。 TS1からアプリケーションをアンインストールすると、ローミングプロファイルがあるため、すべてのユーザーのすべての設定がTS2に反映されます。おっとっと. ユーザーごとのディレクトリ内のファイルにも同じことが当てはまります。私の会社のプログラムのセットアップでは、マシンごとのものを削除しますが、現在セットアップを実行しているユーザーでさえも、ユーザーごとのものには触れません。. ケタリからの回答が続きます: これが本当である理由はたくさんありますが、MicrosoftやWindowsオペレーティングシステムのせいではありません。. 以下は、レジストリエントリが残る理由とその理由の一覧です。 悪いプログラミング - 開発者がアプリケーションのアンインストーラを正しく記述しなかったため、レジストリエントリが残っています。それに加えて、アンインストーラは、レジストリエントリを削除するための適切なアクセス許可を持っていないか、または使用していない可能性があります。これらのキーを使用するアプリケーションが複数あることも考えられます。例えば、同じキーに書き込む同じ開発者からの2つのアプリケーション....