CSharp打包安装
【CSharp】C#程序使用.NETReactor进行混淆加壳

【CSharp】C#程序使⽤.NETReactor进⾏混淆加壳叙述: 这年头开发客户端是⽐较⿇烦的,尤其是⽤C#这种IL语⾔。
不光要考虑客户端安装环境问题还要时时刻刻提防别⼈反编译你代码看。
查询了很多⽅法,找到了⼀款简单的代码混淆以及加壳的软件。
当然了,这些的混淆与加密只是应付⼀些⼩⽑贼。
但纸⽼虎能下⾛⼤批⼈。
0x01: 下载的软件是.NET Reactor,如果未注册的话⽣成后的⽂件会有.NET Reactor的提⽰信息的,建议购买正版。
安装运⾏后的主界⾯张这个样⼦。
0x02: Files -> Main Assembly -> Open选择需要加密混淆的*.exe或*.dll⽂件0x03: 在Files -> Quick Settings 中勾选策略,⼀般常⽤的有NecroBit、Anti ILDASM、Obfuscation、Anti Tampering、String Encryption NercoBit:程序转换成⾮托管代码(加壳) Native EXE FFile:⽣成本机⽂件 Anti ILDASM:防⽌反编译 Obfuscation:混淆代码 Create Mapping File:创建混淆过字段对应的未混淆字段的映射⽂件 Anti Tampering:防篡改 String Encryption:加密字符串 Compress & Encrypt Resources:压缩和加密资源⽂件 Control FlowObfuscation:混淆等级0x04: 设置完成后点击右侧Tasks中的Protect即可进⾏编译⽣成⽂件,⽂件会⽣成在你选择⽂件的同级的filename_Secure的⽂件夹中(fielname为你选择⽂件的⽂件名)。
C#Windows服务程序打包

C#Windows服务程序打包新建项目名为“WindowSVC”的Windows Service服务程序,操作如下图1-1所示图1-1打开文件“Service1.cs”,如下图2-1图2-1在打开“Service1.cs”窗口中单击鼠标右键,点击“Add Installer”,如下图3-1所示图3-1点击完“Add Installer”后,会自动打开另外一个窗口,如下图所示4-1所示图4-1分别设置“”和“”的属性,如下图5-1和5-2所示图5-1图5-2(1设置该服务名,2设置该服务启动类型)为该服务编写相应的代码,如下图6-1所示图6-1此时服务程序基本完成,现在给该服务打包,新建打包项目名为“WindowSVCSetup”,操作如下图7-1所示图7-1 设置程序文件系统,如下图8-1和8-2所示图8-1图8-2图8-3自定义服务安装、卸载,添加执行命令,如下图所示图9-1图9-2图9-3图9-4设置安装时,执行注册服务命令C:\Windows\\Framework\v4.0.30319\InstallUtil.exe WindowSVC.ext图10-1同理设置卸载时,执行卸载服务命令C:\Windows\\Framework\v4.0.30319\InstallUtil.exe /u WindowSVC.exe图11-1此时,服务打包基本完成,然后编译,安装,如下图所示图12-1图12-2图12-3安装完成后,打开服务管理,可以看到刚才我们添加的服务已经成功动了感谢一直陪伴我的她2013-04-29。
使用Visual Studio 2010 打包安装程序

