VS2010 C/S模式 打包部署

先说说什么是打包部署和发布,对于c/s模式打包就是把我们的程序打成压缩包,打包将行李入包,发布是将打好的包展开.  这样的好处一是保护版权和安装方面,二是打包会把cs文件编译成为dll文件,第一次运行的速度快,同时保护代码.三是打包发布可以节省控件,基本解决了安全性的问题,使得程序员的原codes不被泄漏.

说说打包和发布的区别,发布是没有安装文件的,要求服务器上必须安装上一个frontpage server extension,发布是把页面文件aspx,资源文件放到网站里,代码编译到程序集中放到bin中.

打包部署,就是打成一个msi文件,运行后将在服务器上自动新建一个虚拟的目录,把文件的内容拷贝进去,拷贝的内容是你在打包中指定的.

下面就详细讲述VS C/S模式winForm打包部署.

基础.

安装项目的六个子项:文件系统注册表文件类型用户界面 自定义操作启动条件.

我们最常用的是文件系统了.

也就是“文件系统编辑器”

“文件系统编辑器”中的文件夹可以包含文件、项目输出和程序集。 项目输出表示解决方案中另一个项目所包含的项,并且可以包含以下内容:主要的生成输出(如可执行文件)、本地化资源、符号调试信息、内容文件(如 HTML 页)和项目源文件。其中的每个输出都称为项目输出组,项目输出组包含主要输出(也称为键输出)和任何附加的输出与依赖项。还支持快捷方式的创建,这样,您可以将文件放置在一个文件夹中,然后从桌面或另一文件夹中的快捷方式指向这些文件。

文件系统下有三个文件夹,"应用程序文件夹","用户的‘程序‘菜单","用户桌面".

“桌面文件夹”相当于“桌面”系统文件夹。 Windows会跟踪系统文件夹的位置,因此无论文件夹的位置或名称如何,放置在 “桌面文件夹”中的文件最后始终位于“桌面”系统文件夹中。

"应用程序文件夹":表示要安装的程序需要添加的文件;可以在 应用程序文件夹”下创建“应用程序数据”文件夹,这样不论 应用程序文件夹”位于目标计算机上的什么位置,放置在“应用程序数据”文件夹中的文件都始终安装在同一相对位置。

"用户的程序菜单":表示应用程序安装完毕,用户的"开始菜单"中显示的内容.

注册表.

可以向注册表中插入键,在安装应用程序的同时创建注册表项.

文件类型:

右击可"添加文件类型"

“文件类型编辑器”包含一个窗格,其中显示了文件类型和操作的分层列表。 默认情况下, 文件类型编辑器”包含一个 目标计算机上的文件类型”节点;新文件类型可以添加到该节点的下面。

用户界面:

系统自动提供一组在安装期间显示的默认的对话框.根据正在构建的项目的类型,所提供的这组对话树中包含两部分,安装与管理员安装.安装部分包括终端用户运行安装程序时显示的对话框,而管理员安装部分包含系统管理员将安装程序上传到某个网络位置时显示的对话框.如果想要构建一个没有用户界面的安装,只需要在对话框树上删除安装部分中的所有对话框.或者从一组可用模版添加到安装项目中.

启动条件:

使用启动条件编辑器来定义成功运行安装所必须的条件.例如,特地你个版本的操作系统,配置启动条件来搜索目标计算机上的某个特定文件\注册表\或组件,在安装时进行评估并按照启动条件编辑器中所示的顺序执行.

自定义操作:

"自定义操作"提供了一种在安装结束时执行任务的机制。例如,您可能希望在安装应用程序之前先配置好数据库,此时您可以用自定义操作来完成数据库的创建。自定义操作构建为单独的  .dll  或   .exe  文件,然后使用自定义操作编辑器添加到项目中,其中这些操作与不同的安装阶段有关。自定义操作编辑器包括几个单独的文件夹,用于放置执行   Install、Commit、Rollback或Uninstall 任务的二进制文件。

操作演练.

