再分发 .NET Framework 1.1

 

再分发 .NET Framework 1.1


Microsoft Corporation
2003年5月

 

本文档作为 Microsoft Visual Studio .NET 2003、Visual Basic .NET、Visual C++ .NET、Visual C# .NET、Visual J# .NET 和/或 Microsoft .NET Framework SDK 1.1 版(它们都是“Microsoft 开发人员工具”)的组成部分,专门供您在分发或内部部署 Microsoft .NET Framework 可再分发文件 (Dotnetfx.exe) 时使用。

对于本文档中的内容,Microsoft 可能拥有专利、专利应用、商标、版权或其他知识产权权利。除非 Microsoft 的书面许可协议中有明确规定,否则拥有本文档并不表示您拥有这些专利、商标、版权或其他知识产权的许可证。有关分发或内部部署 Dotnetfx.exe 的信息,请参阅 Microsoft 开发人员工具附带的最终用户许可协议。

© 2003 Microsoft Corporation 版权所有。保留所有权利。

摘要:针对 .NET Framework 1.1 版编写的应用程序和控件要求在运行该应用程序或控件的计算机上安装 .NET Framework 可再分发程序包 1.1 版。.NET Framework 可再分发程序包是一个独立的可执行文件 Dotnetfx.exe。本文介绍从何处获得 Dotnetfx.exe 以及如何使用它来部署 .NET Framework 应用程序。

注意:如果选择使用 Dotnetfx.exe 或与创建的应用程序一起分发该程序包,必须具有 Microsoft .NET Framework SDK(或 Visual Studio .NET)的一份有效许可,而且使用或分发 Dotnetfx.exe 均需要遵守 Microsoft .NET Framework SDK(或 Visual Studio .NET)附带的最终用户许可协议条款。如果没有 Microsoft .NET Framework SDK(或 Visual Studio .NET)的有效许可,就无权使用和分发 Dotnetfx.exe

目录

简介

Microsoft® .NET Framework 1.1 版提供了一个可再分发的安装程序,其中包含运行 .NET Framework 应用程序所必需的公共语言运行库和 .NET Framework 组件。.NET Framework 可再分发程序包是一个独立的可执行文件 Dotnetfx.exe。.NET Framework 需要许可协议来赋予您再分发 Dotnetfx.exe 的权限。如果您已经安装了 .NET Framework SDK 1.1 版、Microsoft Visual Studio® .NET 2003 或从 Web 上下载了 Dotnetfx.exe,则您已经接受 Dotnetfx.exe 的许可协议。有关许可协议的条款,请参阅 .NET Framework Redistributable EULA(英文)。

您可以在计算机上手动启动和安装 Dotnetfx.exe,也可以将其作为 .NET Framework 应用程序的安装程序的组成部分来启动和安装。请注意,必须具有管理员权限才能安装 Dotnetfx.exe。如果已经安装了 Microsoft Visual Studio .NET 2003,则无需再安装 Dotnetfx.exe。

除了本白皮书以外,还可以从 .NET Framework 1.1 Deployment Guide 中获得有关部署 Dotnetfx.exe 的信息。此 Web 站点提供了详细的部署信息,其中包含的白皮书为 Visual Studio .NET 用户提供了具体的部署方案。

要安装 Dotnetfx.exe,必须满足最低配置要求。有关软件和硬件要求及建议的更多信息,请参阅最低配置要求

从何处获得 .NET Framework 可再分发程序包

下载 Dotnetfx.exe(英文),或从 Microsoft® Windows Update(英文)Web 站点下载。

也可以在产品 CD 或 DVD 上获得可再分发程序包。Dotnetfx.exe 可从 .NET Framework SDK CD 上根目录中的 dotNETRedist 目录获得。可以在 Microsoft® Visual Studio® .NET Prerequisites CD 上的 \dotNetFramework 目录中找到 Dotnetfx.exe,也可以在 Microsoft Visual Studio® .NET DVD 上的 \wcu\dotNetFramework 目录中找到该文件。

MSDN 上的 .NET Framework SDK(英文)页包含有关如何订购这些产品的信息。

如果需要让用户从 Internet 安装 .NET Framework,请勿发布 .NET Framework 可再分发程序包,而应该将用户定向到 Microsoft Windows Update(英文)Web 站点。

Dotnetfx.exe 部署方案

本节为 .NET Framework SDK 用户提供有关使用 Dotnetfx.exe 来再分发 .NET Framework 的部署方案。提供的方案包括:使用一种电子软件分发工具来部署 Dotnetfx.exe,从网络共享、Intranet 或 Microsoft Web 站点上的下载位置手动安装 Dotnetfx.exe,以及使用 Setup.exe 自动运行程序示例来创建一个同时安装 Dotnetfx.exe 和 .NET Framework Framework 应用程序的安装项目。由于 Dotnetfx.exe 是一个重要的运行时组件,因此必须具有管理员权限才能在计算机上安装该文件。

使用电子软件分发工具来分发 Dotnetfx.exe

部署 .NET Framework 应用程序的企业将会发现,将 .NET Framework 一次性部署到所有用户的计算机要比将其包括在需要它的各个应用程序中容易。各种电子分发工具都可用于部署 Dotnetfx.exe,而且,如有必要,还可以在一个安全网络中部署 MDAC 2.6 或更高版本。使用任何工具分发 Dotnetfx.exe 时都需要满足两个要求:

  1. 该工具必须能够在远程计算机上运行远程安装。
  2. 该工具必须能够使用管理员权限运行。