打包程序:1,解决方案—右键菜单“添加”—新建项目—其他项目类型—安装和部署—Visual S tudio Installer—安装项目,输入名称Setup1,点“确定”2,添加开始程序中的文件夹:右击左侧“应用程序文件夹”—添加—文件夹,自己设置名称。
这里的作用就是好管理,这里我就叫它“测试打包系统”;然后再右击左侧“用户的程序菜单”—添加—文件夹,自己设置名称,这里我就叫它“测试打包系统”。
3,添加主输出:右击左侧“应用程序文件夹”—测试打包系统(即刚刚创建的文件夹),添加—项目输出-主输出-确定。
下一步:添加主输出4,添加开始程序中和桌面的主程序快捷方式:单击左侧“应用程序文件夹”—测试打包系统(即刚刚创建的文件夹),右键菜单“创建主输出来自***的快捷方式”,命名为“测试打包系统”。
然后将其分别拖到左侧“用户的程序菜单”—测试打包系统(即刚刚创建的文件夹)和左侧“用户桌面”(或单击左侧刚新建的文件夹--右侧右键—创建新的快捷方式--选择“应用程序文件夹”---主输出--“确定” ;单击左侧用户桌面--右侧右键—创建新的快捷方式---选择“应用程序文件夹”---主输出---确定)5,设置程序图标:先把图标文件放到你的程序目录下---单击左侧“应用程序文件夹”---Images(自己创建的文件夹),---空白处右键—添加—文件---图标文件。
然后左侧“用户的程序菜单下”的文件夹---单击刚才新建的程序快捷方式---属性窗口---Icon—浏览—图标文件---确定。
同理添加“用户桌面”里快捷方式的图标。
添加"快捷方式的属性"浏览找到图标文件---确定。
6,添加卸载功能:右击左侧“应用程序文件夹”—测试打包系统(即刚刚创建的文件夹),添加—文件,在c:\windows\system32文件夹下找到msiexec.exe文件。
然后像添加主程序快捷方式一样在开始程序中添加这个卸载的快捷方式,名字可以自己设置,这里我就叫它“卸载系统”。
C#为winform程序打包发布应用

1:新建安装部署项目打开VS,点击新建项目,选择:其他项目类型->安装与部署->安装向导(安装项目也一样),然后点击确定.(详细见下图)此主题相关图片如下:此主题相关图片如下:2:安装向导关闭后打开安装向导,点击下一步,或者直接点击完成.3:开始制作 安装向导完成后即可进入项目文件夹:双击"应用程序文件夹"在右边的空白处右击,选择添加->文件,将你的做的应用程序的可执行文件和相应的类库和组件添加进来.然后右击你的可执行文件,创建快捷方式,然后把快捷方式分别剪切或复制到左边的"用户的?程序?菜单"和"用户桌面"中.这样安装程序安装完成后会在这样安装程序安装完成后会在"开始->所有程序"和"桌面"上生成程序的快捷方式.然后右击左边的"应用程序文件夹"打开属性对话框:将属性中的"defaultlocation"的路径中的"[manufacturer]"去掉,不然的话做好的安装程序默认安装目录会是"c:\programm file\你的用户名\安装解决方案名称";然后打开解决方案管理器,右击你的解决方案名称,选择属性:在打开的属性页中,选择"系统必备",在打开的系统必备页中,选中如下中的选择项,这个很重要选上以后,在生成的安装文件包中包含.netframework组件.(这个选项默认是没有选中的)好了,这样就完成99%了,然后点击"生成->生成解决方案",哈,生成成功!4:制作完成现在打开解决方案文件夹下的debug文件夹,就可以看到生成的安装文件了.【续】关于"卸载"功能的添加,上面的文章只介绍了简单的生成安装的方法,但是在2005下并没有直接生成卸载程序的功能,所以我们只好用msi来实现了,原理我就不讲了,网上一搜一堆,我只讲操作.【1】:在添加你的应用程序项目的时候,多添加一个msiexec.exe进去,这个文件在c:\windows\system32文件夹下.添加进去以后,为了让他更像个卸载程序,把他的名字改成"Uninstall.exe",当然这个关系不大,改不改都行的.然后给他创建一个快捷方式,放到桌面或者"开始-程序"中,我选择放在了开始菜单中,然后下面我们要的做的就是查找这个部署项目的ProductCode了,鼠标左键单击项目名称,记住是左键单击,然后点击属性标签,注意:不是右击的属性,这个区别很大,这时你就可以看到ProductCode了,然后打开你创建的那个快捷方式的属性对话框,在Aguements属性中输入"/x {ProductCode}",好了,然后点击"生成解决方案"即可生成带有卸载功能的安装程序了.。
C#打包步骤详解

