友情提示:内含大量文字、图片,密集恐惧症者慎入!

主要记述一下利用微软集成开发环境VS打包的方法和详细步骤。

1、新建打包工程

打开VS,文件->添加项目->新建项目(如图1),在添加新项目对话框中选择其他项目类型-安装和部署,在模板中选择安装项目并取名SetupMyPrj和设置路径(如图2)

  

图1                                                                                    图2

2、添加打包文件

在解决方案资源管理器中选择SetupMyPrj,点右键,视图->文件系统(F)(如图3),这时将弹出文件系统页面,(如图4),选择"应用程序文件夹"单击右键,添加“项目输出”,选择主输出(如图5),确定后即产生“添加输出窗口”,在项目中选择PCFPluginLib项目(也就是要打包的工程),配置选择Release,并选择主输出(如图6),然后点确定后即产生主输出来自PCFPluginLib的字样,同时具有相关的依赖项文件(如图7),同理选择"应用程序文件夹"单击右键,并选择内容文件,然后页面显示(如图8)。

注意:要把相关的依赖项文件排除,方法在该文件点右键选排除。

  

图3                                                      图4

  

图5                               图6

图7

图8

3、打包工程配置

打包工程配置主要分为文件安装属性配置,注册表配置,用户界面配置和工程部署属性配置四大部分。具体如下图文描述。

3.1、文件安装属性

在主输出右键,选择属性窗口(如图9)。在属性窗口把Permanent改为True,Register改为vsdrpCOMSelfReg(如图10),同理内容文件也改成这样。

  

图9                                                 
图10

3.2、注册表

在解决方案资源管理器中选择SetupMyPrj,点右键,视图->注册表(如图11),这时将弹出注册表页面,(如图12)。首先把没用的注册表删除了,比如HKEY_CURRENT_USER下的Software和HKEY_LOCAL_MACHINE下的Software删除了,方法很简单,这里就不用我说了。

接着在目标计算机上的注册表点右键选择导入(I)(如图13),将弹出如(图14)所示的页面,选择本工程所需要的注册表,如本打包工程的SetupMyPrj.reg。然后选择打开,这时在HKEY_LOCAL_MACHINE将出现刚才导入的注册表,右键选注册表属性窗口,把AlwaysCreate改为True,如(图15)所示。

    

图11                                        图12

   

图13                                                                                                图14

图15

3.3、用户界面

在解决方案资源管理器中选择SetupMyPrj,点右键,视图->用户界面(如图16),这时将弹出用户界面页面,(如图17)。首先在启动点右键,选择添加对话框(如图18),然后在对话框选择启动画面,点确定(如图19),这时在启动将添加一个启动画面(如图20),把启动画面拖到最前面,同时把欢迎使用删除(如图21)。

接着可以为欢迎使用,安装文件夹等添加图片,在添加图片之前,首先在解决方案资源管理器中选择SetupMyPrj,点右键,添加->文件,寻找你所要的图片,然后点打开,(如图22),接着就可以为安装的步骤添加图片,比如启动画面,在启动画面点右键,选择属性窗口,在弹出的属性窗口的SplashBitmap选择浏览,在新弹出的选择项目中的项->应用程序文件夹
,选择你想要的图片,点确定(如图23)。

同理,你可以为其他的选项添加图片,在此就不一一列举了,你懂的。

   

图16                                             图17

   

图18                                                                                    图19

             

图20                                                     图21

图22

图23

3.4、工程部署属性

选择SetupMyPrj, 在主菜单选择视图->属性窗口,将弹出(图24),在此窗口上可以修改属性。

AddRemoveProgramsIcon:指定要在目标计算机上的“添加/删除程序”对话框中显示的图标。

Autor:指定应用程序或组件的作者姓名。

Desscription :指定任意形式的安装程序说明。

DelectNewerInstalledVersion:指定在安装期间是否检查应用程序的更新版本。

Keywords:指定用于搜索安装程序的关键字。

Localization:指定字符串资源和运行时用户界面的区域设置。

Manufacturer:指定应用程序或组件制造商的名称。

ManufacturerUrl:为包含应用程序或组件制造商信息的Web站点指定URL。

ProductCode:指定应用程序的唯一标识符。

ProductName:指定应用程序或组件的公共名称。

RemovePreviousVersions:指定安装程序在安装期间是否移除应用程序的早期版本。

SearchPath:指定用于在开发计算机上搜索程序集、文件或合并模块的路径。

Subject:指定描述应用程序或组件的附加信息。

SupportPhone:指定用于应用程序或组件支持信息的电话号码。

SupporUrl:为包含应用程序或组件支持信息的Web站点指定URL。

Title:指定安装程序的标题。

UpgraduCode:指定表示应用程序的多个版本的共享标识符。

Version:指定安装程序、合并模块或.cab文件的版本号。

图24

4、生成安装包

选择SetupMyPrj, 右键->生成(图25),在输出窗口将显示如下信息(图26)。

   

图25                                    图26

至此,大功告成。