下一节介绍如何使用 Microsoft Systems Management Server (SMS) 和 Microsoft Active Directory® 在网络中部署 .NET Framework 可再分发程序包。

使用 Systems Management Server 部署 .NET Framework

Systems Management Server (SMS) 使您可以利用管理权限在网络中部署软件。本节介绍使用 SMS 在网络中为 Dotnetfx.exe 部署 Windows Installer 安装程序包的具体过程。有关 SMS 产品的其他信息和文档,请参阅 Systems Management Server 主页(英文)和 Deploying Windows Installer Setup Packages with Systems Management Server 2.0(英文)。

另外,在计算机上安装 .NET Framework 时,必须满足最低配置要求。有关具体的软件和硬件要求及建议,请参阅最低配置要求

在网络管理员确信要安装 Dotnetfx.exe 的所有联网计算机都满足最低配置要求后,必须在 SMS 服务器上执行以下五项任务及其各个过程。必须按照此处的顺序执行这些过程。

首先,解压缩将用于部署 .NET Framework 的 Dotnetfx.exe 文件。

解压缩 Dotnetfx.exe 文件以部署 .NET Framework

  1. 将 Dotnetfx.exe 下载到本地计算机上 C:\ 驱动器的根目录中。
  2. 打开一个命令提示符。
  3. 将目录更改到 C:\ 驱动器的根目录。
  4. 在命令提示符处键入 mkdir dotnetfx,创建一个目录以将 Dotnetfx.exe 复制到该目录。
  5. 在命令提示符处键入 dotnetfx.exe /T:c:\dotnetfx /C,将文件解压缩到 dotnetfx 目录。
  6. 关闭命令提示符窗口。
  7. 在 Windows 资源管理器中定位到 C:\dotnetfx 文件夹,并验证文件已被解压缩。
  8. 将 dotnetfx 文件夹及其所有内容移到用于部署的服务器中。

将 dotnetfx 文件夹移到适当的部署位置之后,下一步就是为 .NET Framework 创建一个 Active Directory 程序包。

创建 .NET Framework 程序包

  1. 打开 SMS 管理员控制台。单击“开始”,指向“程序”,并选择 Systems Management Server
  2. 展开 Site Database(站点数据库)节点,并在 Site Database(站点数据库)树中右击 Packages(程序包)节点。
  3. Action(操作)菜单中,指向 New(新建),并选择 Package(程序包)。将显示 Package Properties(程序包属性)对话框。
  4. Package Properties(程序包属性)对话框中,单击 General(常规)选项卡,并按以下方式填写信息:

    Name(名称):.NET Framework
    Version(版本):1.1.4322
    Publisher(发行商):Microsoft
    Language(语言):英语

  5. Package Properties(程序包属性)对话框中,单击 Data Source(数据源)选项卡。
  6. 单击 This package contains source files(此程序包包含源文件)复选框。
  7. 单击 Always obtain files from source directory(始终从源目录获取文件)选项按钮。
  8. 单击 Set...(设置)按钮。将显示 Set Source Directory(设置源目录)对话框。
  9. Set Source Directory(设置源目录)对话框中,单击 Local drive on site server(站点服务器上的本地驱动器)或 Network Path (UNC Name)(网络路径 [UNC 名称])选项按钮(这取决于希望如何共享可部署程序)。
  10. 单击 Browse...(浏览)按钮。将显示 Browse for Folder(浏览文件夹)对话框。
  11. 选择 C:\DotNetFx 目录,或者提供以前解压缩文件时所用的服务器位置 (\\<servername>\<foldername>)。
  12. Browse for Folder(浏览文件夹)对话框中,单击 OK(确定)。
  13. Set Source Directory(设置源目录)对话框中,单击 OK(确定)。
  14. Package Properties(程序包属性)对话框中,单击 OK(确定)。

接下来,为 .NET Framework 程序包创建一个 .NET Framework 程序。每个 SMS 程序包至少包含一个 SMS 程序,该程序是一个命令行程序,每个目标计算机上都需要运行该程序来控制程序包的执行。

为 .NET Framework 程序包创建程序

  1. 展开 Packages(程序包)节点下的 Microsoft .NET Framework <version#>English(Microsoft .NET Framework <version#> 中文版)节点。
  2. 右击 Programs(程序),指向 New(新建),并选择 Program(程序)。将显示 Program Properties(程序属性)对话框。
  3. Program Properties(程序属性)对话框中,单击 General(常规)选项卡,并按以下方式填写信息:

    Name(名称):.NET Framework 程序
    Command line(命令行):msiexec /i netfx.msi /q ARPSYSTEMCOMPONENT=1

    可选参数 ARPNOREMOVE=1

  4. Program Properties(程序属性)对话框中,单击 Environment(环境)选项卡。
  5. 清除 User input required(需要用户输入)复选框。
  6. 在具有管理权限的情况下单击选项按钮 Run(运行)。
  7. 单击 OK(确定)。

接下来,为 .NET Framework 程序包创建分发点。SMS 分发点在站点系统上是共享的,其中复制的程序包源文件可以被客户端计算机访问。