c#程序打包过程步骤如下:1. 创建一个安装向导项目或安装部署项目打开VS -〉新建项目-〉其他项目类型-〉安装与部署-〉安装向导(或安装部署)-〉确定2. 将要打包的项目导入到这个安装项目中右击左侧的应用程序文件夹(这个文件夹就是要打包的项目中需要的文件)-〉添加-〉文件或文件夹,主要是exe文件和其他配置文件或数据文件。
3. 建立目标机器上的开始-〉程序菜单和桌面的快捷方式右击应用程序文件夹中的可执行文件-〉创建快捷方式,创建完后,可以重命名为合适的中文名,将该快捷方式剪贴到用户的“程序”菜单中,一般可以先在“程序”菜单中创建一个文件夹。
同样的,再创建一个到用户桌面中。
4. 创建卸载程序,使用msi实现在左侧的应用程序文件夹中添加c:\windows\system32\msiexec.exe文件,为了明确其意义,可改为Uninstall.exe。
然后按照上面提到的步骤创建该卸载文件的快捷方式,将此快捷方式的名字修改为“卸载**”,**为软件名称。
同样剪贴到用户的“程序”菜单中,将该文件与可执行文件的快捷方式放在同一个文件夹下。
的项目名称,即可查看ProductCode属性。
5. 设置安装项目的属性1) 设置安装文件安装时的路径该路径是由安装项目的属性manufacture,productname来决定的,为"C:\ProgramFiles\[manufacture]\[productname],可以修改这两个属性值,或者干脆去掉manufacture属性,操作如下:右击左边的"应用程序文件夹"打开属性窗口对话框,将属性中的"DefaultLocation"的路径中的"[manufacturer]"去掉。
2) 在解决方案管理器中右击安装项目的名称-〉属性,在打开的属性页中,选择"系统必备",勾中.Net Framework2.0。
C#WINFORM打包数据库

