`

VS2012程序打包部署详解

 
阅读更多

目录(?)[-]

  1. 一NET程序部署机制
  2. 二InstallShield程序打包图解
    1. 设置安装程序集
    2. 发布程序
    3. 设置程序安装信息
    4. 添加程序文件
    5. 添加程序的资源文件
    6. 设置安装注册文件
    7. 设计程序的打开方式
    8. 设置程序安装注册表项
    9. 设置程序安装时的安装视图
    10. 打包环境
    11. 发布程序

 

上篇博客把收费系统的总体设计进行了一遍讲解,讲解的同时掺杂了些有关.NET编译机制的总结。程序编写测试完成后接下来我们要做的是打包部署程序,但VS2012让人心痛的是没有了打包工具。不知道出于什么原因微软没有将打包工具集成在开发环境中,但是我知道总会有解决办法的。
    经过翻阅资料发现,VS2012虽然没有集成打包工具,但它为我们提供了下载的端口,需要我们手动安装一个插件InstallShield。网上有很多第三方的打包工具,但为什么偏要使用微软提供的呢?因为最原始的也是最高级的,万变不离其宗。

一、.NET程序部署机制

    上篇博客稍微总结了下.NET程序的编译机制,下面了解些有关程序部署的一些机制。在.NET程序包下有三个文件夹分别是bin文件、obj文件、My Project文件,他们分别封存着程序的组成部分。
    bin目录用来存放程序的编译结果,它有DebugRelease两个版本,分别对应的文件夹为bin/Debug和bin/Release,这个文件夹是默认的输出路径,在编译后生成的程序文件会存放在该目录下。当然我们也可以手动修改程序的输出路径,修改方法:项目属性—>配置属性—>输出路径来修改。
    obj目录是用来保存每个模块的编译结果,用来放置程序生成时的中间文件。程序不会直接生成出可用的文件,而是由源程序生成中间文件,再编译中间文件生成可执行文件的。在.NET中,编译是分模块进行的,编译整个完成后会合并为一个.DLL或.EXE保存到bin目录下。因为每次编译时默认都是采用增量编译,即只重新编译改变了的模块,obj保存每个模块的编译结果,用来加快编译速度。是否采用增量编译,可以通过:项目属性—>配置属性—>高级—>增量编译来设置。
    My Project目录定义你程序集的属性,被称为项目属性文件夹。目录下的AssemblyInfo类文件,用于保存程序集的信息,如名称,版本等,这些信息一般与项目属性面板中的数据对应,不需要手动编写。
    在程序编译生成后,程序的源文件就不在重要了,重要的是DLL、EXE、Config等的程序的组件,有了程序的组件程序就能够正常运行。所以在发布制作安装程序时我们只需要将程序的组件打包即可。

二、InstallShield程序打包图解

    VS2012中打包工具被看做程序集,在使用时和程序集一样被创建到程序解决方案下。需要我们做的是添加项目即可。但是对于初次使用的朋友来说,我们需要根据提示一步步的先下载安装该打包工具。具体的安装方法不再详述,网上资料很多 。

  1、设置安装程序集

    InstallShield安装完成后,执行以下步骤右键解决方案-->添加-->新建项目-->其他项目类型-->安装和部署,具体操作如下图:

 

  2、发布程序

    在继续往下操作前一定要选择发布,在启动项目的属性内设置发布文件夹默认路径设置为安装系统的文件夹。

  3、设置程序安装信息

    Application Information主要设置程序在安装时显示的有关程序的一些信息,如:程序的开发者、程序开发公司,程序安装图标和程序简介等。

  4、添加程序文件

    在下图中的第四步中添加程序文件时会有主输出、源文件等多个选项框,其实它的生成机制和.NET程序的编译机制是相同的。下图中的第五部显示出的UI.主输出,在生成安装文件后程序包中包含了与UI层进行交互引用的其它层的引用文件,但不会生成和UI层(启动层)没有相连的组件,我们只能通过手动添加。

  5、添加程序的资源文件

    程序源文件是程序运行的资源文件,也包含了程序的源码文件。如果不需要打包源文件的话,这步可以省略。

 

  6、设置安装注册文件

           如果开发的程序中使用了第三方控件,这时在安装时往往需要注册到目标系统中,同样Install也为用户提供了此功能。Install能够通过设置dll文件或OCX文件的注册,首先要添加注册的文件,然后通过设置文件的安装属性来指定注册与否,设置如下图。

  7、设计程序的打开方式

    Application Shortcuts 程序快捷打开方式,Install为用户提供了两种显示形式,分别是Win菜单和桌面。下图显示了设置的一些注意项,此阶段也可以设置程序的显示图标。

  8、设置程序安装注册表项

   一般的应用程序在安装时不需要考虑程序的注册表项,此步骤可以不用设置。

  9、设置程序安装时的安装视图

    根据自己的需要进行设计即可。


    
  10、打包环境

    设置完上面的步骤后,我们的打包程序基本设置完成,但是在一些情况下我们往往要打包.net环境或者其它程序运行所需要的Windows环境,Install也为我们很好的设计了环境的打包。

    在选择需要打包的环境时一定要注意文件的名称,一般往往是需要直接将环境安装包放到安装exe中这时我们要选择名称为Client的文件,如我想要将.NET Framework 4.0的完成安装包集成到exe中,这时我要选中Microsoft .NET Framework 4.0 Clinet然后等待Vs将该环境的安装包下载到程序集文件夹中即可。另外一定要注意名称后面的(Web Download)括号的内容说明文件只是一个链接,在安装时需要网络下载才可以实现完成安装。

11、发布程序

           上面的安装步骤执行完成后即可生成解决方案,但是生成的文件会放在DVD-5文件夹内,想要使用安装文件的话就必须拷贝整个文件夹否则安装会出错,这样内容很繁琐,而且给客户的安装体验度也很差,那应该有其它的解决办法吧,是的,如下图所示,我们将使用SingleImage的安装包,将所有文件集成到一个Setup.exe中,再次安装的时候只需要一个Setup.exe即可。

 

           如果我们的安装文件内没有打包程序运行环境那上面的操作步骤就完全可以满足只需要一个Setup.exe即可的要求了,但如果需要将安装环境打包到Setup.exe中的话还必须要经过下图的步骤。

 

      好了设置完成后,接下来就是生成解决方案了或者是只生成单个程序集,这时候安装文件就只有一个setup.exe了,如下图。

    操作完上述步骤后,程序打包基本设置已经完成,接下来要做的就是生成解决方案。生成解决方案后会在安装程序集下面生成一个名为Setup的文件夹,安装文件就保存在下面的目录中。Install在生成安装文件后会有Setup.exe和.msi两中安装文件,exe文件是安装的引导文件,核心文件是msi文件,里面封存了程序的组件。在里面找到Setup.exe文件及msi文件即可进行安装。

    最后还要强调一点,Install打包工具中并没有继承中文环境,在它的底层语言库中没有中文语言,所以解决方案、程序集名称等涉及到与主输出相关的文件最好不要以中文名命名,否则会出现如下的错误:“ -7184: The FileName column of the File table includes characters that are not available on code page 1252”,该错误是在说明在代码段1252处没有发现和文件名相关的语言库。

    万变不离其宗,微软的Install程序打包工具虽然使用时较繁琐,但原始的就是最高级的,其它的打包工具和它相比也差不到哪儿去。

分享到:
评论

相关推荐

    vs2012程序打包部署详解

    vs2012制作安装程序详解,打包部署。

    vs2012下qt程序打包详解

    vs2012环境下qt程序打包详解, 详解整个程序打包部署。

    VS2012 程序打包部署图文详解

    【VS2012程序打包部署】在Visual Studio 2012中,打包工具并未集成在标准安装中,这与之前的版本有所不同。不过,微软为开发者提供了一个名为InstallShield的插件,允许用户手动安装以实现程序的打包和部署功能。...

    vs2010打包winform程序详解

    这个过程包括添加安装和部署项目、配置应用程序文件夹、创建快捷方式、更改安装目录、包含.NET Framework、添加卸载功能以及将安装程序打包成单一的可执行文件。 1. **添加安装和部署项目**: 首先,你需要打开你...

    c#_VS应用程序打包发布

    【C# VS应用程序打包发布】是指使用Visual Studio (VS)工具将C#开发的应用程序打包成可供用户安装的软件包的过程。这个过程涉及到确保应用程序所有依赖的组件都被包含在内,以便用户能够在没有这些组件的计算机上...

    .net程序打包与部署

    ### .NET程序打包与部署详解 #### 一、创建部署项目 在.NET程序开发完成后,为了便于分发和安装,我们需要将其打包成一个易于安装的形式。这个过程通常涉及到创建一个部署项目。 1. **选择“文件”** → **新建...

    VS2005程序打包教程

    ### VS2005程序打包教程详解 #### 一、引言 对于.NET开发者来说,完成软件开发后的最后一道工序——程序打包,是一项至关重要的任务。不仅因为它涉及到软件的最终交付形态,更因为它直接关系到用户体验的好坏。...

    VS2013打包部署Winform程序

    **VS2013打包部署Winform程序详解** 在软件开发过程中,将应用程序打包成可分发的安装程序是至关重要的一步。Visual Studio 2013 提供了一种便捷的方式来打包和部署 Windows Forms(Winform)应用程序。下面将详细...

    winform程序打包部署

    ### WinForm程序打包部署概述 在开发过程中,WinForm应用程序由多个组成部分构成,包括但不限于主执行文件(.exe)、资源文件、依赖库(.dll)等。这些文件在开发环境中能够顺利运行,但在部署到生产环境或用户机器...

    vs2010打包发布程序详解

    本篇文章详细介绍了如何使用VS2010自带的打包工具创建安装项目,包括设置安装和部署、配置应用程序文件夹、创建快捷方式、更改安装目录、集成.NET Framework、添加卸载功能,以及最终将所有内容打包成单一的.exe可...

    VS2008打包详解

    ### VS2008程序打包详解 #### 一、引言 在软件开发过程中,将开发完成的应用程序打包成安装程序是一项重要的工作。这不仅能够方便用户安装和使用软件,还能帮助开发者更好地管理和分发其产品。对于使用Visual ...

    winform打包和部署

    ### WinForm程序打包与部署详解 #### 一、概述 在软件开发过程中,尤其是在使用WinForm进行桌面应用程序开发时,最终需要将开发完成的应用程序打包成安装程序,以便于用户能够在未安装.NET Framework的计算机上...

    .net timer 定时程序 打包部署

    《.NET Timer定时程序的创建与打包部署详解》 在.NET框架中,Timer类是用于实现定时触发事件的重要工具,广泛应用于各种需要周期性执行任务的场景。本篇文章将深入探讨如何利用C#语言和Timer类创建定时程序,并详细...

    c#打包部署步骤 非常详细

    ### C# 打包部署步骤详解 #### 一、前言 在软件开发过程中,将开发好的应用程序打包成可安装的格式是必不可少的一个环节。本文将详细介绍如何在Visual Studio 2005环境中进行C#应用程序的打包部署,具体包括安装...

    c#winform程序打包c#winform程序打包部署知识.pdf

    ### C# WinForm程序打包与部署知识详解 #### 一、引言 在软件开发过程中,将开发完成的应用程序打包并进行部署是一项重要的工作。对于使用C#开发的WinForm程序来说,正确地进行程序打包不仅可以提升用户体验,还能...

    c#winform程序打包c#winform程序打包部署收集.pdf

    在软件开发过程中,将编写好的程序打包成可发布的安装包是一项重要的工作。对于C# WinForm应用程序而言,这一过程同样不可或缺。本文将详细介绍如何使用Visual Studio对C# WinForm应用程序进行打包和部署,确保最终...

    Vs2010程序和数据库打包成安装文件

    ### Vs2010程序和数据库打包成安装文件的知识点详解 #### 一、背景介绍 在软件开发过程中,为了方便用户的安装与部署,通常会将应用程序及其依赖资源(如数据库)打包成一个完整的安装包。对于使用Visual Studio ...

Global site tag (gtag.js) - Google Analytics