我使用PostBuildevnt脚本启动申请表单链接
http://blogs.msdn.com/b/astebner/archive/2006/08/12/696833.aspx?wa=wsignin1.0&CommentPosted=true
并成功启动应用程序。我正在使用sqllite for app。 我在Application Folder / DataBase中添加了DB文件,并使用以下代码打开Db文件。
string ConnectionString = "data source=" + Path.GetFullPath(".") + "\\DataBase\\CATTDB.db";
如果我从安装向导启动应用程序,则它不会连接到db file.it会抛出错误,如“无法打开文件”。
如果我从开始菜单或桌面图标启动,它工作正常..
这是什么问题? 请帮帮我..
答案 0 :(得分:0)
从安装程序启动时,您的工作直销可能会有所不同......
在这种情况下Path.GetFullPath(".")
返回什么(记录和/或显示值)?
始终存在权限/权限问题 - 取决于您的操作系统(即Windows 7 ...)和运行应用程序的用户(ia管理员?)出于安全原因您不允许在应用程序中写入目录...如果你需要一个有读+写的地方,你应该使用http://msdn.microsoft.com/de-de/library/system.windows.forms.application.userappdatapath.aspx
只需检查数据库是否在该路径中 - 如果不在那里复制 - 并在那里使用它......
其他位置可以是来自http://msdn.microsoft.com/de-de/library/14tx8hby.aspx和http://msdn.microsoft.com/de-de/library/system.environment.specialfolder.aspx
的ApplicationData / CommonApplicationData / LocalApplicationData答案 1 :(得分:0)
所有文件都正确复制..
我尝试使用Application.ExecutablePath
代替Path.GetFullPath(".")
它工作得很好......