创建 .NET Framework 分发点

  1. 右击 Microsoft .NET Framework <version#>English(Microsoft .NET Framework <version#> 中文版)节点下的 Distribution Points(分发点)。
  2. 选择 New(新建),并选择 Distribution Points(分发点)。将出现 New Distribution Points Wizard(新建分发点向导)对话框。
  3. New Distribution Points Wizard(新建分发点向导)对话框中,单击 Next(下一步)按钮。
  4. 选择要将 .NET Framework 程序包复制到其中的分发点。
  5. 单击 Finish(完成)开始分发。

最后,为 .NET Framework 程序创建一个广告。广告指定了客户端计算机可以使用的程序、将接收广告的计算机和计划安装程序的时间。

创建 .NET Framework 广告

注意:创建工作分配之前,可以设置一项计划,来帮助设置何时在目标计算机上部署程序包。可以通过转到 Schedule(计划)选项卡并为当前时间创建一个强制工作分配来设置此时间(也可以以后再安排此时间)。
  1. Site Database(站点数据库)树中,右击 Advertisements(广告)节点。
  2. 选择 New(新建),并选择 Advertisement(广告)。将显示 Advertisement Properties(广告属性)对话框。
  3. Advertisement Properties(广告属性)对话框的 General(常规)选项卡中按以下方式填写信息:
    • Name(名称)段中键入“.NET Framework 广告”。
    • Package(程序包)下拉列表中选择 Microsoft .NET Framework <version#>English(Microsoft .NET Framework <version#> 中文版)。
    • Program(程序)下拉列表中选择 .NET Framework Program(.NET Framework 程序)。
  4. 单击 Browse...(浏览)按钮,并选择要在其上部署 .NET Framework 的适当计算机集合。
  5. 单击 OK(确定)。

使用 Active Directory 部署 .NET Framework

Active Directory 使您在具有管理权限的情况下可以在网络中部署软件。本节介绍使用 Active Directory 在网络中为 Dotnetfx.exe 部署 Windows Installer 安装程序包的具体过程。有关 Active Directory 产品的其他信息和文档,请参阅 Active Directory(英文)主页。

要在具有管理员权限的情况下部署 .NET Framework 可再分发程序包 Dotnetfx.exe,必须从 Dotnetfx.exe 文件解压缩 Windows Installer 文件 netfx.msi。netfx.msi 是用于部署 .NET Framework 的文件。

在 Active Directory 客户端计算机上安装 Windows Installer 安装程序包之前,客户端计算机必须安装有 Windows Installer 安装服务。本节介绍的过程假定在部署 Dotnetfx.exe 之前,所有客户端计算机上都安装了 Windows Installer 2.0。可以从 Microsoft Download Center(英文)下载 Windows Installer 2.0。请注意,这些安装程序文件不是为使用 Active Directory 进行部署而设计的。可以逐个将它们安装在每台计算机上,也可以使用 Systems Management Server 进行电子安装。

另外,在计算机上安装 .NET Framework 时,必须满足最低配置要求。有关具体的软件和硬件要求及建议,请参阅最低配置要求

在网络管理员确信要安装 Dotnetfx.exe 的所有联网计算机都满足最低配置要求后,请按照此处的顺序执行以下任务及其各个过程。

首先,解压缩将用于部署 .NET Framework 的 Dotnetfx.exe 文件。

解压缩 Dotnetfx.exe 文件,以部署 .NET Framework

  1. 将 Dotnetfx.exe 下载到本地计算机上 C:\ 驱动器的根目录中。
  2. 打开一个命令提示符。
  3. 将目录更改为 C:\ 驱动器的根目录。
  4. 在命令提示符处键入 mkdir dotnetfx,创建一个目录以将 Dotnetfx.exe 复制到该目录。
  5. 在命令提示符处键入 dotnetfx.exe /T:c:\dotnetfx /C,将文件解压缩到 dotnetfx 目录。
  6. 关闭命令提示符窗口。
  7. 在 Windows 资源管理器中定位到 C:\dotnetfx 文件夹,并验证文件已被解压缩。
  8. 将 dotnetfx 文件夹及其所有内容移到用于部署的服务器中。

将 dotnetfx 文件夹移到适当的部署位置之后,下一步就是为 .NET Framework 创建一个 Active Directory 程序包。

