VS2012没有自带打包工具,所以要先下载并安装一个打包工具。我采用微软提供的打包工具:  InstallShield2015LimitedEdition。下载地址:https://msdn.microsoft.com/en-us/library/dn531020.aspx。注意:要先注册才能下载,注册的时候一定要填写自己本人的准确的邮箱号码,注册成功后会发送一封邮件,内含注册码。把打包工具安装好后,先使用注册码激活后再进行打包,如果选择试用就进行打包,安装打包后的软件的时候会有提示,大概内容就是:本软件是使用的未注册的工具进行打包的。(PS:多影响用户体验啊,还没有安装使用就收到警告提示)

打包的详细过程:

1.新建安装部署项目

在要打包的项目的“解决方案资源管理器”中,右击“解决方案***” 》添加》新建项目。在弹出框中选择和设置信息如下图:

创建成功后的资源管理器的结构图如下图:

2.设置程序基本信息

Application Information主要设置程序在安装时显示的有关程序的一些信息,包括:程序开发公司、程序名、程序版本号和公司官网等。

General Information 还可以设置更加详细的信息:

3.设置安装需求

Installation Requirements重点是选择支持的操作系统和其他依赖的软件框架。根据自己需求选择即可。

4.添加应用文件

Application Files一项用于设置应用程序锁包含的文件。程序引用的DLL,其他文件,如:exe文件,chm文件等都在这一步添加。

首先设置程序的主输出(主输出就是程序主体,包括程序的启动和入口):

操作步骤:1.选中程序名(图中左边红框) 》 2.点击“Add Project Outputs”  》 3.勾选主输出(图中左边红框)》4.点击“OK”

通过“Add Files”添加程序引用的DLL及其他文件。

5.设置程序快捷图标

操作步骤:

1.点击左边的“Create an uninstallation shortcut”,为程序创建卸载项目;

2.点击“New...”,在弹出的菜单中选择上一步生成的“*.主输出”文件,默认名字是“Built”,通过“rename”按钮可以改变名字,本名字将显示在安装程序的图标下面(如桌面上的QQ图标);也可以设置程序Shortcut,即选择程序安装后在桌面或开始菜单中显示的图标;

3.设置程序图标和卸载选项图标的显示位置,选项如下图4方框。

6.设置程序的注册表信息

也可以不设置,跳过此步骤。

7.设置安装视图

根据自身需求进行设置即可。

8.发布程序

上面的安装步骤执行完成后即可生成解决方案,但是生成的文件会放在DVD-5文件夹内,想要使用安装文件的话就必须拷贝整个文件夹否则安装会出错,这样内容很繁琐,而且给客户的安装体验度也很差。

解决方法:使用SingleImage的安装包,将所有文件集成到一个Setup.exe中,再次安装的时候只需要一个Setup.exe即可。

步骤:右击“解决方案” 》 属性,再按下图进行设置。

9.将安装环境一并打包

操作步骤如下图:

经过上述步骤,程序打包完成,打包后的exe文件:

在打包过程中,可能会遇到各种报错,根据错误编号放狗搜索,一个个解决完,那么打包后的程序一定可以安装执行。

