web-dev-qa-db-ja.com

WindowsまたはVisualStudioの更新中にシンボリックディレクトリリンクが削除されないようにするにはどうすればよいですか?

SSDスペースを節約するために、mklink /dC:\Windows\Installerの両方にC:\ProgramData\Package Cacheを使用してシンボリックリンクを作成しました。時々、これらのフォルダはローカルで再作成され(既存のリンクを上書きします)、その結果、次のようになります。

  • VisualStudioなどのプログラムをアンインストールまたは変更しようとしたときのエラー。
  • 異なるドライブ間でパッケージキャッシュフォルダを区別し、手動で再結合する必要があります。

これらのリンクを強制的に所定の位置に保持するにはどうすればよいですか?ORそれ以外の場合は、これらの種類のディレクトリを別のディスクドライブに移動するようにWindowsに指示します(前者の方が簡単だと思います)。

1
aviator

オペレーティングシステムのコアコンポーネントとファイルをオペレーティングシステムドライブ以外のドライブに移動することはお勧めしません。オペレーティングシステムが不安定になる可能性があるためです(ただし、すでにわかっています)。

C:ドライブに十分なスペースがない場合は、最初に次の提案を試してください。

  • ダウンロードフォルダを別のドライブに移動します。
  • 空のごみ箱
  • 使用しないアプリケーションをアンインストールします
  • ディスククリーンアップを実行します。

それでもC:\Windows\Installerが大きすぎる場合は、 PatchCleaner を試してクリーンアップしてください。それは次のように説明されています:

アプリケーションがWindowsオペレーティングシステムにインストールおよび更新されると、隠しディレクトリ「c:\ Windows\Installer」を使用して、インストーラー(.msi)ファイルとパッチ(.msp)ファイルが保存されます。

コンピュータにパッチが適用され、再度パッチが適用されると、これらのインストーラファイルは古くなり、孤立します。これらは不要になりましたが、数ギガバイトのデータを消費する可能性があります。

PatchCleanerは、これらの冗長/孤立したファイルを識別し、次のいずれかを実行できるようにします。

  • (推奨)別の場所に移動します。安全にプレイしたい場合は、別の場所に移動するだけで、いつでもコピーして戻すことができます。
  • それらを削除します。

C:\ProgramData\Package Cacheのスペースを再利用するには、別のディスクに移動できます。ただし、ディレクトリジャンクション(mklink /J)を作成することをお勧めします。

ジャンクションは、シンボリックリンクよりも低いファイルシステムレベルで認識されます。したがって、プログラムやWindowsに対してより透過的です。

C:\Windows\Installerにジャンクションを使用することもできますが、あまり熱心ではありません。

開始する前に、システムディスクのイメージバックアップを取ることをお勧めします。

1
harrymc