一. 下载 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. c/c++中static与extern关键字介绍

    一.C语言中的static关键字 在C语言中,static可以用来修饰局部变量,全局变量以及函数.在不同的情况下static的作用不尽相同. (1)修饰局部变量 一般情况下,对于局部变量是存放在栈区的 ...

  2. CHROME开发者工具的小技巧

    我猜不能转载,但是必须分享. http://coolshell.cn/articles/17634.html

  3. 用SSL保Samba安全

    用SSL保Samba安全          在企业中用Samba做为文件服务器是非常容易的事了,那如何保证存储数据的安全,如何保证数据传输的安全呢?我以前介绍过通过Samba安全级别和加装防病毒软件在 ...

  4. Fragment-如何监听fragment中的回退事件与怎样保存fragment状态

    一.如何监听Fragment中的回退事件 1.问题阐述 在Activity中监听回退事件是件非常容易的事,因为直接重写onBackPressed()函数就好了,但当大家想要监听Fragment中的回退 ...

  5. javafx checkbox

    public class EffectTest extends Application { public static void main(String[] args) { launch(args); ...

  6. ble_app_hrs心率程序 nrf51822

    所用程序为: H:\keil\ARM\Device\Nordic\nrf51822\Board\pca10001\s110\ble_app_hrs 上面的路径是安装sdk之后生成在keil软件所在目录 ...

  7. HDU 5188 zhx and contest(带限制条件的 01背包)

    Problem Description As one of the most powerful brushes in the world, zhx usually takes part in all ...

  8. Android HttpLoggingInterceptor的用法简介

    该拦截器用于记录应用中的网络请求的信息. 示例 OkHttpClient client = new OkHttpClient(); HttpLoggingInterceptor logging = n ...

  9. Appium_pytest fixture的使用

    一.定义fixture方法 # -*- coding:utf-8 -*-import pytestfrom baseutil.DriverUtil import DriverConfig @pytes ...

  10. <link rel="shortcut icon" href="Xubuntu.ico" type="image/x-icon" /> <LINK href="Xubuntu.ico" rel="shortcut icon"> <link href="Xubuntu.ico" rel="B

    <link rel="shortcut icon" href="Xubuntu.ico" type="image/x-icon" /& ...