質問

VISTAのUACを考慮してアプリを修正しました。 そのため、現在、.mdb(JETまたはAccessファイル)は ProgramData \ MyApp \

にあります。

アプリがデータベースを初めて読み込むとき、その場所からデータベースを読み込んでいるとき...しかし、アプリがデータベースに書き込みを行っているとき...ファイルは仮想化され、 Users \ MyUser \ AppData \ Local \ VirtualStore \ ProgramData \ MyApp 。この瞬間から、アプリは常にディスクの仮想化された場所に移動します。

私のアプリは動作していますが、この方法で続けると、データベースはユーザーごとになり、PC内のすべてのユーザーとデータベースを共有する必要があります。

ProgramDataフォルダーの下に書き込むと、仮想化メカニズムがトリガーされないと思った。

不足しているもの

ProgramDataの下でMyAppフォルダーのアクセス許可を設定する必要がありますか?

インストール時にこれを行うにはどうすればよいですか

ありがとうございます...

詳細: VSセットアッププロジェクトを使用してVS2003 VB.NETで開発。

役に立ちましたか?

解決

ほとんどの場合、インストール中にすべてのユーザーに書き込み権限を設定する必要があります。

テストするには、仮想化フォルダーを削除し、ProgramData \ MyAppフォルダーとファイルにアクセス許可を手動で設定し、機能するかどうかを確認します。

インストール中に実用的にそれを行う方法については、使用しているテクノロジーによって異なります。

他のヒント

ここでも問題が発生しました。一度ファイルを仮想化することをvistaが決めたようです。それを止める唯一の方法は、仮想ファイルを削除することです。 次回使用するときは、ProgramDataフォルダーを使用します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top