2011-12-22 6 views
1

VB.Net 2005では、Windowsアプリケーションのインストールファイルを作成するセットアッププロジェクトを作成しました。私はmdbファイルをユーザのアプリケーションデータフォルダに置き、実行時にDataDirectoryをEnvironment.SpecialFolder.ApplicationDataに再マッピングしました。残念なことに、時々、システムはアプリケーションディレクトリでmdbファイルを作成しました。たとえば、通常のユーザーアカウントでWindows 7にプログラムをインストールしたという例があります。インストーラの中でプログラムを誰にでも利用できるようにしました。インストール後、mdbファイルは管理者アカウント用に自動的に作成されますが、通常のユーザーアカウント用には作成されません。 XPの場合、すべてがうまくいきました。VB.Net 2005セットアッププロジェクトアプリケーションデータフォルダなしコンテンツ

mdbファイルが存在しない場合は、チェックして作成するルーチンを書こうと思いますが、なぜこのようなことが起こりますか?

答えて

0

アプリケーションがコンピュータにログオンする各ユーザーに対して1回ではなくすべてのユーザー用にインストールされている場合、最終的にデータベースがサインオンしたユーザーに利用できないという問題が発生します。

これを解決するには、アプリケーションの起動時にデータベースの存在を確認し、アプリケーションディレクトリから現在のユーザーのデータディレクトリに標準バージョンをコピーするか、最初から新しいデータベースを作成する方が良いでしょう所定の位置に。私は最初のアプローチをお勧めします。

+0

ありがとうございました。私は、ファイルの作成日を設定してチェックするための条件を追加して、新しいバージョンのインストーラを配布するときにファイルを更新できるようにしました。 –

+0

優秀!答えがあなたの質問を解決するのに役立つ場合は、チェックマークとその上にある上向きの矢印をクリックして、将来の訪問者にあなたの質問を解決するのに役立つことを知らせてください。 –

+0

まだ投票に足りないほどの評判はありません... –

関連する問題