2012-01-29 77 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