在 Active Directory 中创建 .NET Framework 程序包

  1. 单击“开始”按钮,指向“程序”,然后单击“管理工具”。单击 Active Directory Users and Computers(Active Directory 用户和计算机)。将显示 Active Directory Users and Computers(Active Directory 用户和计算机)树。
  2. 右击该树顶部的域节点。在快捷菜单上单击 Properties(属性)。将显示 Properties(属性)对话框。
  3. 单击 Group Policy(组策略)选项卡。
  4. 单击 Edit(编辑)按钮。将显示一个窗口,其中包含 Default Domain Policy(默认域策略)树。
  5. 选择如何指定软件时,有两种可以选择的方案。可以在 Group Policy(组策略)中选择 Computer Configuration(计算机配置)节点来设置应用到计算机的策略,而不考虑登录到这些计算机的用户。也可以在 Group Policy(组策略)中选择 User Configuration(用户配置)节点来设置应用到用户的策略,而不考虑登录的计算机。为了举例说明,请选择并展开 User Configuration(用户配置)节点。展开 User Configuration(用户配置)节点下的 Software Settings(软件设置)文件夹。
    注意:请确保映射到 Active Directory 服务器上的共享位置,否则,Active Directory 服务器不会允许您创建用于安装的程序包。

  6. 右击 Software installation(软件安装)。指向 New(新建),然后在快捷菜单上单击 Package(程序包)。
  7. 将显示一个对话框,提示您提供用于该程序包的 Windows Installer 文件 (.msi) 的路径。浏览到其中复制有 dotnetfx 文件夹的位置,并单击 netfx.msi 文件。
  8. 选择 Advanced Published or Assigned(高级发布或指定)选项,并单击 OK(确定)按钮。
  9. 将显示一个窗口,可以在其中选择自动安装或发布软件。如果选择 Auto Install(自动安装),就会在域中的每台计算机上自动安装该软件。如果选择 Publish(发布),软件将被添加到可用产品列表,但不会被安装,除非用户选择安装该软件。修改所有必需项目之后,单击 OK(确定)按钮。
  10. 退出 Active Directory Users and Computers(Active Directory 用户和计算机)控制台。
  11. 另外,如果在 Group Policy(组策略)中选择了 User Configuration(用户配置)节点来设置应用到用户的设置(不考虑登录的计算机),请执行以下步骤:
    1. 右击 Software installation(软件安装)。指向 New(新建),然后在快捷菜单上单击 Package (程序包)。
    2. 将显示一个对话框,提示您提供用于该程序包的 Windows Installer 文件 (.msi) 的路径。浏览到其中复制有 dotnetfx 文件夹的位置,并单击 netfx.msi 文件。
    3. 选择 Advanced Published or Assigned(高级发布或指定)选项,并单击 OK(确定)按钮。
    4. 将显示一个窗口,可以在其中选择自动安装或发布软件。如果选择 Auto Install(自动安装),就会在域中的每台计算机上自动安装该软件。如果选择 Publish(发布),软件将被添加到可用产品列表,但不会被安装,除非用户选择安装该软件。修改所有必需项目之后,单击 OK(确定)。
    5. 退出 Active Directory Users and Computers(Active Directory 用户和计算机)控制台。

在 Active Directory 中完成 .NET Framework 程序包设置之后,接下来的步骤就是验证该程序包是否可用于安装。

通过组策略设置高级权限

由于 .NET Framework 程序包(就象大多数程序包一样)仅允许计算机的本地管理员安装程序包,因此应该使用高级权限在组策略中对每台计算机播发程序包。

作为管理员,您可以为一个用户、一台计算机或一组用户创建策略。有关创建特殊策略配置文件的更多信息,请参阅系统策略编辑器的“帮助”。此外,有关配置策略的更多信息,请参阅组策略管理单元的“帮助”。

请按照以下步骤为部署 .NET Framework 设置此策略:

  1. 在“开始”菜单上,指向“程序”,再指向“管理工具”,然后单击 Active Directory Users and Computers(Active Directory 用户和计算机)。
  2. 在控制台树中,右击要为其设置策略的域或组织单元。
  3. 单击 Properties(属性),然后单击 Group Policy(组策略)选项卡。
  4. Group Policy Objects Links(组策略对象链接)框中选择一个组策略对象,并单击 Edit(编辑)。
  5. 打开 Local Computer Policy\Administrative Templates\Windows Component\Windows Installer(本地计算机策略\管理模板\Windows 组件\Windows Installer)文件夹。
  6. 在详细信息窗格中,双击 Always install with elevated privileges(始终用高级权限安装)策略。
  7. Group Policy Property(组策略属性)对话框中,启用该策略,选择复选框以打开设置,然后单击 OK(确定)。
  8. 打开 User Configuration\Administrative Templates\Windows Component\Windows Installer(用户配置\管理模板\Windows 组件\Windows Installer)文件夹,并重复步骤 6 和 7。

    可以使用系统策略编辑器和 Windows Installer 策略来设置 Always install with elevated privileges(始终用高级权限安装)策略。

验证已准备好将程序包指定给计算机

在组策略中完成设置 .NET Framework 程序包之后,接下来的步骤就是验证该程序包是否可用于安装。下面是管理员需要在 Active Directory 中如何修改新建立的程序包的说明。

General(常规)选项卡
指定 .NET Framework 程序包后,General(常规)选项卡上就会自动显示有关该程序包的相关信息。
Deployment(部署)选项卡
Deployment(部署)选项卡上,可以选择是发布还是指定 .NET Framework。请注意,如果管理员选择打开 Computer Configuration(计算机配置)下的管理单元,则 Published(发布)选项不可用。
Deployment options(部署选项)下,选择相应的复选框以指定何时以及如何在用户计算机上安装 .NET Framework。可以设置以下选项之一:
  • 当用户打开与 .NET Framework 应用程序关联的文件时,自动安装 .NET Framework。默认情况下,此设置处于选中状态。
  • 对于其他选项,请在组策略的“帮助”中查阅详细信息,并确定我们提供了关于这些方面的内容。
Installation user interface options(安装用户界面选项)下,可以指定安装过程中以多大程度向用户显示 .NET Framework 安装程序。建议的设置(也是默认设置)为 Basic(基本),该设置以无提示方式安装 Redist,不需要任何用户交互。(Basic [基本] 设置对应于 /qb- 命令行选项。)

要设置其他部署选项,请单击 Advanced(高级)。在 Advanced Deployment Options(高级部署选项)对话框中,可以:
  • 指定 Windows 2000 或 .NET Server 应该安装 Redist,即使 Redist 安装语言不同于 Windows 2000 或 .NET Server 的安装语言。
  • 当通过安装和维护组策略软件来部署 Redist 时,请删除非托管 Redist 安装。
