質問: vistaの"program files"にインストールすると vistaの"program files"フォルダにデータベースプログラムをインストールしました。 データベースや設定ファイルは全てインストールフォルダ直下に配置して、参照するようにしてあります。 ところが、プログラムはそれらのファイル参照せずに動作しています。書き込みや削除もできますが、インストールフォルダにあるファイルは更新されていません。 しかしプログラムを起動すると更新内容を正しく表示します。 全ドライブを検索してみましたが、インストールしたフォルダ以外にファイルは見つかりません。 アンインストールしても、更新したデーターベースや設定ファイルは残っているようで、再度インストールし直すと、前に登録した内容が残っています。 試しに更新されない設定ファイルをエディタで編集しようとしたところ、書き込みできませんでした。 インストールフォルダの設定を見たら読み込み専用になっていました。(読み込み専用に設定した覚えはないのですが) 読み込み専用を解除しましたが、やはり書き込み出来ませんでした。 xpの"program files"でテストした時は正常に動作しました。 vistaでも"program files"フォルダ以外なら正常に動きます。 vistaの"program files"フォルダにインストールするには何か設定が必要なのでしょうか? os:vista business 開発環境:visual studio 2005/vb.net/access インストーラー:windows インストーラー
回答: vistaでは権限のないユーザーがprogram filesの中を勝手に変更してしまわないように、または権限のあるユーザーでも意図しない変更が起こらないように工夫しています。 program files の中身は基本的にそのままにしておき、変更が必要な場合は差分をユーザーのプロファイルの中に(たしか隠しファイルとして)保存します。 プログラムを管理者権限で起動すれば挙動が変わるかもしれません。(たぶんユーザーのプロファイルを使うことはなくなると思います。)