C#windows应用程序打包(VS2010+SQLServer2008)(二)

2014-11-24 13:16:48 · 作者: · 浏览: 2
myCommand.ExecuteNonQuery(); MessageBox.Show("数据库安装成功!点击确定继续");//需Using System.Windows.Forms } catch (Exception e) { MessageBox.Show("数据库安装失败!" + e.Message + "\n\n" + "您可以手动附加数据"); System.Diagnostics.Process.Start(path);//打开安装目录 } finally { myConn.Close(); } } //权限管理 private static void SetFullControl(string path) { FileInfo info = new FileInfo(path); FileSecurity fs = info.GetAccessControl(); fs.AddAccessRule(new FileSystemAccessRule("Everyone", FileSystemRights.FullControl, AccessControlType.Allow)); info.SetAccessControl(fs); } //重载的Install函数 public override void Install(System.Collections.IDictionary stateSaver) { string server = this.Context.Parameters["server"];//服务器名称 string uid = this.Context.Parameters["user"];//SQlServer用户名 string pwd = this.Context.Parameters["pwd"];//密码 string path = this.Context.Parameters["targetdir"];//安装目录 string ch = path.Substring(path.Length - 1, 1); if (ch == @"\") //对路径进行处理,判断末尾是否有'\' path = path.Substring(0, path.Length - 1);//有则删掉 string strSql = "server=" + server + ";uid=" + uid + ";pwd=" + pwd + ";database=master";//连接数据库字符串 string DataName = @"StuBoardDB";//数据库名 string strMdf = path + @"XSJSGLXT.mdf";//MDF文件路径,这里需注意文件名要与刚添加的数据库文件名一样! SetFullControl(strMdf); //设置权限为EveryOne string strLdf = path + @"XSJSGLXT_log.ldf";//LDF文件路径 SetFullControl(strLdf); //设置权限为EveryOne base.Install(stateSaver); this.CreateDataBase(strSql, DataName, strMdf, strLdf, path);//开始创建数据库 } } } 可能你看到代码比较多,其实这些你都可以重用,你只需要改其中的一点点就行了。如下图(黑框里面的东西):你懂得。

\

第十五步:

好了,最后,生成安装包。

\ \

参考文献:宽田的博客园.c# winform 打包(带数据库安装)[CP/OL].http://www.cnblogs.com/scottckt/archive/2011/05/14/2046313.html,2011-05-14/2014-07-08

邢海芳的CSDN博客.VS2010 C/S模式winForm打包部署.详细![CP/OL].http://blog.csdn.net/xhf55555/article/details/7702212,2012-06-29/2014-07-08