“操作必须使用可更新的查询”部署后

问题描述:

我已经用Access 2010数据库在C#(WPF)中创建了一个桌面应用程序,我也为它创建了安装程序。我的问题是,当我安装了它在我的电脑上,它工作正常,但是当我在其他PC上安装它,然后它无法与像“操作必须使用可更新的查询”部署后

一个异常

“操作必须使用一个可更新的查询”我已搜查

因为它和我发现的每一个答案都表明这是一个权限问题。我试图给完全访问数据库文件夹,但仍然得到相同的错误,我试图解决它的最后两天,但我仍然没有找到一个解决方案。

+0

您的安装程序是否也分发数据库文件?如果是这样,它是否将数据库文件放在与可执行文件相同的文件夹中? ...像C:\ Program Files \ yourApp'这样的地方? –

+0

是的,我的数据库文件位于其他可执行文件所在的文件夹中。为你参考我已经上传我的exe文件在提到的链接 –

+0

是的我的数据库文件是在其他可执行文件所在的文件夹。为您的参考我已经上传我的exe文件提到的链接http://www.4shared.com/file/EDzIi7T9/DailyExpense.html –

如果你的安装程序将数据库文件在同一文件夹作为可执行文件(一个或多个),例如,C:\Program Files\myApp\那么普通用户只具有只读访问数据库:

myData.png

即使您安装上修改数据库文件权限,普通用户仍然具有只读访问数据库,因为他们只读的文件夹访问...

myApp.png

...并且您绝对不希望打开该文件夹的读写访问权限到常规Users。 (有关文件/文件夹权限对Jet/ACE数据库的影响的详细信息,请参阅我的回答here。)

而是,安装程序应将数据库文件放入常规用户通常具有读写访问权限的文件夹中,也许在%PUBLIC%的某处。

+0

感谢您的回复,但我对此表示怀疑,因为我已经给予了所有的许可,即使我将它安装在我的其他驱动器(如D驱动器)上,也发生了相同的异常。 –