1、创建一个安装项目
2、在解决方案上右键,选择添加->项目输出,选择需要打包的程序。
3、在视图->文件系统里有3个文件夹,应用程序文件夹,用户的“程序”菜单,用户桌面,
应用程序文件夹,项目输出里的需要打包的程序。点应用程序文件夹,右键属性,在属性里有如下属性
AlwaysCreate:是否将所选文件创建为每个安装的一部分,及时文件夹是空的。当有输出项目时True一样,但是当没有经过第一步,也就是只是一个空的打包程序时,如果选择为True,则安装完成后创建一个空的文件夹,而False则在安装目录里什么都没有。
DefaultLocation:默认值[ProgramFilesFolder][Manufacturer]\[ProductName] 。ProgramFilesFolder是指操作系统的安装目录,如C:/ProgramFiles .Manufacture是指公司的名称,ProductName是指产品的名称,这两个字段在安装项目的总属性那里可以找到设置,如果不想用[ProgramFilesFolder][Manufacturer]\[ProductName]作为安装路径可以随便修改如[ProgramFilesFolder]Test\[ProductName],这样默认路径里就将公司名称替换为Test,或者直接去掉这层节点。
Transitive:就是该程序重新安装时,是否需要重启计算机。
用户的“程序”菜单:此菜单创建程序在开始程序里的快捷方式,在用户的“程序”菜单右键,选择添加->文件夹,最好这么干,文件夹命名为产品名称,否则快捷方式直接放到根目录。点击新建文件夹,在右面的编辑框里右键选择“创建快捷方式”,在弹出框里选择,文件程序文件夹里的主输出,这样就可以创建快捷方式了。点快捷方式右键属性其中有一个属性ShowCMD,这个属性默认是vsdscNormal是指快捷方式所指向的程序初始值是什么,默认是正常,可以选择最大化或者最小化。
用户桌面:同用户的“程序”菜单。
4、点项目,然后再选择属性菜单出现属性菜单,
Author:作者
InstallAllUser:是否对所有用户,这个设置是在安装第二步里对自己还是所有人安装该产品的两个单选项设置的。
Manufacture:公司名
TargetPlatform支持的平台x86,x64或者两个都支持
ProductCode:一个Gudi类型的标示版本,这个值随着修改Version版本号而修改。
5、点项目,右键属性->系统必备。在里面列出了安装程序必须的条件,
从组件供应商的网站下载系统必备组件 ---- 从网上下载
从与我的应用程序相同的位置下载必备组件 ----打包时将必须的文件打包后放到安装目录,这样的打包后比较大
6、选择解决方案,右键,视图->启动条件,这里是安装该安装包时必须的.net环境要求,用2010打包,默认是.net 4.0
但是这个有时间是不需要的,这个要根据打包的实际情况来选择,必须我测试的打包程序想在.net2.0环境下运行,如5 ,从系统必备里看,会发现仍然会把.net 4.0和install 3.1作为默认条件,其实是可以去掉的。在启动条件里,右键.net Framework,选择属性,默认是4.0,如果需要是2.0就可以改为2.0.
我的测试条件是2010,建了一个winform的安装程序,将该安装程序打包,默认是4.0,将winform程序改为2.0,将必备条件都去掉,将启动条件改为2.0,在没有装2.0的机器上也可以很好的运行。
7.在安装程序的时候有时候不紧紧是将需要的文件放到安装目录,还需要一些固定的操作,如在安装目录下创建某些的文件夹,在注册表里写一些信息。这些操作安装包是不会知道怎么做的,需要编程来实现。这个又分为两种情况,1,固定的操作,如需要向注册表里写信息,这些信息是固定的,不需要用户界面交互,这个可以通过新建一个程序,如ConsoleApplication项目,在它的main函数里来实现这些操作。然后在安装程序的右键->属性->自定义操作里,有安装,提交,回滚,卸载4个选项,在“提交”选项里将该ConsoleApplication添加到里面,这样程序在进度条安装100%后将自动运行该程序,这样就可以通过该程序来执行一些固定的操作。同理,卸载,回滚同样可以。但是这样的操作必须 在“提交”选择该程序,右键->属性,在属性里将IntallClass设置为false.否则安装的时候会报错,提示该项目缺少文件。当ture的时候下面介绍
8.在大部分的情况下,是需要和安装界面进行交互的,比如需要需要数据库的链接信息,用户名密码等信息,这些信息需要安装的时候用户填写,这样后台就需要有参数捕获客户的输入,