2012-01-29 44 views
1

当我安装我的应用程序到客户端机器有窗口7,然后给我错误的数据库文件没有读取或写入权限。将数据库文件存储在共享目录

我该如何授予该文件的权限?

i already read other solution我应该将数据库文件存储在共享目录中,这些共享目录对每个用户都具有读写权限。

但我想将我的数据库文件存储到我的程序文件文件夹中,并希望给予该文件的权限,以便它也可以在窗口7中工作。

感谢

编辑: -

为您提示保存共享文件夹的数据库文件的现在,所有所以我的新问题是现在

如何存储密度纤维板在c#中进行设置时,共享文件夹中的文件。我应该在应用配置文件中做什么改变。目前其存储程序文件在我的应用程序文件夹中,我的应用程序没有读取写入权限。

目前我的mdf文件是在根和我的应用程序配置文件中有这样一行代码:

<add name="HotelReservationSystem.Properties.Settings.HotelReservationDBConnectionString" 
     connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\HotelReservationDB.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True" 
     providerName="System.Data.SqlClient" /> 
+1

添加设置让您的应用以管理员身份运行UAC权限将信息存储在Program Files文件夹内没有任何理由。这就是为什么在Windows Vista和更高版本中它变得更加困难。安全风险使其完全不合理。确切地说,你认为使用像其他人一样的共享目录是错误的吗? – 2012-01-29 09:21:17

+0

可能的重复[Windows 7是否有与Vista相同的问题?](http://stackoverflow.com/questions/5210575/does-windows-7-have-the-same-problem-as-vista) – 2012-01-29 09:21:21

+0

@CodyGray你会建议任何链接我应该改变什么我的代码或使安装程序将数据库文件存储在共享目录和更改app.config文件 – rahularyansharma 2012-01-29 09:30:30

回答

0

不幸的是Windows XP后,这是不可能的。为了让用户在程序文件中写入任何内容,他们需要管理员权限。他们不仅需要管理员访问权限,还需要UAC权限。

所以,你必须选择

  1. 将像的ApplicationData读/写文件夹中的数据库
  2. 在app.manifest
+0

你有任何链接,这与在vs2010中使用mdf文件进行窗口xp window7 – rahularyansharma 2012-01-29 09:15:03

+0

或者如何将我的mdf文件放在这些文件夹中进行设置有关?因为我只是通过添加文件选项 – rahularyansharma 2012-01-29 09:16:46

+0

添加这些文件在我的安装项目中没有什么不幸的。除非你是一个程序员,认为下面的规格是愚蠢的 - 这在XP之前就改变了。 Dumbo程序员忽略它。有一个特定的文件夹。 – TomTom 2012-01-29 10:17:51