Windows Info 第147回
Windows 10「October 2018 Update」でファイル消失の原因になったKnown Foldersって何?
2018年11月18日 10時00分更新
「October 2018 Update(RS5)」こと、Windows 10 Ver.1809の配信が再開された。このアップデートの配信が停止になったのは、Known Foldersに関連してファイルが消失するという問題が起こったためだと言われている。では、Known Foldersとは何なのだろうか?
Windows 95以前には決め打ちされていたシステムフォルダー
Windowsには、一定の役目を果たすように標準で作られるフォルダーがある。たとえば、ユーザーフォルダーやその下にある「ドキュメント」や「ピクチャ」といったフォルダーだ。そのほかにも「Program Files」フォルダーやWindowsフォルダーなど、標準で用意されるフォルダーは少なくない。
アプリケーションをインストールする場合、Windowsでは、標準のインストール先として「Program Folder」や「Program Folder(x86)」などが指定されている。
また、一部のアプリケーションは、システム関連モジュールなどをc:\Windows\System32などに配置する。また、インストール時に、スタートメニューなどにショートカットを登録することある。こうした一連の処理では、フォルダーの位置を特定することが問題になる。Windowsが指定するこうしたフォルダーは「システムフォルダー」などと呼ばれることがある。
Windows 95やNT 4.0以前では、こうした「システムフォルダー」は単純なフォルダーであり、移動させることは誤動作を引き起こすため、一般的には手をつけないでおくことになっていた。変更されることがないので、アプリケーションは直接パスを指定していた。
昔は環境変数によってシステムフォルダーの位置を定義
しかし、Windows 95やNT 4.0になって、こうしたフォルダーをエクスプローラーが管理するようになり、アプリケーションはなんらか情報を得て、「システムフォルダー」の位置を特定しなければならなくなった。
そのための仕組みを「CSIDL」(constant special item ID list)といい、個々のシステムフォルダーに番号を付け、APIにより実行時にパスを得るようにしたわけだ。
また、同種の方法として、一部の「システムフォルダー」は、環境変数にパスが定義されていた。たとえば「windir」はWindowsフォルダーを、「USERPROFILE」はユーザーフォルダーを定義する環境変数だ。
エクスプローラーからは、シェルショートカットを使うことで、システムフォルダーを絶対パスを指定することなくアクセスできる。たとえば、「shell:Profile」は、実行中のユーザーフォルダーを、「shell:Windows」は、Windowsフォルダーを表し、エクスプローラーのパス欄に入れると、該当フォルダーへ移動できる。
こうした仕組みは用意されたが、実際にはシステムフォルダーの位置が動くことはあまりないため、相変わらず多くのアプリケーションは、絶対パスをハードコーティング(変更できない形でプログラムに埋め込むこと)しているものがあった。その結果、「システムフォルダー」を移動させていると動かなくなるケースがあった。
このCSIDLは、Windows Vistaで「Known Folders」という仕組みに変更された。Vistaでは、より多くの「システムフォルダー」が定義され、「コンピューター」に代表される「仮想フォルダー」が多数導入された。また、アプリケーションからもKnown Foldersの変更などが可能になった。
この連載の記事
-
第467回
PC
Copilot+ PCのNPUでカメラを処理する「Windows Studio Effects」 その内容や効果は? -
第466回
PC
PowerToysの最近の新機能には、複数アプリを指定位置に起動する「ワークスペース」や新規作成のカスタマイズがある -
第465回
PC
WindowsのPowerShellからBluetoothデバイスを調べる -
第464回
PC
Windows 10のサポート切れまで1年を切った さてWindows 10マシンをどうする? -
第463回
PC
Windows Terminal Preview版でSixelグラフィックスを実際に表示させてみる -
第462回
PC
Windows Terminal Preview版でSixelグラフィックスを扱う -
第461回
PC
Copilot+ PCを買ってみたが、「今焦って買う必要はない」のかもしれない -
第460回
PC
Windowsでsftpを使う -
第459回
PC
WSL 2.4.4ではtar形式でのディストリビューションが配布でき、企業での利用が容易になってきた -
第458回
PC
Windows上でhostsファイルを活用する -
第457回
PC
IPv6アドレスは先頭を見ればどんな種類かわかる - この連載の一覧へ