当前位置:文档之家› C#windows应用程序打包(VS2010+SQLServer2008) - SQL Server(mssql)数据库栏目 - 红黑联盟

C#windows应用程序打包(VS2010+SQLServer2008) - SQL Server(mssql)数据库栏目 - 红黑联盟

C#windows应用程序打包(VS2010+SQLServer2008)2014-07-09 0 个评论 来源:飘渺菌 收藏 我要投稿作者 : 飘渺菌原文地址:/qingdujun/article/details/37563661开发环境:VS2010+SQL Server 2008操作系统:win7_32bit 旗舰版开发语言:C#项目名称:学生寄宿管理系统下面开始介绍:如何给windows应用程序打包?第一步:打开VS2010,打开你要打包的项目,然后右击"解决方案",”添加“,"新建项目",弹出如下图所示界面:点击”安装和部署“左边的三角形,选择下面的”Visual studio Installer“,再选择”安装项目“,同时将下面的命名改为”Setup“点击确定。

第二步:点击解决方案里面生成的”Setup“,将属性中的ProtectName改为”学生寄宿系统 V1.0 “(你的项目名字)第三步:右击解决方案里面的”Setup“,然后再选择”属性“。

弹出属性页界面如下第二张图:再点击里面的系统必备。

重要一点:勾选"从与我的应用程序相同的位置下载系统必备组件(D)",其实意思就是说你勾选后,生成安装项目时,在你安装项目的路径下,会有你在系统必备组件列表中勾选的组件.(系统自动完成,这一点还不错,不需要你自己去下载组件)1)、Windows Installer 3.1(必选)2)、.NET Framework 3.5 (可选)参考最后说明3)、Crystal Report Basic for Visual Studio2008(x86,x64) (可选) 项目中用到了水晶报表就需要勾选此项第四步:右击”应用程序文件夹“,点击”添加“,再点击文件夹,命名为”DB“(可随意)用于存放你的数据库文件。

然后再右击刚才添加好的"DB"文件夹,”添加“,”文件“,将你的数据库添加进来。

第五步:右击”应用程序文件夹“,点击”添加“,点击”文件“。

将你的Release目录下面的文件全部添加进来。

第六步:右击”应用程序文件夹“,点击”添加“,选择”项目输出...“,注意:在项目栏要选择你自己的项目(我的项目名:StudentJisu),然后选择”主输出“,点击确定。

第七步:创建桌面快捷方式,右击刚才添加的”主输出“,然后选择第一个”创建快捷方式“,然后你可以将快捷方式重新命名(我重新命名为:学生寄宿管理系统)最后,鼠标左键点住快捷方式,然后拖放到”用户桌面“文件夹下面。

第八步:创建卸载程序。

右击”应用程序文件夹“,点击”添加“,选择”文件“,然后将"C:\Windows\System32" 下面的”msiexec.exe“文件给添加进来,如果找不到,你可以直接搜。

当然,你也可以再给msiexec.exe创建一个快捷方式命名为”UnInstall“。

命名了快捷方式之后,将Setup属性(点击解决方案里面的setup弹出属性)ProductCode拷贝到Uninstall属性的Arguments里面:同时在前头加上 ”/X “,注意:x后面有一个空格。

第九步:改变桌面快捷方式的Logo。

自带的logo实在是太挫了,你可以去网上下载一个图片,然后转换为.ico格式。

下图中”应用程序文件夹“是指logo存放的位置,一般存在在该处就行了。

第十步:附加数据库。

我们现在添加一个类,用于编写附加数据库代码。

右击”解决方案“,点击”添加“,选择”新建项目“,然后新建一个C#类库,并命名为”InstallDB“。

最后,将”class1.cs“删掉。

新建一个类,用于写数据库附加到 数据库管理系统中的 代码。

右击刚新建的那个”InstallDB“,点击”添加“,选择”新建项“。

然后在弹出的界面中,选择”安装程序类“,并命名为”InstallDB.cs“。

第十二步:由于附加数据库需要用户输入本机数据库的一些信息,比如:服务器名称,数据库管理员名称和密码等等。

这时候,我们可以在安装过程中弹出一个等待用户输入的框:右击”Setup“,点击”视图“,选择”用户界面“。

弹出如下第二个界面,再右击”启动“,点击“添加对话框”,选择”文本框(A)“,同时将其拖放到”欢迎使用“下面,如下第三张图。

最后,根据自己的需要填写”文本框(A)“的属性,可以参考第三张图。

注:里面定义的变量,主要是为了下面的附加代码而定义的。

第十三步:添加 附加数据库的 主输出。

右击”setup“,选择”视图“,”自定义操作“。

然后,右击”安装“,选择”应用程序文件夹“,选择安装程序类”InstallDB“,还是选择”主输出“,确定。

接着,在CostomActionData里面复制粘贴如下:1/d b n a m e=[D B N A M E]/s e r v e r=[S E R V E R]/u s e r=[U S E R]/p w d=[P W D]/t a r g e t d i r="[T A R G E T D I R]?第十四步:在InstallDB.cs中编写附加数据库代码。

