VS打包方法(安装和部署简介)——内含大量图片,密症慎入!
友情提示:内含大量文字、图片,密集恐惧症者慎入!
主要记述一下利用微软集成开发环境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打包方法(安装和部署简介)——内含大量图片,密症慎入!的更多相关文章
- Linux安装yum的痛苦路程(失败,慎入)
1,在网上下载了一个yum 的 rpm文件(yum-3.2.29-81.el6.centos.noarch.rpm),我在 http://www.rpmfind.net/linux/rpm2html/ ...
- 他山之石——vs2013 安装与部署及程序打包
C#打包需要这个:InstallShield 2013 Limited Edition for Visual Studio .下载地址: InstallShield 2013 Limited Edi ...
- VS C#程序打包覆盖安装不能更新的解决方法
最近写个小程序,打包覆盖安装更新时老是不起作用,还是原来的程序. 在网上四处查找,productcode和ersion都已经更改,removepreviousversions也设置成true了,可就是 ...
- 热部署简介及在eclipse安装插件JRebel进行热部署
一.热部署简介 1.热部署与热加载在应用运行的时候升级软件,无需重新启动的方式有两种,热部署和热加载.它们之间的区别是:(1).部署方式: 热部署在服务器运行时重新部署项目.热加载在运行时重新加载cl ...
- Visual Studio 2015中 没有“安装和部署”的解决方法
使用Visual Studio 2015 Community新建项目,在已安装模板中的“其它项目类型”下未找到“安装和部署”选项.在微软官网下载 Microsoft Visual Studio 201 ...
- MongoDB的下载、安装与部署方法
1.什么是MongoDB? 它是介于关系型数据库和非关系型数据库之间的一种NoSQL数据库,用C++编写,是一款集敏捷性.可伸缩性.扩展性于一身的高性能的面向文档的通用数据库. 2.为什么要用Mong ...
- 【转载】VS2012的打包方法
上篇博客把收费系统的总体设计进行了一遍讲解,讲解的同时掺杂了些有关.NET编译机制的总结.程序编写测试完成后接下来我们要做的是打包部署程序,但VS2012让人心痛的是没有了打包工具.不知道出于什么原因 ...
- 【转】.NET 安装和部署(Installer) 如何卸载上一个版本
前言 当使用.NET“安装项目”打包的安装文件,再次安装的时候会弹出如下提示,这个时候会让我们很郁闷,怎样才能自动卸载上一个安装的版本呢?方法很简单,只需简单的两个操作步骤即可解决. 操作步骤 主要由 ...
- 转:winform 打包自动安装数据库
vs2005 打包,并自动安装SQL数据库.创建部署项目 1. 在“文件”菜单上指向“添加项目”,然后选择“新建项目”. 2. 在“添加新项目”对话框中,选择“项目类型”窗格中的“ ...
随机推荐
- React 从入门到进阶之路(三)
之前的文章我们介绍了 React 创建组件.JSX 语法.绑定数据和绑定对象.接下来我们将介绍 React 绑定属性( 绑定class 绑定style).引入图片 循环数组渲染数据. 上一篇中我们 ...
- PAT 1043【BST与二叉树】
考察: 1.二叉树的建树 2.前序遍历,后序遍历 3.BST的特性 这题的思路: 告诉你数组是先序遍历的,so 根已经知道了(数组首位元素),那么按照BST,建一下树(要两次,另外一次是镜像的): 跑 ...
- 手写堆的dijkstra
颓废.. #include <cstdio> #include <cstring> #include <algorithm> using namespace std ...
- 深入理解C/C++ [Deep C (and C++)]
编程是困难的,正确的使用C/C++编程尤其困难.确实,不管是C还是C++,很难看到那种良好定义并且编写规范的代码.为什么专业的程序员写出这样的代码?因为绝大部分程序员都没有深刻的理解他们所使用的语言. ...
- java 调用SAP RFC函数错误信息
RFC接口调用SAP如果有异常会通过com.sap.mw.jco.JCO$Exception: 抛出异常 在开发中遇到的异常有如下 用户名密码可能是错误或者用户无权限,确认用户,必要时联系SAP负责人 ...
- vue 中的.sync语法糖
提到父子组件相互通信,可能大家的第一反应是$emit,最近在学着封装组件,以前都是用的别人封装好的UI组件,对vue中的.sync这个修饰符有很大的忽略,后来发现这个修饰符很nice,官方对她的描述是 ...
- k8s缩放应用程序
参考:https://kubernetes.io/docs/tutorials/kubernetes-basics/ 步骤1:扩展部署 要列出部署,请使用GET部署命令:kubectl get dep ...
- 安居客scrapy房产信息爬取到数据可视化(上)-scrapy爬虫
出发点 想做一个地图热力图,发现安居客房产数据有我要的特性.emmm,那就尝试一次好了~ 老规矩,从爬虫,从拿到数据开始... scrapy的配置 创建一个项目(在命令行下敲~): scrapy st ...
- C# AD 验证登陆
using System.DirectoryServices; using System.DirectoryServices.AccountManagement; using (DirectoryEn ...
- 了解Unix进程(3)
fork() 系统调用可以创建新的进程.然后查看进程ID和父进程ID使用getpid()和getppid()函数. 使用C语言描述: #include <unistd.h> #includ ...