2012-01-18 8 views
0

ビジネスソフトウェア用のMicrosoft Access(.mdb)データベースを使用します。最近、私はインストール後にソフトウェアを開くことができないというユーザーからの多くのフィードバックに気づいた。アクセス(.MDB)導入の問題 - Windows 7 - 管理者ユーザーによるインストール?

基本的に、私はuser \ appdata \ local \ myfolderパスにデータベースを保存します。ユーザーがソフトウェアをインストールしようとすると(管理者権限なし)、Windows 7マシンでこれらのユーザーのシナリオを検討すると、管理者のユーザーのローカルフォルダーにログインするのではなく、管理者のユーザーとパスワードを入力する必要がありますユーザーのローカルデータフォルダー。

インストール後、私のソフトウェアは管理者のローカルデータに保存されていて、ログインしているユーザーのローカルデータフォルダには格納されていないため、データベースを見つけることができません。私はEnvironment.SpecialFolder.LocalApplicationDataを使用して、現在のユーザのためのlocalappdataフォルダをC#で探します。

私はデータベースに読み取り/書き込み許可を保存できる他のフォルダはないと思います。プログラムファイルフォルダは適切ではありません。

これには最適な解決策はありますか?

ありがとうございます。

+0

私は現在、commonappdata定数を使ってprogramdataフォルダを試しています...それは私が思うように... – ReflectionSoft

+0

すべてのユーザがprogramdataフォルダへの書き込み権限を持っているわけではないので... :( – ReflectionSoft

答えて

0

私は同様の方法でAccessデータベースを配布し、それのための最高の場所は次のとおりです。

C:\User\Username 

ユーザーズ何らかの理由で、彼らはその後、アクセス権の設定があるべきでないならば、自分のフォルダの上での書き込み特性を有するべきです改訂されました。

C:ドライブに1つのコピーを保存するのではなく、個々のユーザーごとにコピーが保存されます。ユーザーがネットワークドライブとしてマップされたログオンしているマシンからアクセスできる個人的な共有スペースを持っている場合は、さらに優れています。

+0

OK。私は.mdbファイルをusers \ appdata \ localフォルダに保存し、すべてのユーザがそれをインストールすると、私のプログラムのケースでは無意味な複数のコピーが存在するでしょう。 – ReflectionSoft

+0

これで、ユーザがadminによってインストールする場合、彼はそうではなく、ソフトウェアが自分のフォルダ内にデータベースを見つけることができない場合は、エラーメッセージを表示する代わりに場所を尋ねる – ReflectionSoft

関連する問題