C#WINFORM打包数据库实现效果:安装项⽬时直接附加数据库。
1.⾸先在需要部署的项⽬的解决⽅案资源管理器中新建⼀个安装项⽬2.在安装项⽬的⽂件视图中,右键【应⽤程序⽂件夹】->【添加】->【项⽬输出】选择你的项⽬中的启动项⽬,下⾯的列表中,默认就是主输出,确定。
3.此时在⽂件系统的中间栏⽬,会⾃动列出编译所需的⽂件。
⼀个简单项⽬打包差不多,还有快捷⽅式什么的,就不说了。
开始重点了。
创建安装程序类4.在解决⽅案资源管理器中,新建⼀个类库项⽬【InstallDB】,删除Class1.cs,新建⼀个安装程序类[InstallDB.cs],等下将在这个类中编写附加数据库代码。
创建⾃定义安装对话框5.在刚新建的安装项⽬上右键,【视图】->【⽤户界⾯】:在⽤户界⾯中,右键【启动】-【添加对话框】-选择【⽂本框(A)】-确定。
6.然后右键这个⽂本框(A),将其上移到欢迎使⽤下⾯:右键选择【属性】,参考下图的信息填写:7.在刚新建的安装项⽬上右键,【视图】->【⾃定义操作】:8.右键【⾃定义操作界⾯】的【安装】节点,【添加⾃定义操作】,弹出的对话框。
9.在查找范围⾥选择应⽤程序⽂件夹,再点击右侧的【添加输出(O)…】,选择刚新建的安装程序类项⽬,默认还是主输出,确定。
此时:10.右键这个【主输出来⾃InstallDB(活动)】,进⼊属性界⾯,在【CustomActionData】属性⾥输⼊下⾯的内容:/dbname=[DBNAME] /server=[SERVER] /user=[USER] /pwd=[PWD] /targetdir="[TARGETDIR]\"说明:其中前四个⽅括号中的⼤写字母,为上⾯第6步图中输⼊的四个EditProPerty属性,需要对应好。
最后⼀个targetdir的值的意思是安装后⽂件的⽬录路径。
特别提醒:前三个"/XXX=[XXX]"后⾯,都有⼀个空格的,⼩xin曾因此烦恼甚久,⽹上的某些教程实在是。
手把手教你用C#打包应用程序
[原创]手把手教你用C#打包应用程序(安装程序)【卸载模块已添加】声明:软件平台:VisualStudio2005中文版(在03下操作雷同).1:新建安装部署项目打开VS,点击新建项目,选择:其他项目类型->安装与部署->安装向导(安装项目也一样),然后点击确定.(详细见下图)obmtoEDX.jpg(51.66 KB)2:安装向导关闭后打开安装向导,点击下一步,或者直接点击完成.如下图:ISlvYMQt.jpg(31.82 KB)lVfPHExp.jpg(31.54 KB)3:开始制作安装向导完成后即可进入项目文件夹:AYwiDjaM.jpg(37.29 KB)双击"应用程序文件夹"在右边的空白处右击,选择添加->文件,将你的做的应用程序的可执行文件和相应的类库和组件添加进来.NJUQVOYA.jpg(39.59 KB)3sdqqmo0.jpg(37.24 KB)然后右击你的可执行文件,创建快捷方式,然后把快捷方式分别剪切或复制到左边的"用户的'程序'菜单"和"用户桌面"中.这样安装程序安装安装完成后会在"开始->所有程序"和"桌面"上生成程序的快捷方式.LgMC0RZb.jpg(41.5 KB)然后右击左边的"应用程序文件夹"打开属性对话框:eNB4JdY7.jpg(38.25 KB)将属性中的"defaultlocation"的路径中的"[manufacturer]"去掉,不然的话做好的安装程序默认安装目录会是"c:\programm file\你的用户名\安装解决方案名称";修改后如图:n8F2tTg4.jpg(14.61 KB)然后打开解决方案管理器,右击你的解决方案名称,选择属性:jorZPC9Q.jpg(23.61 KB)在打开的属性页中,选择"系统必备",NJAIRQmd.jpg(35.49 KB)在打开的系统必备页中,选中如下中的选择项,这个很重要!!!!!1!!!!!选上以后,在生成的安装文件包中包含.netframework组件.(这个选项默认是没有选中的)qaty89T2.jpg(44.88 KB)好了,这样就完成99%了,然后点击"生成->生成解决方案",哈,生成成功!4:制作完成现在打开解决方案文件夹下的debug文件夹,就可以看到生成的安装文件了.1y07Iq3G.jpg(11.59 KB)【续】关于"卸载"功能的添加上面的文章只介绍了简单的生成安装的方法,但是在2005下并没有直接生成卸载程序的功能,所以我们只好用msi来实现了,原理我就不讲了,网上一搜一堆,我只讲操作,【1】:在添加你的应用程序项目的时候,多添加一个msiexec.exe进去, 这个文件在c:\windows\system32文件夹下,OQd7K5O2.jpg(56.82 KB)添加进去以后,为了让他更像个卸载程序,把他的名字改成"Uninstall.exe",u6vVrQch.jpg(19.83 KB)当然这个关系不大,改不改都行的.然后给他创建一个快捷方式,放到桌面或者"开始-程序"中,我选择放在了开始菜单中,然后下面我们要的做的就是查找这个部署项目的ProductCode了, 鼠标左键单击项目名称,记住是左键单击,然后点击属性标签,注意:不是右击的属性,这个区别很大,这时你就可以看到ProductCode了,GDqo2mfr.jpg(54.91 KB)然后打开你创建的那个快捷方式的属性对话框,在Aguements属性中输入"/x {ProductCode}",xt5AqnR2.jpg(40.94 KB)好了,然后点击"生成解决方案"即可生成带有卸载功能的安装程序了.制作到此结束,如有疑问,可以跟帖提出.如果我知道的话,就一定帮助大家解决问题.其实安装部署的制作也是博大精深的,在这里我也只是简单的教给大家制作一个简单的安装程序的方法. 如果对这方面感兴趣的朋友,不妨多多的研究一下.共享你的新发现.也希望喜欢的朋友多多的支持一下。
转载--手把手教你用C#打包应用程序-Asp.net资源收集习-博客园
转载--手把手教你用C#打包应用程序资源收集习-博客园第一步:新建安装部署项目打开VS,点击新建项目,选择:其他项目类型->安装与部署->安装向导(安装项目也一样),然后点击确定.(详细见下图)第二步:安装向导关闭后打开安装向导,点击下一步,或者直接点击完成.如下图:第三步:开始制作安装向导完成后即可进入项目文件夹:双击"应用程序文件夹"在右边的空白处右击,选择添加->文件,将你的做的应用程序的可执行文件和相应的类库和组件添加进来.PS:在这里,有很多朋友问我,什么是应用程序的可执行文件和相应的类库和组件,在这里我解释一下,应用程序的可执行文件即是你建立的winform应用程序项目最终生成的EXE可执行文件,而相应的类库则是执行这个EXE文件所有需要的非操作系统dll文件,在这里只要将EXE 文件选中添加,VS会自动将其用到的DLL文件添加.(这里你可以将应用程序项目中生成方式选择Release,然后生成,将bin/Release文件夹下的文件按结构添加进来即可)然后右击你的可执行文件,创建快捷方式,然后把快捷方式分别剪切或复制到左边的"用户的'程序'菜单"和"用户桌面"中.这样安装程序安装安装完成后会在"开始->所有程序"和"桌面"上生成程序的快捷方式.然后右击左边的"应用程序文件夹"打开属性对话框:将属性中的"defaultlocation"的路径中的"[manufacturer]"去掉,不然的话做好的安装程序默认安装目录会是"c:\programm file\你的用户名\安装解决方案名称";修改后如图:然后打开解决方案管理器,右击你的解决方案名称,选择属性:在打开的属性页中,选择"系统必备",在打开的系统必备页中,选中如下中的选择项,这个很重要1选上以后,在生成的安装文件包中包含.netframework组件.(这个选项默认是没有选中的)在这里解释一下3个选项,第一个选项“从组件供应商的网站上下载系统必备组件”,选中此选项,当安装时检测到系统没有安装.netframework组件时,系统提示到微软官方下载组件,并给出下载地址;第二个选项“从与我的应用程序相同的位置下载系统必备组件”,选中此选项,安装程序生成时会在同目录下生成.netframework组件,当安装程序检测到系统没有安装组件时会提示进行安装,当然此选项生成的安装程序会比较大一些;第三个选项,看名字应该也可以猜测到他的意图,可以自行自定.netframework组件的安装位置。
VS2019打包WPF安装程序最新教程(图文详解)
VS2019打包WPF安装程序最新教程(图⽂详解)VS2019打包WPF安装程序最新教程,使⽤Visual Studio 2019开发的WPF程序如果想要打包为安装程序,除了在VS2019找到WPF项⽬类库直接右键发布之外,更常⽤的还是将其打包为exe或者msi的安装程序;打包成安装程序的话,客户得到安装程序直接安装即可使⽤,即使在离线环境情况下,安装好就可以使⽤了。
⼀些传统⾏业发布程序时,⽐较常⽤这种⽅法,如医疗,教育等。
演⽰程序打包⼀览在本教程中,我完整的打包了⼀个简单的WPF程序,最终安装好了以后,在桌⾯有⼀个我的程序的快捷⽅式图标,点击这个图标即可打开应⽤程序。
WPF安装程序桌⾯图标程序运⾏后的效果如下所⽰:VS2019打包WPF安装程序运⾏效果VS2019打包WPF安装程序步骤使⽤VS2019打包WPF安装程序有很多种⽅法,本篇教程基于VS扩展插件Microsoft Visual Studio Installer Projects⼯具来打包,实际上此⼯具,在VS2010时⾃带有,只是后⾯版本的Visual Studio取消了此插件,现在需要单独安装。
安装打包Installer插件安装Microsoft Visual Studio Installer Projects插件有两种⽅式。
⼀是下载插件单独安装,⼆是在VS⾥⾯在线安装。
Microsoft Visual Studio Installer Projects下载地址:官⽅下载地址:下载下来后,你会在你的保存⽬录看到此⽂件的图标是这样的,直接双击安装就可以了,如果打开了Visual Studio,先将VS 关闭后再安装即可。
安装插件如果你不能从官⽹下载到,可以从本站直接下载即可。
离线下载安装的⽅式适⽤于断⽹环境开发。
VS在线安装Microsoft Visual Studio Installer ProjectsMicrosoft Visual Studio Installer Projects插件也可以在线直接安装,步骤为:点击菜单栏【扩展(X)】,然后在弹出来的⼀个窗体⾥⾯,在右侧搜索框⾥⾯搜索“Microsoft Visual Studio Installer Projects”,⼀般第1个就是它了,然后点击Download(下载),然后安装就可以了。
VS2010 (C#)winform程序打包发布图解==
1、新建一个Windows窗体应用程序,例如项目名为monitor,功能略。
新建的时候不要忘了创建解决方案。
2、在monitor解决方案上“右击”——“添加”——“新建项目”,选择“其他类型项目”——“安装和部署”——“安装项目”,并命名为“Setupmonitor”,确定后显示如下图所示3、添加必须文件: 在'应用程序文件夹'上右键,添加应用程序必须的配置文件(如果有的话),以及图标(桌面显示的图标,卸载程序的图标...).还需要添加一个系统的exe文件msiexec.exe(一般在c:\WINNT\System32目录下),用于卸载程序.(1)在左边的“应用程序文件夹”上右击“添加”——“项目输出”,选择monitor项目(2)在左边的“应用程序文件夹”上右击“添加”——“文件”,选择“c:"windows"system32"msiexec.exe”文件。
(3)在左边的“应用程序文件夹”上右击“添加”——“文件”,然后选择几个*.ico的图标文件完后显示如下4、创建快捷方式(1)”的快捷方式“,命名为startmonitor,并在其的属性栏中为其“Icon”选择刚才导入的图标。
并将其拖动到“用户的”程序”菜单”文件下。
(2)桌面快捷方式:步骤同1。
将其拖动到“用户桌面”下(3)卸载快捷方式:在msiexec.exe上右击“创建msiexec.exe 的快捷方式”,并命名为“卸载monitor”。
将其拖动到“用户的”程序”菜单”文件下,当然也可放在桌面。
查看SetupMonitor部署项目属性,属性值中有“{4EA38E9B-C4BF-4897-B095-E30160A27245}”类似字样,选中它“复制”。
再次点击你的卸载快捷方式名称,“卸载monitor”,再到右下角属性栏中,有一个叫Arguments的属性栏,在属性栏中首先填入“/x”后加一个空格,再“粘贴”,将ProductCode的属性值COPY至此。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C#安装打包详解(基于VS2010自带的安装打包功能)第一部分:安装打包的基本知识:VS的打包功能比较有限,不过有一个思路可以实现,但是过程不是简单几句就可以说清楚的,关键是要明白msi打包的原理,我简单说一下思路:一、理论首先第一个界面,安装模式,你选择的是应该是一个ratioButton(两个按钮)的界面,这时你需要设置两个Button的lable和value,还有ButtonProperty,关键是ButtonProperty,必须全大写,这个属性值就是界面跳转的控制变量;然后是第二个界面,数据库参数,这时候是TextBox界面,同样设置lable 和value和Property最后剩下的就是编写CustomAction了,CustomAction中可以获取以上两步设置的Property的值,这样就可以在CustomAction中做安装数据库的处理了至于页面跳转,涉及到按钮事件的操作,VS中只有顺序事件,这时侯需要使用Orca来修改生成的Msi文件,在msi数据库中找到ControlEvent表,修改按钮的事件,达到页面跳转的目的要完成以上操作,需要对msi sdk和msi 数据库有相当的了解,我虽然用的wix,但是跟vs自带的一样都是针对msi installer sdk,原理都一样,区别是VS封装太过简单,感觉很多功能不好扩展,由于对VS打包没做过多的研究,也不知道VS下是否能有更好的方法。
二、实施一).创建部署项目1. 在“文件”菜单上指向“添加项目”,然后选择“新建项目”。
2. 在“添加新项目”对话框中,选择“项目类型”窗格中的“安装和部署项目”,然后选择“模板”窗格中的“安装项目”。
在“名称”框中键入 setup1。
3. 单击“确定”关闭对话框。
4. 项目被添加到解决方案资源管理器中,并且文件系统编辑器打开。
5. 在“属性”窗口中,选择 ProductName 属性,并键入信息管理系统。
二).将主程序项目的输出添加到部署项目中1. 在“文件系统编辑器”中,选择“应用程序文件夹”。
在“操作”菜单上,指向“添加”,然后选择“项目输出”。
2. 在“添加项目输出组”对话框中,选择“项目”下拉列表中的“你的程序”。
3. 单击“确定”关闭对话框。
4. 从列表中选择“主输出”和“内容文件”组,然后单击“确定”。
三).创建安装程序类1. 在“文件”菜单上指向“新建”,然后选择“项目”。
2. 在“新建项目”对话框中,选择“项目类型”窗格中的“C# 项目”,然后选择“模板”窗格中的“类库”。
在“名称”框中键入 installDB。
3. 单击“打开”关闭对话框。
4. 从“项目”菜单中选择“添加新项”。
5. 在“添加新项”对话框中选择“安装程序类”。
在“名称”框中键入installDB。
6. 单击“确定”关闭对话框。
7. 详细代码附后。
四).创建自定义安装对话框1. 在解决方案资源管理器中选择“setup1”项目。
在“视图”菜单上指向“编辑器”,然后选择“用户界面”。
2. 在用户界面编辑器中,选择“安装”下的“启动”节点。
在“操作”菜单上,选择“添加对话框”。
3. 在“添加对话框”对话框中,选择“许可协议”对话框,然后单击“确定”关闭对话框。
4. 在“添加对话框”对话框中,选择“文本框(A)”对话框,然后单击“确定”关闭对话框。
5. 在“操作”菜单上,选择“上移”。
重复此步骤,直到“文本框(A)”对话框位于“安装文件夹”节点之上。
6. 在“属性”窗口中,选择 BannerText 属性并键入:安装数据库.7. 选择 BodyText 属性并键入:安装程序将在目标机器上安装数据库8. 选择 Edit1Label 属性并键入:服务器名:9. 选择 Edit1Property 属性并键入 server10. 选择 Edit1Value 属性并键入:(local)11. 选择 Edit2Label 属性并键入:服务器名:12. 选择 Edit2Property 属性并键入 UID13. 选择 Edit2Value 属性并键入:sa14. 选择 Edit3Label 属性并键入:密码:15. 选择 Edit3Value 属性并键入:16. 选择 Edit3Property 属性并键入 PWD17. 选择 Edit4Value 属性并键入:数据库名字:18. 选择 Edit4Property 属性并键入 DBNAME;19. 选择 Edit2Visible、Edit3Visible Edit4Visible属性,并将它们设置为true。
五).创建自定义操作1. 在解决方案资源管理器中选择“setup1”项目。
在“视图”菜单上指向“编辑器”,然后选择“自定义操作”。
2. 在自定义操作编辑器中选择“安装”节点。
在“操作”菜单上,选择“添加自定义操作”。
3. 在“选择项目中的项”对话框中,双击“应用程序文件夹”。
4. 选择“主输出来自 installDB(活动)”项,然后单击“确定”关闭对话框。
5. 在“属性”窗口中,选择 CustomActionData 属性并键入“/server=[server] /uid=[UID] /pwd=[PWD] /targetdir="[TARGETDIR]\"”。
附:/targetdir="[TARGETDIR]\"是安装后的目标路径,为了在installDB类中获得安装后的路径,我们设置此参数。
六).添加文件1. 将SQL Server备份成文件DB.dat添加到“setup1”项目(在企业管理器中右击数据库->所有工作->备份数据库,备份成一个文件,取名为DB.dat)2. 将安装文件LisenceFile.rtf添加到“setup1”项目3. 在用户界面编辑器中,选择许可协议,设置LisenceFile属性为LisenceFile.rtf文件4.一般会自动将依赖项添加到“检测到的依赖项”,如果没有,那么我们要手动将其加入步骤5)Crystal_Managed2003.msm (如果有水晶报表)dotnetfxredist_x86.msm (.net一定是必须的)... (如果有引用其他的dll)5.如果使用了水晶报表,手动加入要包含的文件:项目-->添加-->合并模块(添加你的程序文件) (包括dotNetFramework和MDAC27),位于:C:\Program Files\Common Files\Merge Modules\ 下,*为必要的具体功能如下:(托管组件 MSM 处理所有托管组件的分发,其中包括 Windows 窗体查看器、Web 窗体查看器和所有 Crystal Decisions 命名空间)* Crystal_Managed2003.msmCrystal_Managed2003_chs.msm(对于使报表运行所需的所有其他文件,由数据库访问 MSM 处理其分发。
其中包括数据库、导出和图表驱动程序。
)* Crystal_Database_access2003.msmCrystal_Database_access2003_chs.msm(KeyCode MSM 处理 Crystal Decisions 密钥号码的安装,注意是添加合并模块,否则没有“MergeMouduleProperties”属性)* Crystal_regwiz2003.msm(如果报表文件使用了 的dataset 数据集对象,那么VC_User_CRT71_RTL_X86_---.msm 和 VC_User_STL71_RTL_X86_---.msm 模块也必须包含在安装工程中。
而且这两个模块的文件安装属性的"Module Retargetable Folder"项必须修改成为系统目录)VC_User_CRT71_RTL_X86_---.msmVC_User_STL71_RTL_X86_---.msm(很多人经常出现查询错误,不妨加上这个)5.打开解决方案-->右键点击Crystal_regwiz2003.msm的属性,在“MergeMouduleProperties”里的“License Key”填入:AAP5GKS0000GDE100DS (这个是你生成Crystal Report是用到的注册号的密码!)七).打包時加入卸载功能:方法一:1.在打包項目中添加文件msiexec.exe(一般可在c:\windows\system32\下找到);2.在文件系统视图中选择应用程序文件夾,在msiexec.exe上按右键,选择创建快捷方式,重命名快捷方式为"卸载";3.更改此快捷方式的Arguments 为"/x {产品id}",产品id的值为打包项目的ProductCode属性值;方法二:(推荐)1.先生成安装包,记下ProductCode(选择解决方案资源管理器根目录如setup1,再查看属性标签,不是右键中的属性),下面要用到用建立一个新的控制台程序uninst.exe文件using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace UninStall{class Program{static void Main(string[] args){string sysroot = System.Environment.SystemDirectory;System.Diagnostics.Process.Start(sysroot + “\\msiexec.exe “, “/x {522B529D-8A62-432D-962F-D0CFF826775E} /qr”);}}}注意上面代码里的红字部分,这个就是你要打包的程序的安装与部署项目的ProductCode,那么这个ProductCode在哪里找呢?请记住,这里是两个系统,一个是你要打包的系统,另一个是控制台程序,所以啊,这点,要理解!去你要打包的项目里去找安装与部署项目看到了吧,就是它了!把它拷贝过来,放在控制台程序里生成一下,上面UNIT里所导入的文件就是现在生成的文件了!!3.将控制台程序BIN目录的exe文件加入到打包程序文件中,在程序组创建uninst.exe的快捷方式。
第二部分:示例一、带数据库(sql server)的安装打包:示例二、无数据库的普通安装打包:这是我在网上搜到的,加以自己的理解和对一些不明白的地方做了一些更新说明。