创建新部署项目.

  1. 在"文件"菜单上指向"添加",然后单击"新建项目".

  1. 我们随即出现的"添加新建项目"的对话框中,打开"项目类型"窗格中的"其他项目类型"节点,打开"安装和部署项目",在选择"Visual Studio Installer "

3.在"模版"窗格中,选择要创建的部署项目的类型.vs为我们提供了四种类型的部署项目提供了模版:合并模版项目安装项目 web安装项目和CAB项目.

这四种模版,

  • 安装项目 主要是通过使用InstallShield 2010 Limited Edition来创建、生成并打包windows应用程序和服务.
  • 合并模块项目安装,可以利用"合并模块"项目将文件或组建打包到单个模块中,以便共享此模块.产生的.msm文件可以包含任何其他部署项目中.
  • web安装,为web应用程序生成安装程序,web安装项目的文件安装在web服务器上的virtual Root 目录中.
  • CAB项目,创建cab文件,使用CAB项目可以从Web服务器下载到Web浏览器的ActiveX组建进行打包.

在这里我们使用的是"安装项目"模版,最终生成的是.msi文件,包含应用程序、任何依赖文件以及有关程序的信息,如注册表项和安装说明等.当msi文件在另一个台计算机上分发运行时,安装失败,计算机则会返回到安装前的状态.

向解决方案中添加现有的部署项目

在"文件"菜单上指向"添加",然后单击"现有项目".

添加了解决方案sln的文件.

windows的应用程序添加到安装程序中.

在我们建立一个"安装项目"后,你会看到这样的三个文件夹.(在文章的开始时已做讲述.)

这三个文件夹依次是:

"应用程序文件夹":表示要安装的程序需要添加的文件;

"用户的‘程序‘菜单":表示应用程序安装完毕,用户的"开始菜单"中显示的内容,一般这个文件夹中,需要创建一个文件用来存放:应用程序.exe和卸载.exe.

"用户桌面":表示这个应用程序安装完,用户的桌面上的创建.exe的快捷方式.

在应用程序文件夹节点右击,指向"文件",添加要打包的文件,添加的文件一般是程序的Debug目录下的文件;

在应用程序文件夹节点右击,指向"添加",然后单击"项目输出".

在列表中选择"主输出"组.在"配置"框中选择"(活动)".单击确定.

我们可以看到自动加载的依赖项.

为启动条件设置初值.右击我们的安装文件,选择"属性"

这样安装包就会打包.NET FrameWork,在安装时不会从网上下载.NET  FrameWork组件;但是安装包会比较大。

在"生成"菜单上单击生成.

以上便是完成了基本的打包.

可选的部署功能.

为基于windows的应用程序创建快捷方式.

我们在"应用程序文件夹"节点下选择应用程序的主输出,右击,选择创建主输出的快捷方式.

右击属性窗口,或F4显示该快捷方式的属性菜单栏.可以为启动系统的快捷方式选择恰当的图表.

双击进入添加图标的窗口.

为我们的.NET程序创建一个卸载程序,并在桌面上显示卸载程序的快捷方式.

在"应用程序文件夹"中添加文件,文件位置:"C:Windows\System32\Msiexec.exe"或直接搜索该文件名.

简要说说msiexec.exe,系统进程,是WindowsInstaller的一部分。用于安装Windows Installer安装包(MSI),对系统的正常运行是非常重要的,一般在运行Microsoft Update安装更新或安装部分软件的时候出现,占用内存比较大。

同样我们要创建该系统进程exe的快捷方式,

我们的快捷方式如果是在桌面显示的就拖动到"用户桌面"文件夹.如果在开始菜单中显示的,就拖动到"用户的‘程序‘菜单"文件夹中.

点击安装项目,F4显示安装项目的属性

vs中会给出提示该属性的作用.找到productCode属性,指定应用程序的唯一标识符.复制这个标识符到黏贴板.

粘贴卸载快捷方式属性栏的命令行参数,在前加上/X空格.

这里还在要说说给我们的安装程序添加启动条件.

