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. 在“添加新项目”对话框中,选择“项目类型”窗格中的“ ...
随机推荐
- const指针与指向const的指针
当使用带有const的指针时其实有两种意思.一种指的是你不能修改指针本身的内容,另一种指的是你不能修改指针指向的内容.听起来有点混淆一会放个例子上来就明白了. 先说指向const的指针,它 ...
- FreeSql 新功能介绍:贪婪加载五种方法
前言 FreeSql 在经过6个月的开发和朋友们的工作实践,不断的改进创新,目前拥有1500个左右单元测试方法,且每个方法内又复盖不同的测试面. 今天介绍 FreeSql 各种贪婪加载的姿势,作下总结 ...
- Mysql导入导出数据库11111
导出: 通过命令行 在MYSQL中的bin文件夹的目录下 输入:D:\phpStudy\MySQL\bin>mysqldump -uroot -p 数据库名 > 导出的文件名 导入: 需 ...
- Elasticsearch+Logstash+Kibana搭建分布式日志平台
一.前言 编译安装 1.ELK简介 下载相关安装包地址:https://www.elastic.co/cn/downloads ELK是Elasticsearch+Logstash+Kibana的简称 ...
- IDEA的database插件无法链接mysql的解决办法(08001错误)
1.问题 首先先说问题,用navicat链接数据库正常,mysql控制台操作正常,但是用IDEA的数据库插件链接一直报 08001 错误,具体见下图: 错误:Connection to eshop@l ...
- EIGRP-8-路由器的邻接关系
EIGRP路由器之间会建立并维护邻接关系.EIGRP在默认情况下会动态发现邻居路由器.也可以通过工程师手动配置(静态)发现邻居. 通过向目的组播组地址224.0.0.10或FF02: : A发送E ...
- 移动Web开发规范概述
以下规范建议,均是Alloyteam在日常开发过程中总结提炼出的经验,规范具备较好的项目实践,强烈推荐使用. 字体设置 使用无衬线字体 body { font-family: "Helvet ...
- 关于JSON可能出现的错误,待更/todo
今天写到webAppService.js的时候,用fs模块调用json,发现单引号的json被警告了. json就是一段有格式的字符串,如果数据的封装与解析都是我们自己做的时候,单引号和双引号是没啥关 ...
- AJAX下拉框联动
function getProvince() { var ProName = $("#dvProv").val(); LoadProvince(ProName); } functi ...
- Processes and Application Life Cycle
进程的生命期 Android系统会尽量维持一个进程的生命,直到最终需要为新的更重要的进程腾出内存空间.为了决定哪个该杀哪个该留,系统会跟据运行于进程内的组件的和组件的状态把进程置于不同的重要性等级.当 ...