Windowsインストーラで「共通ファイルフォルダー」のパスをレジストリに書き込む方法がやっと分かりました。
アプリケーションフォルダーの場合 §
以下のように記述すれば良いことが知られています。検索するとすぐ出てきます。
これで標準的なx64環境であれば"C:\Program Files (x86)\……\……\sample.txt"になります。
ならば、「共通ファイルフォルダー」の場合はどうする?
共通ファイルフォルダーの場合 §
以下で良いことが分かりました。
- "[CommonFilesFolder]sample.txt"
これで、標準的なx64環境では"C:\Program Files (x86)\Common Files\sample.txt"が書き込まれます。
他のフォルダは? §
ファイルシステムのフォルダのプロパティに書いてある名前で良いようです。TARGETDIRもCommonFilesFolderも書いてあります。共通ファイルフォルダーは標準ではありませんが、追加するとプロパティを見られます。
感想 §
分かってしまえば、何だそれだけという話ですが。最初は分からずに苦労しました。