2011-01-31 64 views
0

我已經創建了一個使用accdb文件的程序。我還創建了一個用於部署該程序的安裝項目。但是,我僅在Microsoft Vista中準備好accdb文件時遇到問題。accdb文件在使用VS2010安裝項目安裝時只能讀取

首先我將accdb文件安裝到DataDirectory中,但意識到如果您需要對文件進行更改,Program Files位置不是安裝文件的地方。
所以我試圖安裝到ProgramData目錄中,但accdb文件仍然是隻讀的。
然後我嘗試安裝到用戶目錄中,但無法獲取app.config文件中的連接字符串是否正確。

因此,最終,我的問題是:
1.我需要安裝一個accdb文件,以便它不是隻讀的? 2.如何在VS2010中的FileSystem中配置該目錄? 3. app.config中的連接字符串應該是什麼樣子?

如果可能,我希望在XP,Vista和W7上運行。如果需要在多個操作系統上工作,可以創建多個安裝項目。

+0

看起來非常相似,這也是[懸而未決的問題]連接字符串( http://stackoverflow.com/questions/4305782/where-to-deploy-a-database-file-to-have-read-write-privileges) – 2011-01-31 22:53:30

+0

是的,我確實遇到過,但它沒有回答,所以沒有幫助許多。 – Voyagr12 2011-02-01 00:27:22

回答

0

您應該將db文件安裝到LocalAppDataFolder

看來你已經試過這...

,但不能得到app.config文件中的連接字符串是正確的。

而不是設置在設計時,你應該從ErikEJ的answer設置字符串在運行時

到類似的問題

string fileName = System.IO.Path.Combine(
     Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), 
     "SqlCe35AddinStore.sdf"); 

string connString = string.Format("Data Source={0};", fileName);