VS2012程序打包部署详解的更多相关文章

  1. 【转】VS2012程序打包部署详解

    上篇博客把收费系统的总体设计进行了一遍讲解,讲解的同时掺杂了些有关.NET编译机制的总结.程序编写测试完成后接下来我们要做的是打包部署程序,但VS2012让人心痛的是没有了打包工具.不知道出于什么原因 ...

  2. [转载]VS2012程序打包部署详解

    上篇博客把收费系统的总体设计进行了一遍讲解,讲解的同时掺杂了些有关.NET编译机制的总结.程序编写测试完成后接下来我们要做的是打包部署程序,但VS2012让人心痛的是没有了打包工具.不知道出于什么原因 ...

  3. (转) VS2012程序打包部署详解

    程序编写测试完成后接下来我们要做的是打包部署程序,但VS2012让人心痛的是没有了打包工具.不知道出于什么原因微软没有将打包工具集成在开发环境中,但是我知道总会有解决办法的.     经过翻阅资料发现 ...

  4. VS2012及以上版本 程序打包部署详解

    引用:  http://blog.csdn.net/zhang_xinxiu/article/details/9099757 程序编写测试完成后接下来我们要做的是打包部署程序,但VS2012让人心痛的 ...

  5. VS2012 QT程序打包部署详解

    1.设置安装程序集 InstallShield安装完成后,执行以下步骤右键解决方案-->添加-->新建项目-->其他项目类型-->安装和部署,具体操作如下图: 2.发布程序 在 ...

  6. 【CITE】VS2012程序打包部署

      选择Debug模式将项目重新生成,并保证没有任何bug   选择解决方案,右击——添加——新建项目——安装和部署   下载过打包工具InstallShield2013LimitedEdition, ...

  7. VS2010安装项目程序打包操作详解

    (转自:http://blog.sina.com.cn/s/blog_74f702e60101at62.html) 1.打开VS2010,选择 新建项目---其他项目类型---Visual Studi ...

  8. 用Advanced Installer制作DotNetBar for Windows Forms 12.0.0.1_冰河之刃重打包版详解

    关于 DotNetBar for Windows Forms 12.0.0.1_冰河之刃重打包版 --------------------11.8.0.8_冰河之刃重打包版-------------- ...

  9. 转 vagrant package[打包命令]详解

    转 vagrant package[打包命令]详解   vagrant的一个非常重要的功能就是在你的同事之间分享你的box从而使大家的开发环境保持同步,打包[package]正是实现这一功能的关键所在 ...

随机推荐

  1. # PHP - 使用PHPMailer发邮件

    PHPMailer支持多种邮件发送方式,使用起来非常简单 1.下载PHPMailer https://github.com/PHPMailer/PHPMailer,下载完成加压后, 把下边的两个文件复 ...

  2. [原] KVM 虚拟化原理探究(6)— 块设备IO虚拟化

    KVM 虚拟化原理探究(6)- 块设备IO虚拟化 标签(空格分隔): KVM [toc] 块设备IO虚拟化简介 上一篇文章讲到了网络IO虚拟化,作为另外一个重要的虚拟化资源,块设备IO的虚拟化也是同样 ...

  3. ASP.NET MVC原理

    仅此一文让你明白ASP.NET MVC原理   ASP.NET MVC由以下两个核心组成部分构成: 一个名为UrlRoutingModule的自定义HttpModule,用来解析Controller与 ...

  4. 你所能用到的BMP格式介绍

    原理篇: 一.编码的意义. 让我们从一个简单的问题开始,-2&-255(中间的操作符表示and的意思)的结果是多少,这个很简单的问题,但是能够写出解答过程的人并不 多.这个看起来和图片格式没有 ...

  5. Docker与CI持续集成/CD

    背景        Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制 ...

  6. Spring配置文件标签报错:The prefix "XXX" for element "XXX:XXX" is not bound. .

    例如:The prefix "context" for element "context:annotation-config" is not bound. 这种 ...

  7. CSS中强悍的相对单位之em(em-and-elastic-layouts)学习小记

    使用相对单位em注意点 1.浏览器默认字体是16px,即1em = 16px,根元素设置如下 html{ font-size: 100%; /* WinIE text resize correctio ...

  8. Linux3 在VMware中搭建CentOS6.5虚拟机

    前言:      本文主要是我在大家hadoop集群之前 ,需啊先安装CentOS虚拟机,记录在此,作为参考.如果能帮助到其他人,自然是更好啦. =========================== ...

  9. AngularJs2与AMD加载器(dojo requirejs)集成

    现在是西太平洋时间凌晨,这个问题我鼓捣了一天,都没时间学英语了,英语太差,相信第二天我也看不懂了,直接看结果就行. 核心原理就是require在AngularJs2编译过程中是关键字,而在浏览器里面运 ...

  10. [数据库基础]——图解JOIN

    阅读导航 一.概要 二.JOIN分类 三.JOIN分类详解 一.概要 JOIN对于接触过数据库的人,这个词都不陌生,而且很多人很清楚各种JOIN,还有很多人对这个理解也不是很透彻,这次就说说JOIN操 ...