Vista上のBSch3VをVersion 0.65にアップグレードしたら設定が保存できない
BSch3V Version 0.64をVistaで普通に使えていたのに、Version 0.65にアップグレードしたら設定が保存できなくなる、という現象についてです。
BSch3Vでは、各種設定をBSCH3.INIファイルに書き込みます。このINIファイルは次の順に検索します。
どこにも見つからない場合は、3の場所に作成します。
もし、
…というような場合、3の場所にはINIファイルを作成することはできませんので、設定の保存に失敗します。
これがVistaでは事情が変わります。ユーザーフォルダ外にBSCH3.INIファイルを書き込もうとすると、そこに書き込む代わりに
C:\Users\[ユーザー名]\AppData\Local\VirtualStore
というフォルダの下にINIファイルを生成します。
この仕組みで、bsch3v.exe を "C:\Program Files" の下に置いても設定の保存ができていました。
ところが、このしくみが働くのは、Visual Studio 2005までで作ったプログラムであって、Visual Sdudio
2008で作ったプログラムはこのようには動作しないそうです。(何か工夫すれば良いのかもしれませんが、未調査です)
Visual Sdudio 2008で作ったプログラムは、ユーザーフォルダ外にINIファイルを作ろうとしたら失敗するだけです。
BSch3V Version 0.64までは、Visual Studio 2003で作成し、Version 0.65以降は、Visual
Studio 2008で作成しているため、Version 0.65を境にこの現象が発生します。
対策
一番簡単なのは、bsch3v.exeも周辺ソフトウェアも、ユーザーフォルダ下に保存することです。
もうひとつの方法は、ユーザーの特別なフォルダに予めBSCH3.INIを作成しておくことです。
「ユーザーの特別なフォルダ」については BSch3Vを制限ユーザーで使うと設定が保存できない をご覧ください。
ただし、同じようにINIファイルを使うLCoVがこの方法に2009/05現在で未対応です。
LCoVはINIファイルにウィンドウのサイズを保存して、次回起動時にこれを再現するのですが、Vistaではこのしくみが働かず、起動ごとにデフォルトのウィンドウサイズになってしまいます。