此次步骤是检查目标计算机上是否安装了,Internet Explorer 5.0或更高版本,如果未安装所需要的文件,将停止安装.

添加启动条件来检查Internet Explorer版本(可选)

在"解决方案资源管理器"中选择我们的安装程序lfsfxyComputerSystem

在"视图"菜单上指向"编辑器"然后单击"启动条件"

默认的依赖项NET Framework,且无法删除,我们在这里选择如下.

我们可自行添加启动条件.

右击"启动条件"文件夹,"添加启动条件",可以自定义添加了.

再次生成解决方案.生成解决方案后,我们可以看到,debug文件夹中就是我们的安装包.

在这里还是要说说这里面msi和exe两个安装程序的区别.关于具体的msi.    http://hi.baidu.com/yinhorse/blog/item/5bd65387652f2727c65cc3d6.html

msi是Windows installer开发出来的程序安装文件,它可以让你安装,修改,卸载你所安装的程序.说白了msi就是Windows installer的数据包,把所有和安装文件相关的内容封装在一个包里了.
setup.exe也允许你安装程序,但程序员在开发setup.exe的时候要比开发setup.msi困难的多,需要人工编写和安装,修改,卸载相关的很多内容.而msi把这写功能都集成化了,易于开发WINDWOS程序安装包.

如果我们选择了安装程序,"属性"-->"系统必备", 添加了安装系统必备,就会把系统必备的安装包也会打包在debug文件夹中.在我们的debug中就有一个.NET FrameWork的安装包.

在开始文件夹中.会看到我们的卸载.

在桌面有我们要显示的程序启动的快捷方式.

vs环境中自带报表使用过程详解:http://blog.csdn.net/xhf55555/article/details/7285325

vs环境中生成的文件夹类型详解:http://blog.csdn.net/xhf55555/article/details/7653009

vs环境中快捷键高效使用详解:请您继续关注!

参考:http://www.cnblogs.com/souso/archive/2010/01/12/164571.html

更多探索见vs帮助:http://127.0.0.1:47873/help/1-4924/ms.help?method=page&id=02CBCE50-6FC2-4B89-BC32-3720A7651087&product=VS&productVersion=100&topicVersion=100&locale=ZH-CN&topicLocale=ZH-CN

时间: 2024-10-10 09:42:34

VS2010 C/S模式 打包部署的相关文章

VS2010 C/S模式winForm打包部署.详细!

原文:http://blog.csdn.net/xhf55555/article/details/7702212 先说说什么是打包部署和发布,对于c/s模式打包就是把我们的程序打成压缩包,打包将行李入包,发布是将打好的包展开.  这样的好处一是保护版权和安装方面,二是打包会把cs文件编译成为dll文件,第一次运行的速度快,同时保护代码.三是打包发布可以节省控件,基本解决了安全性的问题,使得程序员的原codes不被泄漏. 说说打包和发布的区别,发布是没有安装文件的,要求服务器上必须安装上一个fro

Vs2010winform程序打包部署

1.新建安装部署项目 打开vs2010,选择文件->新建->项目->其他项目类型->安装和部署->选择安装项目.如下图: 2.开始制作 点击如上图中确定后进入项目开始制作: 2.1点击"应用程序文件夹"右击选择添加->文件夹或者双击"应用程序文件夹"在右边的空白处右击选择添加->文件夹.如下图: 2.2将自己开发项目中对应的文件添加到安装部署对应的文件夹中,这里我就把自己开发项目中的Dict文件夹中的文件添加到安装部署项目中

VS2013程序打包部署(图解)

首先要说明的是VS解决方案配置下的Debug模式和Release模式有什么区别.Debug模式通常称为调试模式,它包含调试信息,未对代码进行优化,方便程序员调试程序:Release模式通常叫做发布模式,不包含调试信息,但是它对代码进行了优化,使程序代码和运行速度都是最优的.因此我们在发布系统之前,一定要保证系统没有Bug,也就是在Debug模式下能够成功生成解决方案.解决方案配置转换方式详见下图: 现在我们只需要保证Debug模式下没问题就行,暂时不用管Release模式. 接下来就是我们今天的

