2015-10-07 104 views
0

我創建了與Microsoft Access數據庫運行後,我部署的項目,並把它安裝C驅動數據庫文件變成只讀C#應用程序訪問數據庫,而且,如果我在D或安裝另一個驅動器工作正常。如何發佈C#應用程序與

如果有人能夠幫助它被讚賞(SIS是訪問數據庫文件)的問題是我想使它在C驅動器也工作。

this is my setup SIS is the access file 這是我的設置SIS是訪問文件

這是使用

String cs = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\\SIS_DB.accdb;"; 
+0

您可以嘗試將數據庫放入應用程序數據文件夾中,將連接字符串更改爲指向併發布。 – Code4U

回答

0

你的問題是你的數據庫文件中的%ProgramFiles%。它應該是%APPDATA%

有解決

1.modify安裝項目兩種方式。 當您進行設置時,您應該指定f.mdf的路徑,確保該文件將安裝到AppData文件夾中。

2.複印f.mdf到應用程序數據文件夾中的應用程序。 每次運行你的應用程序時,第一件事就是將文件複製到應用程序數據文件夾, 你可以在你的主要添加如下代碼(或init)方法,然後再試一次:

string [email protected]"C:\PROGRAM FILES\DEFAULT COMPANY NAME\SETUPER2"; 
string appDataPath= Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData); 
string fileName="F.MDF"; 
System.IO.File.Copy(sourcePath+"\\"+fileName, appDataPath+"\\"+fileName ,false); 

* 1是更好。

+0

謝謝sooooooooo muchhhhh第一種方法修復問題讚賞 – user3856440

0

連接字符串IM您是老同學...... C盤這些天是禁區。

使用無論是程序數據文件夾應用程序特定數據 - 或者,用戶數據,您爲應用程序創建一個文件夾,並使用此文件夾爲用戶的數據%APPDATA%文件夾。

+0

即時通訊混淆有點你的意思是改變連接字符串到程序數據文件夾感謝回答 – user3856440