先点击”单机此处切换到代码视图“。

然后添加 几个 命名空间。

当然,要使用MessageBox()函数,需要添加using System.Windows.Forms;之外,同时需要添加System.Windows.Forms引用(具体操作:右击InstallDB,选择添加引用,选择.NET)当然,最后写好的代码,如下所示:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44u s i n g S y s t e m;u s i n g S y s t e m.C o l l e c t i o n s;u s i n g S y s t e m.C o l l e c t i o n s.G e n e r i c;u s i n g S y s t e m.C o m p o n e n t M o d e l;u s i n g S y s t e m.C o n f i g u r a t i o n.I n s t a l l;u s i n g S y s t e m.L i n q;u s i n g S y s t e m.D a t a.S q l C l i e n t;u s i n g S y s t e m.W i n d o w s.F o r m s;u s i n g S y s t e m.I O;u s i n g S y s t e m.S e c u r i t y.A c c e s s C o n t r o l;n a m e s p a c e I n s t a l l D B{[R u n I n s t a l l e r(t r u e)]p u b l i c p a r t i a l c l a s s I n s t a l l D B:S y s t e m.C o n f i g u r a t i o n.I n s t a l l.I n s t a l l e r{p u b l i c I n s t a l l D B(){I n i t i a l i z e C o m p o n e n t();}//创建数据库p r i v a t e v o i d C r e a t e D a t a B a s e(s t r i n g s t r S q l,s t r i n g D a t a N a m e,s t r i n g s t r M d{S q l C o n n e c t i o n m y C o n n=n e w S q l C o n n e c t i o n(s t r S q l);S t r i n g s t r=n u l l;t r y{s t r=@"E X E C s p_a t t a c h_d b@d b n a m e='"+D a t a N a m e+"',@f i l e n a m e1S q l C o m m a n d m y C o m m a n d=n e w S q l C o m m a n d(s t r,m y C o n n);m y C o n n.O p e n();m y C o m m a n d.E x e c u t e N o n Q u e r y();M e s s a g e B o x.S h o w("数据库安装成功!点击确定继续");//需U s i n g S y s t e m.W i n }c a t c h(E x c e p t i o n e){M e s s a g e B o x.S h o w("数据库安装失败!"+e.M e s s a g e+"\n\n"S y s t e m.D i a g n o s t i c s.P r o c e s s.S t a r t(p a t h);//打开安装目录}f i n a l l y{m y C o n n.C l o s e();}}//权限管理?第十五步:好了,最后,生成安装包。

45464748495051525354555657585960616263646566676869707172737475 p r i v a t e s t a t i c v o i d S e t F u l l C o n t r o l (s t r i n g p a t h ) { F i l e I n f o i n f o = n e w F i l e I n f o (p a t h ); F i l e S e c u r i t y f s = i n f o .G e t A c c e s s C o n t r o l (); f s .A d d A c c e s s R u l e (n e w F i l e S y s t e m A c c e s s R u l e ("E v e r y o n e ", F i l e S y s t e m R i g h i n f o .S e t A c c e s s C o n t r o l (f s ); } //重载的I n s t a l l 函数 p u b l i c o v e r r i d e v o i d I n s t a l l (S y s t e m .C o l l e c t i o n s .I D i c t i o n a r y s t a t e S a v e r ) { s t r i n g s e r v e r = t h i s .C o n t e x t .P a r a m e t e r s ["s e r v e r "];//服务器名称 s t r i n g u i d = t h i s .C o n t e x t .P a r a m e t e r s ["u s e r "];//S Q l S e r v e r 用户名 s t r i n g p w d = t h i s .C o n t e x t .P a r a m e t e r s ["p w d "];//密码 s t r i n g p a t h = t h i s .C o n t e x t .P a r a m e t e r s ["t a r g e t d i r "];//安装目录 s t r i n g c h = p a t h .S u b s t r i n g (p a t h .L e n g t h - 1, 1); i f (c h == @"\") //对路径进行处理,判断末尾是否有'\' p a t h = p a t h .S u b s t r i n g (0, p a t h .L e n g t h - 1);//有则删掉 s t r i n g s t r S q l = "s e r v e r =" + s e r v e r + ";u i d =" + u i d + ";p w d = s t r i n g D a t a N a m e = @"S t u B o a r d D B ";//数据库名 s t r i n g s t r M d f = p a t h + @"X S J S G L X T .m d f ";//M D F 文件路径,这里需注意文件名要 S e t F u l l C o n t r o l (s t r M d f ); //设置权限为E v e r y O n e s t r i n g s t r L d f = p a t h + @"X S J S G L X T _l o g .l d f ";//L D F 文件路径 S e t F u l l C o n t r o l (s t r L d f ); //设置权限为E v e r y O n e b a s e .I n s t a l l (s t a t e S a v e r ); t h i s .C r e a t e D a t a B a s e (s t r S q l , D a t a N a m e , s t r M d f , s t r L d f , p a t h );//开始创建 } }} 可能你看到代码比较多,其实这些你都可以重用,你只需要改其中的一点点就行了。

相关主题