1

私はVS2008を持っていました。VS2010にアップグレードし、VS2008をアンインストールしました。

自分のマシンで実行するテストがありますが、ビルドラボのマシンにロードできません。デバッグを行った後、テスト実行可能ファイルがまだmsvcr90d.dll(VC ++ 2008デバッグランタイムライブラリ)に依存していることに気付きました。VS 2008をアンインストールしましたが、そのランタイムDLLがサイドバイサイドキャッシュ(%windir%/ winsxs)にまだ存在するため、テストは私のマシンで機能します。ビルドラボマシンにはDLLがないため、そこにロードされません。

VS 2008をアンインストールすると、すべてのランタイムDLLがサイドバイサイドキャッシュから削除されるべきではありませんか?

これらの古いDLLをサイドバイサイドキャッシュから手動で削除する方法はありますか?まだ古い依存関係がある可能性のある他の場所を簡単に検出できるようにしたいと思います。

4

1 に答える 1

2

まず、含まれているフォルダの所有権を取得する必要があります。そこにあるすべてのフォルダーは、SYSTEMまたはTrustedInstallerによって所有されます。だからこれを行う:

右クリック->[プロパティ]->[セキュリティ]タブ->[詳細設定]->[所有者]タブ->[編集]->[所有者として選択]->[チェック]'サブコンテナとオブジェクトの所有者を置き換える->[OK]

それが済んだら、右クリック->[プロパティ]->[セキュリティ]タブ->完全に制御->[OK]を実行できます。

または、caclsコマンドに精通している場合は、コマンドラインから実行できます。

完全に制御できるようになったら、フォルダを移動できます。削除するよりも、フォルダを移動することを強くお勧めします。winsxsからファイルを削除すると、他のアプリケーションやWindowsさえも破壊される可能性があります。

于 2011-08-05T23:10:09.773 に答える