网上有很多类似教程,什么方法都有,也没有说清楚到底是什么情况,我经过多次尝试,发现其实使用vs2010打包程序还是很简单的,其中的一些小技巧和细节,目前在互联网上还没有发现有一样的教程,或许那些作者都是高手,这些东西人家都知道,但就没有人稍微提一下。我相信新手朋友们看了我这个心得一定会有收获。
一、新建项目。
新建项目的方法有两种,你可以根据情况自己选择。一是在原有解决方案的下面新建,好处是和原项目在一起,便于管理;两是不管原有项目,直接新建,好处是灵活方便,只需你准备好要发布的文件(debug文件夹已生成的文件)就可以了。
本文以直接新建项目为例。
新建项目--其他项目类型--安装和部署--Visual Studio Installer--安装项目
二、拖入准备安装的文件
点击应用程序文件夹
将
将自己做准备打包的主文件(可执行文件 *.exe)拖入应用程序文件夹,vs2010会智能地将主文件所依赖的dll文件自动添加进来。
(我第一次按别人的教程做时,把debug文件夹下的所有文件全拖进来时,由于vs自动添加了一遍,我又拖了一遍,导致dll文件重复。)
这时,你要认真检查一遍,应用程序文件里的文件,看看还有没有要手工再添加的东西,如说明文档啊,数据模板啊什么的,有的话直接再拖进来就行了。
如果你的DeBug文件夹下有文件夹也要打包,不要傻呼呼看别的教程先新建文件夹,再添加文件夹里的文件了,看下图,也一样直接拖进来就行。
至此,文件添加完毕。
三、创建快捷方式
在主文件上点击右键--创建快捷方式
重命名
选中该文件后按f4,打开属性窗口,修改Icon
添加你准备好的Icon图标文件
修改Folder为 “用户桌面”,你也可以将这个文件直接从“应用程序文件夹”移动到“用户桌面”。
这样,桌面的快捷方式就做好了,在安装后,用户的桌面上就会有一个快捷方式了。
同理,我们还要做一个快捷方式放到“用户的程序菜单”,方法一样,不再赘述。
一般情况下,我还要在“用户的程序菜单”里做一个“卸载”,方法如下:
从system32文件里打到msiexec.exe文件,并拖到“应用程序文件夹”里。
要想卸载程序,必需知道我们程序的ProductCode,获取方法:
点击项目名称,在其他属性里把ProductCode的值复制一下。
在msiexec.exe上点击右键创建快捷方式,再重命名为“卸载 XXX”,按f4调出属性窗口,修改Arguments的值为
/x 后面是空格,再粘贴刚才复制的productCode。看图:
将卸载的快捷方式也移动到“用户的程序菜单”,现在该文件夹下就有了2个快捷方式了。
在“用户的程序菜单”文件夹下新建文件夹,并重命名为程序名称。
将两个快捷方式移动到上一步新建的文件夹内。
至此,快捷方式(包括卸载)全部做好了。
四、设置
在解决方案资源管理器里点击程序项目,在属性里修改为自己的内容。
在应用程序文件夹上右键,点击“属性窗口”,
修改Defaultlocation的值,将[Manufacturer]删除掉。
不删除的话也可以,只是程序安装的路径会放到公司文件夹下,比较烦人。
如果你的程序有需要进行com注册的dll,请将该dll的属性的Register的值改为vsdrfCOMSelfReg
这样,该dll文件就是进行自注册,我是只因调用了锐浪报表,它需要进行com自注册。
你没有这个需求的话不用进行此步骤。
五、设置系统必备
在项目名称上右键--属性
点击“系统必备”
选择和你的项目一致的.net版本。
我的程序是在.net2.0下开发的,所以我要选择.Net Framework 2.0(86)
注意:实际上在vs2010下是没有这个.net2.0选项的,需要自己手工拷贝个文件夹,方法参见:http://blog.csdn.net/bzzd2001/article/details/41676085
安装位置根据需要来选择,如果是在win7下安装,由于win7已经自带了.net2.0,所以无所谓,如果是在未安装.net2.0的xp上安装,他们的区别是:
如果选择第1项,安装程序会到微软的网站上下载.net2.0,优点,安装程序不包含.net2.0,程序小,缺点:下载速度慢
如果选择第2项,安装程序包括.net2.0,优点:不用下载,安装速度快。缺点:安装程序包会增加20多M。
项目名称右键--视图--启动条件
选择“启动条件”,修改属性里的Version的值和你的项目.net版本一致,我这里是.net2.0
六、生成
看下图:
打完收工。