VS2013程序打包部署(图解),vs2013部署

VS2013程序打包部署(图解),vs2013部署 首先要说明的是VS解决方案配置下的Debug模式和Release模式有什么区别.Debug模式通常称为调试模式,它包含调试信息,未对代码进行优化,方便程序员调试程序:Release模式通常叫做发布模式,不包含调试信息,但是它对代码进行了优化,使程序代码和运行速度都是最优的.因此我们在发布系统之前,一定要保证系统没有Bug,也就是在Debug模式下能够成功生成解决方案.解决方案配置转换方式详见下图: 现在我们只需要保证Debug模式下没问题就行,

用C#做成的程序如何打包部署,在其他PC机运行

刚刚接触C#,在linux下面做习惯了c和c++,在本机运行OK后,得瑟的去别的机子,居然运行不了,你妹啊,怎么回事,没有.NET Framework,原来和java类似,.NET Framework相当与c#的虚拟机.装上后FW后,还是运行不起来,报以下错误 我靠,什么鸟情况.用dumpbin -import xxx.exe将所需的dll也拷过去还是不行.难道还要装VS2010才成?坑爹的我拿着vs2010装了半天,装上2010后果然能运行了,这你妹的难不成要用户装开发工具软件,这不对劲啊.果

【基于WinForm+Access局域网共享数据库的项目总结】之篇三:Access远程连接数据库和窗体打包部署

篇一:WinForm开发总体概述与技术实现 篇二:WinForm开发扇形图统计和Excel数据导出 篇三:Access远程连接数据库和窗体打包部署 [小记]:最近基于WinForm+Access数据库完成一个法律咨询管理系统.本系统要求类似网页后台管理效果,并且基于局域网内,完成多客户端操作同一数据库,根据权限不同分别执行不同功能模块.核心模块为级联统计类型管理.数据库咨询数据扇形统计.树的操作.咨询数据的管理.手写分页.Excel数据的导出.多用户操作服务器数据等.并支持多用户同时操作,远程连

SpringCloud系列四:Eureka 服务发现框架(定义 Eureka 服务端、Eureka 服务信息、Eureka 发现管理、Eureka 安全配置、Eureka-HA(高可用) 机制、Eureka 服务打包部署)

1.概念:Eureka 服务发现框架 2.具体内容 对于服务发现框架可以简单的理解为服务的注册以及使用操作步骤,例如:在 ZooKeeper 组件,这个组件里面已经明确的描述了一个服务的注册以及发现操作流程,在整个 Rest 架构里面,会存在有大量的微服务的信息. 在 SpringCloud 之中使用了大量的 Netflix 的开源项目,而其中 Eureka 就属于 Netflix 提供的发现服务组件,所有的微服务在使用之中全部向 Eureka 之中进行注册,而后客户端直接利用 Eureka 进

Spring boot(4)-应用打包部署

摘自: http://blog.csdn.net/hguisu/article/details/51072683 1.Spring Boot内置web spring Boot 其默认是集成web容器的,启动方式由像普通Java程序一样,main函数入口启动.其内置Tomcat容器或Jetty容器,具体由配置来决定(默认Tomcat).当然你也可以将项目打包成war包,放到独立的web容器中(Tomcat.weblogic等等),当然在此之前你要对程序入口做简单调整. 对server的几个常用的配

使用IntelliJ IDEA和Maven构建Java web项目并打包部署

爱编程爱分享,原创文章,转载请注明出处,谢谢! http://www.cnblogs.com/fozero/p/6120375.html 一.背景 现在越来越多的人使用IntelliJ IDEA工具进行Java的开发,以前也对IntelliJ IDEA有了解过,但是一直没有去使用. IntelliJ IDEA比Myeclipse好用多了 ,功能也非常的强大,google公司Android Studio就是基于IntelliJ IDEA开发的, 开发效率非常高,各种智能提示等等,具体的大家可以去了