前スレで触れられていたUACへのJaneの対応の規格を考えてみました。
Vista以降ではProgram Files以下にプログラムがファイルを書き込もうとすると
UACがオフならそのまま書き込み、オンだとVirtualStoreという別のフォルダに
書き込みます。このため、UACのオン・オフの切り替えでファイルの内容が変わって
しまう現象が起きます。以下はこの対策の規格案です。
・XP以前の環境あるいはVista以降のProgram Files以外へのインストール
従来どおりJane2ch.exeのあるフォルダに書き込みます。
XP以前はUACは関係ありませんし、Vistaでも例えば、USBから起動した場合に
PC内のフォルダに書き込むわけには行きません。
・Vista以降のProgram Filesへのインストール
データをJane2ch.exeのフォルダではなく、My Documents以下のフォルダに
書き込みます。例えばJaneのフルパスが"C:\Program Files\OpenJane\JaneNida\Jane2ch.exe"
だったら、"C:\Documents and Settings\ユーザー名\My Documents\Jane Shared\JaneNida\"
フォルダにデータを書き込みます。"JaneNida"の部分はJane2ch.exeの入ったフォルダ名に
よって変化します。他の派生JaneやJaneNidaの姉妹品がこの規格に対応すればJane Sharedの
下に各Janeのフォルダがいくつも並ぶことになり、Jane Sharedの直下に Logs フォルダを
置いてログを共有するという方法も考えられます。
以下のユニットはこの仕様をJaneに最小限の修正だけを加えて実現するためのものです。
http://koreawatcher.at.infoseek.co.jp/janenida/UUACUtils.pas