Upgrades(升级)选项卡
如果已经在管理 .NET Framework 安装,则可以使用 Upgrades(升级)选项卡来部署该产品的新版本。
Categories(类别)选项卡
将 .NET Framework 与一个类别关联,可以使 .NET Framework 在发布时出现在“控制面板”的“添加/删除程序”中。
Modifications(修改)选项卡
使用 Modifications(修改)选项卡,可以将一个转换(.mst 文件)应用到 .NET Framework(如果有的话)。单击 Add(添加),选择需要的转换,然后单击 Open(打开),以将其添加到 Modifications(修改)选项卡。
请注意,可以添加多个转换,但只能将一个转换应用到某个给定的 .NET Framework 安装,而且只能在指定 .NET Framework 时应用该转换。
Security(安全性)选项卡
Security(安全措施)选项卡显示基于标准 Windows 的安全措施选项。通过使用 ACL 来筛选组策略软件安装,可以精细调节 .NET Framework 部署。

验证 Active Directory 程序包

  1. 登录到该域中的任何计算机。单击“开始”按钮,指向“控制面板”,然后单击“添加/删除程序”。
  2. 单击“添加新程序”按钮。.NET Framework 安装程序包应该出现在可用软件列表中。
  3. 如果 .NET Framework 安装程序包没有出现在可用软件列表中,则 Active Directory 中没有正确配置该程序包。返回到 Active Directory Users and Computers(Active Directory 用户和计算机)控制台,并双击该程序包以重新配置。

如果网络管理员在 Active Directory 中创建 .NET Framework 程序包时选择 Publish(发布)选项,该程序包会被添加到域中的计算机可以使用的软件列表中。希望安装该程序包的用户可以在客户端计算机上按照这些过程执行。

安装 .NET Framework 程序包

  1. 单击“开始”按钮,指向“控制面板”,然后单击“添加/删除程序”。
  2. 单击“添加新程序”按钮。
  3. 在可用软件列表中,选择 .NET Framework 程序包并单击“添加”按钮。这将启动 Microsoft .NET Framework 安装程序。
    注意:启动 Microsoft .NET Framework 安装程序之前,必须在客户端计算机上安装 Windows Installer 2.0。如果没有安装 Windows Installer 2.0,安装程序就会失败。
  4. 当安装程序显示 Microsoft .NET Framework Setup(Microsoft .NET Framework 安装)窗口时,单击 Next(下一步)按钮。
  5. 要继续安装,请单击 Accept(接受)选项按钮,然后单击 Next(下一步)按钮。安装程序将开始复制文件并更新系统。
  6. 安装完成后,安装程序会显示一个对话框。单击 OK(确定)按钮。
注意:要正确卸载 .NET Framework 程序包,也应该使用 Windows“添加/删除程序”选项。

从网络共享或 Intranet 站点手动安装 Dotnetfx.exe

可以将用户定向到网络共享或企业 Intranet 站点上 Dotnetfx.exe 的下载位置。用户可以在要部署和运行 .NET Framework 应用程序的计算机上运行和安装 Dotnetfx.exe。请注意,要安装 Dotnetfx.exe,必须具有计算机的管理员权限。

还建议为包含数据访问的任何应用程序安装 MDAC 2.6 或更高版本。可从 Universal Data Access(英文)Web 站点下载 MDAC。

从 Microsoft Web 站点手动安装 Dotnetfx.exe

可以将用户定向到 Microsoft Download Center(英文)上 Dotnetfx.exe 的下载位置,或 Microsoft Windows Update(英文)Web 站点上的某个位置。用户可以在要部署和运行 .NET Framework 应用程序的计算机上运行和安装 Dotnetfx.exe。请注意,要安装 Dotnetfx.exe,必须具有计算机的管理员权限。

.NET Framework 还要求为包含数据访问的任何应用程序安装 MDAC 2.6 或更高版本。可从 Universal Data Access(英文)Web 站点下载 MDAC。

无提示安装取消显示整个用户界面以及 Dotnetfx.exe 和 Install.exe(包含在 Dotnetfx.exe 中)返回的错误消息。为无提示安装指定 /q:a/q 选项可带来标准化用户安装体验。指定 /l 选项可以在记录所有错误的 %temp% 目录中创建一个安装日志文件 netfx.log

创建一个安装 .NET Framework 应用程序和 Dotnetfx.exe 的安装项目

Setup.exe 自动运行程序示例的目的是显示如何创建一个安装程序,启动时,该安装程序会安装 .NET Framework 可再分发程序包 Dotnetfx.exe,如有必要,再安装 .NET Framework 应用程序。此示例自动运行 Dotnetfx.exe 以及一个 .NET Framework 应用程序的基于 Microsoft Windows Installer 的安装程序(.msi 文件)。此示例采用非托管代码编写,因为它必须能够在没有安装 .NET Framework 的计算机上运行。可以下载 Setup.exe(英文)的预编译版本。

.NET Framework 要求为包含数据访问的任何应用程序安装 MDAC 2.6 或更高版本。Microsoft 提供 MDAC_typ.exe,这是一个独立的可执行文件,运行该文件可以安装 MDAC。可以从 Universal Data Access(英文)Web 站点下载该文件。对于包含数据访问的 .NET Framework 应用程序,可以扩展 Setup.exe 自动运行程序示例,在检查存在注册表项 HKLM\SOFTWARE\Microsoft\DataAccess(其中 FullInstallVer 的值为 2.6 或更高版本)之后,无提示安装 MDAC_typ.exe。可以从 Install DCOM and MDAC Through a Windows Installer Package(英文)下载一个示例可执行文件,该文件将 MDAC 安装封装在一个 Windows Installer 程序包(.msi 文件)中。

