本体プログラムAとその立ち上げの条件を設定するプログラムBを作っています。
立ち上げの条件設定の値を保管するファイルは
共通ファイルフォルダー(C:\Program Files\Common Files\abc\)に置くようにしています。
A,BはVB6.0で作成され、VC2008のMFCのDLLを利用しています。
この3つのファイルをVS2008のインストーラーで作成したものでインストールし動かしますと、
立ち上げ条件設定プログラムBで変更しセーブした値が、本体のAに反映され、
上手く動いているように思えます。
ところが、それぞれをコンパイルリンクしExeファイルa,bを作り直接動かすと、
設定プログラムbはインストールしたものと同期が取れていますが、
本体プログラムaがまったく初期値のままで変更の値が反映されません。
(aだけがアイコンに盾のマークが付き毎回、許可を与えないといけません。
また、右ボタンで、管理権限で一度動かしてもダメです。なぜでしょう?)
よく調べてみると、本体プログラムaだけが共通ファイルフォルダーに
ある立ち上げ条件設定ファイルを読んでいるようで正しく、
逆に、他の3つのプログラムが、どこかにある初期条件ファイルを読んで
いるようでダメなうに思えます。
アンインストールも出来ないよう(共通ファイルフォルダーのものは出来ている)。
以下、そう考えた理由です。
立ち上げ条件設定プログラムで変更したにも関わらず、
1.共通ファイルフォルダーにある立ち上げ条件設定ファイルの日付が変わらない。
2.共通ファイルフォルダーにある立ち上げ条件設定ファイルを一般のディレクトリに
コピーし中身を見てみると変更前の値のままである。
3.アンインストール後、再インストールしたら、アンインストール前の
値が変更されたものが反映される。
(OSに以前のものが張り付いてしまって困ってしまいます)
立ち上げ条件設定ファイルを手動で私が消したことが悪影響を
与えているのかもしれませんが、どう考えたら良いかよろしくお願いします。