7

我修改了一个应用程序以考虑 VISTA 中的 UAC。所以,现在,.mdb(JET 或 Access 文件)位于ProgramData\MyApp\

我意识到,当我的应用程序第一次读取数据库时,它是从该位置执行的……但是当我的应用程序写入数据库时​​……文件被虚拟化并转到Users\MyUser\AppData\Local\VirtualStore\ProgramData\MyApp. 从这一刻起,我的应用程序总是转到磁盘中的虚拟化位置。

我的应用程序正在运行,但如果我继续这样,数据库将基于每个用户,我们确实需要与 PC 中的所有用户共享数据库。

我认为在 ProgramData 文件夹下写入不会触发虚拟化机制。

我错过了什么?

我需要在 ProgramData 下设置 MyApp 文件夹的权限??

我怎样才能在安装时做到这一点?

谢谢人...

更多信息: 使用 VS 安装项目使用 VS2003 VB.NET 开发。

4

2 回答 2

2

您很可能需要在安装期间为所有用户设置写入权限。

要进行测试,请删除虚拟化文件夹,手动设置 ProgramData\MyApp 文件夹和文件的权限,看看是否有效。

至于如何在安装过程中务实地做到这一点,这实际上取决于您使用的是什么技术。

于 2009-05-04T01:43:48.450 回答
1

我在这里也遇到了麻烦,似乎vista曾经决定虚拟化文件,阻止它的唯一方法是删除虚拟文件。下次使用它时,它将使用 ProgramData 文件夹。

于 2009-05-03T22:25:55.977 回答