Setup.exe 自动运行程序示例执行以下操作:

  1. 检查目标计算机上是否安装了 .NET Framework 1.1 版。
  2. 如果没有安装指定的版本,Setup.exe 自动运行程序示例将启动 Dotnetfx.exe 安装,如有必要,还会升级到 Windows Installer 2.0。可能需要重新启动计算机。
  3. 检查是否安装了任何指定的 .NET Framework 1.1 语言包。
  4. 如果未安装指定的语言包,将启动必需的语言包安装。
  5. 安装宿主 .NET Framework 应用程序。如果需要重新启动计算机,将会阻止重新启动,直到安装完宿主应用程序。
注意:Setup.exe 自动运行程序示例不检查常见错误代码。Setup.exe 自动运行程序只启动 .NET Framework 1.1 安装程序,如有必要,还会安装 settings.ini 文件确定的任何附带的语言包。所有安装都处于完全 UI 模式,而且会向用户显示 .NET Framework 1.1 版安装程序或语言包安装程序遇到的任何错误或问题。

检测是否安装了 .NET Framework 1.1

Setup.exe 自动运行程序示例演示包装安装程序时使用的代码,以验证是否安装了 .NET Framework。

注意:将在同一注册表项中检查 Dotnetfx.exe 的所有版本,而不考虑语言。因此,如果要用某种特定的语言来显示对话框,则应该使用相应的 Dotnetfx.exe 版本。当决定要使用的 Dotnetfx.exe 版本时,无需对 settings.ini 文件进行任何更改。

Setup.exe 自动运行程序示例使用以下注册表项来检测 .NET Framework 1.1 版。

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322

然后检验条目值是否存在:

Install (DWORD value = 1)

用下表中的注册表项检测 .NET Framework 1.1 版语言包:

中文(简体)语言包
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322\2052
            
Install (DWORD value = 1)
中文(繁体)语言包
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322\1028
            
Install (DWORD value = 1)
捷克语语言包
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322\1029
            
Install (DWORD value = 1)
丹麦语语言包
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322\1030
            
Install (DWORD value = 1)
荷兰语语言包
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322\1043
            
Install (DWORD value = 1)
芬兰语语言包
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322\1035
            
Install (DWORD value = 1)
法语语言包
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322\1036
            
Install (DWORD value = 1)
德语语言包
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322\1031
            
Install (DWORD value = 1)
希腊语语言包
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322\1032
            
Install (DWORD value = 1)
匈牙利语语言包
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322\1038
            
Install (DWORD value = 1)
意大利语语言包
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322\1040
            
Install (DWORD value = 1)
日语语言包
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322\1041
            
Install (DWORD value = 1)
朝鲜语语言包
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322\1042
            
Install (DWORD value = 1)
挪威语语言包
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322\1044
            
Install (DWORD value = 1)
波兰语语言包
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322\1045
            
Install (DWORD value = 1)
葡萄牙语(巴西)语言包
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322\1046
            
Install (DWORD value = 1)
葡萄牙语(葡萄牙)语言包
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322\2070
            
Install (DWORD value = 1)
俄语语言包
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322\1049
            
Install (DWORD value = 1)
西班牙语语言包
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322\3082
            
Install (DWORD value = 1)
瑞典语语言包
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322\1053
            
Install (DWORD value = 1)
土耳其语语言包
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322\1055
            
Install (DWORD value = 1)

调用某个应用程序的 MSI 安装程序,并阻止重新启动,直到安装完该应用程序

以下命令调用宿主应用程序 myapp.msi 的 MSI 安装程序。REBOOT=ReallySuppress 选项阻止计算机重新启动,直到安装完 myapp

msiexec /i myapp.msi REBOOT=ReallySuppress

请注意,Setup.exe 自动运行程序示例不需要检查宿主应用程序 myapp 或 Dotnetfx.exe 生成的错误代码,因为这不是无提示安装,会通过 Windows Installer 用户界面向用户显示所有错误。

创建 settings.ini 文件

Setup.exe 自动运行程序示例使用一个外部文件 settings.ini 来确定以下信息:

  • Dotnetfx.exe 和宿主应用程序的位置
  • 要安装的语言包
  • 用于 Setup.exe 对话框的自定义字符串

默认情况下,settings.ini 与 Setup.exe 位于同一个文件夹。可以复制 Setup.exe 自动运行程序示例附带的 settings.ini 文件,然后根据需要编辑该文件,从而为应用程序指定正确的值。

指定 Dotnetfx.exe 和宿主应用程序的位置

Setup.exe 自动运行程序示例要求 Dotnetfx.exe 和宿主 .NET Framework 应用程序位于相对于 Setup.exe 的一个已知位置。Setup.exe 自动运行程序假定 Dotnetfx.exe 与 Setup.exe 位于同一个目录中。

settings.ini 文件的以下多个示例说明:对于位于各种位置(相对于 Setup.exe 的位置)的宿主 .NET Framework 应用程序和 Dotnetfx.exe,如何指向它们的 Windows Installer 程序包(.msi 文件)。

