一. 下载 InstallShield 2015(支持VS2012)

VS2012没有自带打包工具,所以要先下载并安装一个打包工具。我采用微软提供的打包工具:  InstallShield2015LimitedEdition。下载地址:http://learn.flexerasoftware.com/content/IS-EVAL-InstallShield-Collaboration。

填写个人信息后,就可以下载软件,并获得试用版的注册序列号,在邮箱中获得激活码。

下载后进行安装和激活,然后,就可以按照网上的众多的教程进行软件的打包与发布了。

激活

新建一个安装部署任务时,首次使用会出现如下所示的激活界面。

填写下载时出现的激活码即可。

 

二、 软件的打包与发布

注意:要先注册才能下载,注册的时候一定要填写自己本人的准确的邮箱号码,注册成功后会发送一封邮件,内含注册码。把打包工具安装好后,先使用注册码激活后再进行打包.

1.新建安装部署项目

在要打包的项目的“解决方案资源管理器”中,右击“解决方案XXXXXX” >添加>新建项目 (注意要选择realease发布)。

创建成功后的资源管理器的结构图如下图(要发布的项目未显示)。

2.设置程序基本信息

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

General Information 还可以设置更加详细的信息(如上图右所示)。

操作系统和其他依赖的软件框架。根据自己需求选择即可。

4.添加应用文件

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

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

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

点击Ok后,选中主输出,右键Resolve Project OutPut,如下图:

 

点击OK后,在左边菜单CatcheScreen下新建目录source,然后同上步骤添加源文件,然后选中资源,右键Resolve Project OutPut,如上右图。

PS:通过“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即可。

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

PS: 注意在上图中选择Release版本的进行打包发布!

9.将安装环境一并打包

操作步骤如下图:

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

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

三、软件的版本控制与覆盖安装[2]

这一部分主要是讲解,如果在目标端已经安装了一个版本或,后期再安装一个软件,该如何处理旧版本的问题。

1. 在General Information里,修改Product Version为新的版本号,此版本号应大于旧的版本号。点击Product Code右面的{...},获取一个新的Product Code。不要更换Upgrade Code!


2.“解决方案资源管理器”中选择“1.Organize Your Setup”,然后选择"Upgrade Paths",在左边的“Upgrade Paths”中点击右键,选择”New Upgrade Path“。

3. 这时会弹出打开对话框,文件类型选择exe文件,打开旧版本的安装包。

4.此时左侧或出现”NewUpgradeEntry1“,即升级入口,右侧显示该安装包的Upgrade
Code和版本号。注意,需要时应修改Min Version和Max Version(即覆盖安装的旧版本范围)。如果不小心存在不同Upgrade
Code的旧版本,再次添加相应安装包。

5.至此,制作的新的安装包,即会覆盖升级安装。

参考文章

1.caiandyong,   VS2012(InstallShield2015LimitedEdition)打包程序详解 。

2.车臣InstallShield 2015 LimitedEdition VS2012 覆盖安装.

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

  1. VS2012打包部署Winform程序

    打包前的准备工作: 新建一个打包部署项目,点OK,如果是第一次使用的话,会打开一个网页,按照提示的步骤来做, 点击上面的step2的网址,进入到另一个网页: 填写完右边的信息,点击“download ...

  2. VS2012打包部署教程

    前言 通常我们只是写一些系统,然后想要运行功能的时候就打开代码点击启动,这样只适用于开发人员或者局部开发人员这样做,软件开发的大多数意义上就是拿出开发的软件让用户放心的去点.用户无需知道代码,无需知道 ...

  3. Idea开发环境中搭建Maven并且使用Maven打包部署程序

    1.配置Maven的环境变量 a.首先我们去maven官网下载Maven程序,解压到安装目录,如图所示: b.配置M2_HOME的环境变量,然后将该变量添加到Path中 备注:必须要有JAVA_HOM ...

  4. Qt打包部署程序自动查找依赖DLL工具windeployqt

    qt编译好一个exe程序之后,部署到一台没有开发环境的机器上,需要一起拷贝其依赖的dll文件.这时需要一个windeployqt工具来帮忙,因为手动拷贝的话容易遗漏. https://blog.csd ...

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

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

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

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

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

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

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

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

  9. [C#打包部署教程]001.VS2012 + InstallShield

    攻城狮编写测试完成后接下来我们要做的是打包部署程序. 经过翻阅资料发现,VS2012虽然没有集成打包工具,但它为我们提供了下载的端口,需要我们手动安装一个插件InstallShield.(旁白:网上有 ...

随机推荐

  1. iOS-APP-Icon 图标启动图及名字的设置

    本文讲下appIcon图标.启动图及名字的设置 icon for iOS 图标大小参照苹果官网:https://developer.apple.com/library/ios/qa/qa1686/_i ...

  2. SASS常用方法

    cnpm install --save-dev sass-loader //sass-loader依赖于node-sass cnpm install --save-dev node-sass //实现 ...

  3. Vue 实现分页+输入框关键字筛选

    分页的实现(Vue+Element)+输入框关键字筛选 1.这里用的是Element 自带的分页组件 <template> <div class="sales-table& ...

  4. 韦东山ARM裸机笔记(2)--vi编辑器

    VI编辑器(Visual Interface--可视化接口) 一.Linux下的一个文本编辑器,所具备的基本功能: 打开.新建.保存文件 光标移动 文本编辑 (多行间 | 多列间)复制.粘贴.删除 查 ...

  5. pidof---查找指定名称的进程的进程号id号。

    pidof命令用于查找指定名称的进程的进程号id号. 语法 pidof(选项)(参数) 选项 -s:仅返回一个进程号: -c:仅显示具有相同“root”目录的进程: -x:显示由脚本开启的进程: -o ...

  6. Java生产者与消费者(上)

    本文来自http://blog.csdn.net/liuxian13183/ ,引用必须注明出处! 生产与消费者模式,是编程中最常用的模式之一,在多线程中应用比较明显.个人理解:在自助餐厅,厨师在不断 ...

  7. Font-Awesome最新版完整使用教程

    何为Font-Awesome Font Awesome gives you scalable vector icons that can instantly be customized - size, ...

  8. 洛谷 P1709 [USACO5.5]隐藏口令Hidden Password

    P1709 [USACO5.5]隐藏口令Hidden Password 题目描述 有时候程序员有很奇怪的方法来隐藏他们的口令.Binny会选择一个字符串S(由N个小写字母组成,5<=N<= ...

  9. Qt自定义类型使用QHash等算法(Qt已经自定义了34种类型,包括int, QString, QDate等基本数据类型)

    自定义类型 #include <QCoreApplication> #include <QSet> #include <QDebug> class testCust ...

  10. RelativeLayout-代码中成员控件width height

    今天需要在代码中动态的设置一个textview的width跟height属性,记录下来. textview在xml中的布局如下 <RelativeLayout android:layout_wi ...