一. 下载 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. vue -- config.js 配置跨域文件

    1.在使用vue开发的时候经常要涉及到跨域的问题,其实在vue cli中是有我们设置跨域请求的文件的. 2.当跨域无法请求的时候我们可以修改工程下config文件夹下的index.js中的dev -- ...

  2. windows下go语言环境

    1  liteIDE ,随便装哪儿都行 2  GO语言包 安装  ,我安装到了 c:\go  (顺便给个地址下载地址  https://golang.org/dl/  ) 3  GCC编译器 安装,同 ...

  3. HDU 1576 A/B 数论水题

    http://acm.hdu.edu.cn/showproblem.php?pid=1576 写了个ex_gcd的模板...太蠢导致推了很久的公式 这里推导一下: 因为 1 = BX + 9973Y ...

  4. nginx配置静态文件服务器的一个特殊需求的探索和分享, nginx处理不同路径返回统一文件,nginx改写,跳转请求.

    最近在做一个前后端分离的个人博客,在做自己博客的时候有个想法,本来是打算用nginx作为静态文件服务器使用,django做后端程序. 我的前端页面用vue写的,结果用组件用嗨了,发现页面列表和 详情都 ...

  5. [翻译]魅族的M1 Note是十分廉价(dirt-cheap)的iphone5C增强版

    Meizu's M1 Note is a dirt-cheap iPhone 5c on steroids 魅族的M1 Note是十分廉价(dirt-cheap)的ihone5C增强版 While m ...

  6. 将NSTimer加入至RunLoop中的两种方法差别

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launc ...

  7. [LuoguP4892]GodFly的寻宝之旅 状压DP

    链接 基础状压DP,预处理出sum,按照题意模拟即可 复杂度 \(O(n^22^n)\) #include<bits/stdc++.h> #define REP(i,a,b) for(in ...

  8. InstallShield详细制作说明(三)

    八.许可协议 打开[Installation Designer]->[Behavior and Logic]->[Support Files/Billboards]面板 这里[Langua ...

  9. POJ 1654 Area 凸包面积

    水题直接码... /********************* Template ************************/ #include <set> #include < ...

  10. Django项目之Web端电商网站的实战开发(二)

    说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家! 接着上一篇博客继续往下写 :https://blog.csdn.net/qq_41782425/article/details/8 ...