以下示例 settings.ini 文件指向 .NET Framework 应用程序 mySetup.msiDotnetfx.exe 的 Windows Installer 程序包,这两个文件与 Setup.exe 位于同一个文件夹。

[Bootstrap]
Msi=mySetup.msi
ProductName= My Application
DialogText=
CaptionText=My Application
ErrorCaptionText= My Application Error
FxInstallerPath=c:\myProjectFolder\

以下示例 settings.ini 文件指向 .NET Framework 应用程序 mySetup.msiDotnetfx.exe 的 Windows Installer 程序包,这两个文件与 Setup.exe 位于不同的网络共享。

[Bootstrap]
Msi=\\myNetworkShare\myProjectFolder\mySetup.msi
ProductName=My Application
'DialogText=
CaptionText=My Application
ErrorCaptionText= My Application Error
FxInstallerPath=\\myNetworkShare\myProjectFolder\

以下示例 settings.ini 文件指向 .NET Framework 应用程序 mySetup.msiDotnetfx.exe 的 Windows Installer 程序包,这两个文件与 Setup.exe 位于相同的计算机但位于不同文件夹。

[Bootstrap]
Msi=c:\myInstallerFiles\mySetup.msi
ProductName= My Application
'DialogText=
CaptionText=My Application
ErrorCaptionText= My Application Error
FxInstallerPath=c:\myExecutables\

以下示例 settings.ini 文件指向 .NET Framework 应用程序 mySetup.msiDotnetfx.exe 的 Windows Installer 程序包,这两个文件与 Setup.exe 位于相同的 CD 但位于不同文件夹。

[Bootstrap]
Msi=myInstallerFiles\mySetup.msi
ProductName= My Application
'DialogText=
CaptionText=My Application
ErrorCaptionText= My Application Error
FxInstallerPath=myExecutables\

指定要安装的语言包

如果要安装 .NET Framework 1.1 版和语言包,需要在 settings.ini 文件的 [LangPacks] 段中进行指定。指定要安装哪种语言的方法是列出区域设定标识符 (LCID)。

除了指定选择的 LCID,还需要在放置 Dotnetfx.exe 的目录中创建一个文件夹,该文件夹以 settings.ini 文件中列出的 LCID 名称命名。例如,要安装日语语言包,需要在 [LangPacks] 段中列出 LCID 1041,还需要在 Dotnetfx.exe 所处的目录中创建一个名为 1041 的文件夹。可以使用同一个 settings.ini 文件安装多个语言包。

下表列出可用语言版本以及要在 settings.ini 文件中指定的 LCID。

语言 LCID
中文(简体) 2052
中文(繁体) 1028
捷克语 1029
丹麦语 1030
荷兰语 1043
芬兰语 1035
法语 1036
德语 1031
希腊语 1032
匈牙利语 1038
意大利语 1040
日语 1041
朝鲜语 1042
挪威语 1044
波兰语 1045
葡萄牙语(巴西) 1046
葡萄牙语(葡萄牙) 2070
俄语 1049
西班牙语 3082
瑞典语 1053
土耳其语 1055

示例中包含的 settings.ini 文件具有所有受支持的语言包和 [LangPacks] 段中列出的相应 LCID。如果要安装某个语言包,只需删除所选 LCID 周围的所有字符,并仅列出所需的 LCID。

以下示例 settings.ini 文件指导 Setup.exe 检查法语语言包。

[Bootstrap]
Msi=mySetup.msi
ProductName= My Application
'DialogText=
CaptionText=My Application
ErrorCaptionText= My Application Error
FxInstallerPath=c:\myProjectFolder\
[LangPacks]
1036

为 Setup.exe 对话框自定义字符串

可以在 settings.ini 文件中编辑以下变量,以自定义 Setup.exe 对话框中显示的字符串。

ProductName
指定 Setup.exe 将安装的 .NET Framework 应用程序的名称。指定的产品名称用于自定义启动 Setup.exe 之后出现的对话框中的文字。例如,如果指定“我的应用程序”作为 ProductName,对话框文字显示为:“要启动‘我的应用程序安装程序’,请单击‘确定’。要退出而不进行安装,请单击‘取消’。”

如果不自定义 CaptionText 变量,ProductName 还用于自定义启动 Setup.exe 之后出现的对话框的标题。例如,如果指定“我的应用程序”作为 ProductName,标题栏将显示“我的应用程序安装程序”。如果同时自定义了 ProductName 和 CaptionText,则 CaptionText 用于自定义此对话框中的标题栏文字。

ProductName 还用于自定义应用程序完成安装时显示的成功对话框中的标题栏文字。如果不自定义 ProductName,就会显示默认文字“应用程序的安装程序”。

DialogText
指定启动 Setup.exe 之后出现的对话框中显示的自定义文字。如果不自定义 DialogText,就会显示默认文字:“要启动‘应用程序的安装程序’,请单击‘确定’。要退出而不进行安装,请单击‘取消’。”
CaptionText
指定启动 Setup.exe 之后出现的对话框的标题栏中显示的自定义文字。如果不自定义 CaptionText,就会显示 ProductName。如果没有自定义 ProductName,就会显示默认文字“应用程序的安装程序”。
ErrorCaptionText
指定 Setup.exe 错误对话框的标题栏中显示的自定义文字。如果不自定义 ErrorCaptionText,就会显示默认文字“应用程序的安装错误”。

为安装程序创建一个自述文件

