我正在开发一个使用Microsoft mdb数据库" OLEDB.12.0"对于存储记录,所有工作都很好。但是,当用户点击按钮时,我希望能够备份数据库。
目前我正在使用以下代码,该代码在通过MS Studio 2015运行时有效,但在安装后失败。
string DBFile = "Database.mdb" as string;
//Set Database Filename As Today's Date For Backup And Replace Unwanted Characters
string ThisDate = DateTime.Now.ToString("M/d/yyyy") as string;
char[] separators = new char[] { ' ', '/', ',', '\r', '\t', '\n' };
string[] temp = ThisDate.Split(separators, StringSplitOptions.RemoveEmptyEntries);
ThisDate = String.Join("_", temp);
//Open The Save Dialog
SaveFileDialog openFileDialogDB = new SaveFileDialog();
openFileDialogDB.InitialDirectory = Application.ExecutablePath.ToString();
openFileDialogDB.Filter = "mdb files (*.mdb)|*.mdb|All files (*.*)|*.*";
openFileDialogDB.FilterIndex = 1;
openFileDialogDB.RestoreDirectory = true;
openFileDialogDB.FileName = ThisDate;
if (openFileDialogDB.ShowDialog() == DialogResult.OK)
{
//Save Database Backup
File.Copy(DBFile, openFileDialogDB.FileName, true);
}
使用Install Shield安装后出现的错误是。
System.IO.FileNotFoundException:找不到文件' Database.mdb'。 文件名:' Database.mdb'
安装后使用单击安装我得到。
System.IO.FileNotFoundException:找不到文件 ' C:\ Users \用户名\应用程序数据\本地\应用\ 2.0 \ X27G5OGV.1A8 \ X58VR M4Y.HGD \ lght..tion_0 000000000000000_0001 .0000_f0c86b36a0494a 4C \ Database.mdb'
所以我的问题是如何在安装应用程序后备份数据库。
奇怪的是,如果我在安装完成后配置Install Shield运行应用程序,然后执行数据库备份就可以了。但是,如果我退出并重新启动应用程序,它将再次失败
答案 0 :(得分:0)
我终于想通了,所以我在这里发布我的解决方案给其他可能遇到同样问题的人。
为 Visual Studio 安装 Install Shield 并将其添加到项目后,双击解决方案资源管理器中的 Project Assistant 然后单击应用程序快捷方式。
现在位于其他位置下的侧面板中,点击快捷方式并突出显示您要修改的快捷方式,然后点击工作目录添加以下 [INSTALLDIR] 以某种方式 Install Shield 将此空白留下,即使单击快捷方式,应用程序也运行正常但没有它我在上面得到了错误问题