Vista前後でのWindows Installerのフォルダパス比較

Windows Installerにおけるディレクトリプロパティが実際に示すパスのOSによる違いをまとめた。ただし、アプリケーションのインストールにおいて重要と思われるもののみ。以下では便宜上Cドライブを使用しているが、実際のドライブは当然のことながらクライアントの環境によって異なる。

フォルダ名 Windows XP Windows Vista 備考
[CommonFilesFolder] C:\Program Files\Common Files\ C:\Program Files\Common Files\ 変化なし
[AppDataFolder] [USERPROFILE]Application Data\ [USERPROFILE]AppData\Roaming\ ユーザー別かつRoaming可能
[CommonAppDataFolder] [ALLUSERSPROFILE]Application Data\ [ALLUSERSPROFILE] 全ユーザー共通のデータ。VistaではC:\Program Data\になったのに注意。
[LocalAppDataFolder] [USERPROFILE]Local Settings\Application Data\ [USERPROFILE]AppData\Local\ ユーザー別かつRoamingしない(未確認)
[USERPROFILE] C:\Documents and Settings\username\ C:\Users\username\
[ALLUSERSPROFILE] C:\Documents and Settings\AllUsers\ C:\Program Data\  

仮想フォルダに注意

Windows VistaでUAC(User Account Control)を有効にしている場合に、Program Filesフォルダに設定ファイルやデータファイルを保存する場合は注意が必要だ。Program Filesフォルダ内にインストールされたファイルの修正および保存に成功しても、実際にはProgram Filesフォルダ内のファイルは変更されておらず、たとえば C:\Users\UserName\AppData\Local\VirtualStore\Program Files\My Company\ といった不可視フォルダの中に同じ名前のファイルが作られてそこに保存されていることがある。その理由はここでは説明しないが、これにより次のような一見すると訳が分からない問題が発生することがある。

これを回避する一番の方法は、「Program Filesフォルダから下の階層にあるファイルは、インストール以後すべてRead-only」という原則でプログラムやシステムを見直すことである。インストーラによりインストール先のフォルダのアクセス権を変更するという手もあるが、推奨されている方法ではない(と言っても、簡単なのでよく使われるが)。

資料室へ戻る