建议在分发安装程序时提供一个自述文件,用该文件列出可成功运行安装程序的计算机的最低配置要求。最低限度,列出 Microsoft Windows 98 或更高版本,并要求在安装之前已经安装 Internet Explorer 5.01 或更高版本。还应列出 MDAC 2.6 或更高版本,请注意,安装时并不需要该程序,但包含数据访问的 .NET Framework 应用程序需要该程序。有关安装 Dotnetfx.exe 的最低配置要求的更多信息,请参阅最低配置要求

启动 Dotnetfx.exe 和语言包的无提示安装

以下命令启动 Dotnetfx.exe 的无提示安装:

dotnetfx.exe /q:a /c:"install /l /q"

以下命令启动 langpack.exe(任意语言包)的无提示安装:

LangPack.exe /q:a /c:"inst /q"

安装 Dotnetfx.exe 的本地化版本

.NET Framework 可再分发程序包 (Dotnetfx.exe) 有 22 种语言版本。所有 Dotnetfx.exe 版本的编程方式都是相同的,22 种版本彼此之间的唯一不同之处是安装过程中显示的用户界面。例如,在采用英语的计算机上安装 Dotnefx.exe 的日语版本时,所有安装对话框和最终用户许可协议 (EULA) 都将使用日语,但代码本身不会被本地化,.NET Framework 显示的所有对话框都将使用英语。因此,如果希望看见采用某种特定语言的安装对话框,则应该安装相应的 Dotnetfx.exe 版本。

要使 .NET Framework 1.1 版显示日语对话框,还必须安装相应的语言包。.NET Framework 1.1 版的语言包仅包含本地化资源(例如错误消息),而不会以编程的方式更改 .NET Framework 1.1 版中的任何信息。

.NET Framework 1.1 版可以使用 21 种语言包,而且可以在同一台计算机上安装所有这些语言包。但是,由于默认情况下 Dotnetfx.exe 的所有错误代码和消息都采用英语,所以没有英语语言包。

在各种可能的情况下,都应在本地化计算机上安装 Dotnetfx.exe 的本地化版本和匹配的语言包。也就是说,在日语计算机上安装时,应安装已本地化为日语的 Dotentfx.exe 和日语语言包。

注意:在运行 Windows 98 或 Windows Me 操作系统的计算机上安装 .NET Framework 语言包时,系统代码页和字体必须支持所安装的语言包。有以下几种选项:
  • 安装与 Windows 的语言相同的语言包。例如,在 Windows 98 日语版上安装日语语言包。
  • 在 Windows 本地化版本上安装语言包的本地化版本,其中,两种语言的系统代码页是相同的。例如,在 Windows98 德语版上安装法语语言包。
  • 在任何 Windows 本地化版本上安装 .NET Framework 1.1 版。如果系统代码页和字体不支持所安装的 .NET Framework 语言包的语言,则对话框将无法正确显示。例如,在 Windows 98 英语版上安装日语语言包时,设置对话框就无法正确显示文字。

    此限制仅适用于 Windows 98 和 Windows Me 系统。可以在 Windows 2000、Windows NT 4.0、Windows XP 或 Windows Server 2003 家族的任何语言版本上安装任何 .NET Framework 语言包。

最低配置要求

本节介绍要安装 .NET Framework 可再分发程序包的计算机的最低配置要求。如果没有满足最低要求,Dotnetfx.exe 安装程序将会阻止安装可再分发程序包。要特别注意,不能在运行 Microsoft Windows 95 操作系统的计算机上安装 .NET Framework 可再分发程序包。

平台和软件要求

最低要求

要安装 Dotnetfx.exe,计算机上必须具有以下某种操作系统并安装有 Microsoft Internet Explorer 5.01(英文)或更高版本:

  • Microsoft Windows 98
  • Microsoft Windows 98 Second Edition
  • Microsoft Windows Millennium Edition (Windows Me)
  • 带有 Service Pack 6a 的 Microsoft Windows NT 4(Workstation 或 Server)
  • Microsoft Windows 2000(Professional、Server 或 Advanced Server),并可以从 Microsoft Security(英文)Web 站点下载最新的 Windows Service Pack 和关键更新。
  • Microsoft Windows XP(Home 或 Professional)
  • Microsoft Windows Server 2003 系列

推荐的软件

根据具体的应用程序要求,可能需要安装一个或多个以下软件:

注意:如果不满足建议的软件要求,安装程序不会阻止安装或警告您这些软件不存在。

推荐的服务器软件

根据具体的应用程序要求,还可能需要以下服务器软件:

  • 用于服务器上数据访问的 MDAC 2.7,可从 Universal Data Access(英文)Web 站点下载。
  • Windows 2000、Windows XP (Professional) 和 Windows Server 2003 等服务器上的 Internet Information 服务 (IIS),这是使用 ASP.NET 应用程序所必需的。

硬件要求

最低硬件要求

方案 所需 CPU 所需 RAM
客户端 Pentium 90 MHz* 32 MB**
服务器 Pentium 133 MHz* 128 MB**

* 或者运行操作系统所必需的最低 CPU,取两者中较高者。

** 或者运行操作系统所必需的最低 RAM,取两者中较高者。

建议的硬件要求

方案 建议的 CPU 建议的 RAM
客户端 Pentium 90 MHz 或更快 96 MB 或更高
服务器 Pentium 133 MHz 或更快 256 MB 或更高
posted @ 2006-03-31 13:58  道云  阅读(2415)  评论(0编辑  收藏  举报