VS打包方法(安装和部署简介)——内含大量图片,密症慎入!的更多相关文章

  1. Linux安装yum的痛苦路程(失败,慎入)

    1,在网上下载了一个yum 的 rpm文件(yum-3.2.29-81.el6.centos.noarch.rpm),我在 http://www.rpmfind.net/linux/rpm2html/ ...

  2. 他山之石——vs2013 安装与部署及程序打包

    C#打包需要这个:InstallShield 2013 Limited Edition for Visual Studio  .下载地址: InstallShield 2013 Limited Edi ...

  3. VS C#程序打包覆盖安装不能更新的解决方法

    最近写个小程序,打包覆盖安装更新时老是不起作用,还是原来的程序. 在网上四处查找,productcode和ersion都已经更改,removepreviousversions也设置成true了,可就是 ...

  4. 热部署简介及在eclipse安装插件JRebel进行热部署

    一.热部署简介 1.热部署与热加载在应用运行的时候升级软件,无需重新启动的方式有两种,热部署和热加载.它们之间的区别是:(1).部署方式: 热部署在服务器运行时重新部署项目.热加载在运行时重新加载cl ...

  5. Visual Studio 2015中 没有“安装和部署”的解决方法

    使用Visual Studio 2015 Community新建项目,在已安装模板中的“其它项目类型”下未找到“安装和部署”选项.在微软官网下载 Microsoft Visual Studio 201 ...

  6. MongoDB的下载、安装与部署方法

    1.什么是MongoDB? 它是介于关系型数据库和非关系型数据库之间的一种NoSQL数据库,用C++编写,是一款集敏捷性.可伸缩性.扩展性于一身的高性能的面向文档的通用数据库. 2.为什么要用Mong ...

  7. 【转载】VS2012的打包方法

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

  8. 【转】.NET 安装和部署(Installer) 如何卸载上一个版本

    前言 当使用.NET“安装项目”打包的安装文件,再次安装的时候会弹出如下提示,这个时候会让我们很郁闷,怎样才能自动卸载上一个安装的版本呢?方法很简单,只需简单的两个操作步骤即可解决. 操作步骤 主要由 ...

  9. 转:winform 打包自动安装数据库

    vs2005 打包,并自动安装SQL数据库.创建部署项目    1.   在“文件”菜单上指向“添加项目”,然后选择“新建项目”.    2.   在“添加新项目”对话框中,选择“项目类型”窗格中的“ ...

随机推荐

  1. React 从入门到进阶之路(三)

    之前的文章我们介绍了 React 创建组件.JSX 语法.绑定数据和绑定对象.接下来我们将介绍 React 绑定属性( 绑定class  绑定style).引入图片  循环数组渲染数据. 上一篇中我们 ...

  2. PAT 1043【BST与二叉树】

    考察: 1.二叉树的建树 2.前序遍历,后序遍历 3.BST的特性 这题的思路: 告诉你数组是先序遍历的,so 根已经知道了(数组首位元素),那么按照BST,建一下树(要两次,另外一次是镜像的): 跑 ...

  3. 手写堆的dijkstra

    颓废.. #include <cstdio> #include <cstring> #include <algorithm> using namespace std ...

  4. 深入理解C/C++ [Deep C (and C++)]

    编程是困难的,正确的使用C/C++编程尤其困难.确实,不管是C还是C++,很难看到那种良好定义并且编写规范的代码.为什么专业的程序员写出这样的代码?因为绝大部分程序员都没有深刻的理解他们所使用的语言. ...

  5. java 调用SAP RFC函数错误信息

    RFC接口调用SAP如果有异常会通过com.sap.mw.jco.JCO$Exception: 抛出异常 在开发中遇到的异常有如下 用户名密码可能是错误或者用户无权限,确认用户,必要时联系SAP负责人 ...

  6. vue 中的.sync语法糖

    提到父子组件相互通信,可能大家的第一反应是$emit,最近在学着封装组件,以前都是用的别人封装好的UI组件,对vue中的.sync这个修饰符有很大的忽略,后来发现这个修饰符很nice,官方对她的描述是 ...

  7. k8s缩放应用程序

    参考:https://kubernetes.io/docs/tutorials/kubernetes-basics/ 步骤1:扩展部署 要列出部署,请使用GET部署命令:kubectl get dep ...

  8. 安居客scrapy房产信息爬取到数据可视化(上)-scrapy爬虫

    出发点 想做一个地图热力图,发现安居客房产数据有我要的特性.emmm,那就尝试一次好了~ 老规矩,从爬虫,从拿到数据开始... scrapy的配置 创建一个项目(在命令行下敲~): scrapy st ...

  9. C# AD 验证登陆

    using System.DirectoryServices; using System.DirectoryServices.AccountManagement; using (DirectoryEn ...

  10. 了解Unix进程(3)

    fork() 系统调用可以创建新的进程.然后查看进程ID和父进程ID使用getpid()和getppid()函数. 使用C语言描述: #include <unistd.h> #includ ...