我创建了一个使用Microsoft Access
数据库运行的C#应用程序,在我部署项目并将其安装在C
驱动器上之后,数据库文件变为只读,如果我在{{1或其他驱动器它工作正常。
如果有任何人可以提供帮助(SIS是访问数据库文件),问题是我想让它在D
驱动器中运行。
这是使用
的连接字符串C
答案 0 :(得分:0)
你是老派......这些日子里的C盘是禁区。
将 Program Data 文件夹用于特定于应用程序的数据 - 或者对于用户数据,使用%AppData%文件夹,为应用程序创建文件夹并使用此文件夹用户数据的文件夹。
答案 1 :(得分:0)
您的问题是您的数据库文件位于%ProgramFiles%中。它应该在%AppData%
中有两种方法可以解决
1.修改安装项目。 进行设置时,应指定f.mdf的路径,确保该文件将安装到AppData文件夹中。
2.按应用程序将f.mdf复制到AppData文件夹。 每次运行app时,首先要将文件复制到AppData文件夹, 您可以在Main(或init)方法中添加以下代码,然后重试:
string sourcePath=@"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更好。