更新:2007 年 11 月
Microsoft .NET Framework 3.5 提供了两种部署到现场客户端的方式:
- 管理员安装模式 使用此选项,IT 管理员可通过 Microsoft Systems Management Server (SMS) 或其他软件分发工具部署 .NET Framework。IT 管理员以静默模式运行 .NET Framework 安装程序。如果发生错误,安装程序将退出且不发出任何提示,并记录错误代码。 
- Active Directory 部署 在此选项中,管理员必须将 .NET Framework 3.5 版安装程序包中的各个 .msi 文件按部署顺序添加到组策略中。启用组策略后,处于此组策略范围内的所有客户端在启动并重新连接至网络时,都将自动安装组件。如果发生错误,安装程序将退出且不发出任何提示,并记录错误代码。 
备注
本文档中提到的软件(包括但不限于 .NET Framework 3.5 和 Active Directory)均受许可条款和条件的制约。下列说明假定,软件的适当被许可方已查看并接受此类许可条款和条件。这些说明不免除此类许可协议中的任何条款和条件。
对于 Windows XP、Windows 2000 和 Windows Server 2003,必须在计算机上安装 Windows Installer 3.1。您可以从 Microsoft 下载中心网站上的 Windows Installer 3.1 Redistributable 页下载 Windows Installer 3.1。
使用管理员安装模式部署 Microsoft .NET Framework 3.5
以下部署步骤适用于 Windows Server 2003、Windows XP、Windows Vista 和 Windows Server 2008。
运行管理员安装模式
步骤 1:检查系统必备
运行此阶段的管理员安装程序之前,应确保目标计算机具有系统必备的软件和硬件。Windows Installer 3.1 是所有安装的一项系统必备。以下是 .NET Framework 3.5 版所需的组件的列表。如果不符合系统必备要求,则无人参与安装将失败。
- 在 Windows Server 2003 上,需要安装 Service Pack 1 (SP1)。 
- 在 Windows XP Home Edition 和 Windows XP Professional 上,需要安装 Service Pack 2 (SP2)。 
- 在所有平台上,需要安装 Microsoft Internet Explorer 6.0 Service Pack 1。 
步骤 2:创建网络映像
- 在服务器上创建一个文件夹,例如驱动器:\NETFX35。 
- 从网站上下载 .NET Framework 3.5 独立可再发行组件包,并将它保存到在步骤 1 中创建的文件夹中。可以从 Microsoft Download Center(Microsoft 下载中心)下载该组件包。 - 这个独立的可再发行组件包中包含将 .NET Framework 3.5 部署到 x86、x64 和 ia64 平台的所有支持的操作系统所需的全部组件。此组件包中不包括语言包。 
步骤 3:运行安装程序
- 验证网络上是否有 .NET Framework 3.5 可再发行组件包。 
- 在 Windows 的**“开始”菜单中选择“运行”**。 
- 键入下列内容: - \\computer\share\dotnetfx35.exe /q /norestart 
安装维护
若要访问安装维护功能,可以在已完成安装的计算机上再次运行安装程序。用户和管理员均应从 Windows“控制面板”的**“添加或删除程序”**中运行安装程序。若要在维护模式下运行安装程序,用户必须在目标计算机上拥有管理权限。
使用 Active Directory 部署 Microsoft .NET Framework 3.5
以下部署步骤适用于 Windows XP (SP2)、Windows Server 2003、Windows Vista 和 Windows Server 2008。
部署 .NET Framework 3.5 的系统必备
网络管理员必须验证所有客户端计算机是否拥有安装 .NET Framework 3.5 所需的系统组件。如果不符合系统必备要求,安装将失败。
| .gif) 说明: | 
|---|
| 必须严格按组件列出的顺序部署所需组件。如果按其他顺序进行部署,组件安装程序将失败。例如,.NET Framework 2.0 Service Pack 1 要求先安装 Windows Installer 3.1;因此,Windows Installer 列于 .NET Framework 2.0 Service Pack 1 之前。不带星号 (*) 的组件位于 NET Framework 3.5 安装程序包的 WCU 文件夹中。有关如何部署这些组件的信息,请参见如何:使用 Active Directory 部署 .NET Framework。 | 
以下是在 Windows Server 2003 上部署 .NET Framework 3.5 的系统必备:
- Microsoft Windows Server 2003 Service Pack 1 
- Microsoft .NET Framework 2.0 Service Pack 1 
- Microsoft .NET Framework 3.0 Service Pack 1 
- Microsoft Core XML Services (MSXML) 6.0。若要下载此组件,请转到 Microsoft 下载中心网站上的 Microsoft Core XML Services (MSXML) 6.0 页。 
- Windows 图像处理组件 
- XML Paper Specification Shared Components Pack 1.0 
- Microsoft DirectX 9.0 软件开发工具包 (SDK) 的软件光栅器 
以下是在 Windows XP 上部署 .NET Framework 3.5 的系统必备:
- Microsoft Windows XP Service Pack 2 
- Microsoft Internet Explorer 6.0 Service Pack 1 
- Microsoft Windows Installer 3.1 
- Microsoft .NET Framework 2.0 Service Pack 1 
- Microsoft .NET Framework 3.0 Service Pack 1 
- Windows 图像处理组件 
- XML Paper Specification Shared Components Pack 1.0 
- Microsoft DirectX 9.0 软件开发工具包 (SDK) 的软件光栅器 
以下是在 Windows Vista 上部署 .NET Framework 3.5 的系统必备。部署 .NET Framework 3.5 之前,请通过 Windows Update 获取这些更新。
- Microsoft .NET Framework 2.0 累积更新 1 
- Microsoft .NET Framework 3.0 累积更新 1 
在 Windows Server 2008 或 Vista Service Pack 1 上执行部署没有系统必备条件。Microsoft .NET Framework 2.0 和 3.0 累积更新 1 包含在 Windows Server 2008 和 Vista Service Pack 1 中。
以上组件受它们自身的许可协议的制约。
使用 Active Directory 部署组件
本节介绍如何使用 Active Directory 在网络中部署特定组件的 Windows Installer 安装程序包。若要部署需要提取文件的组件,您必须在目标计算机上拥有管理特权。
在使用 Active Directory 部署应用程序之前,必须从 .exe 可再发行组件包中提取各个文件,其中包括 Windows Installer 文件。此外,可能还需要提取其他文件。例如,若要部署 .NET Framework 3.5 组件,必须从 .exe 文件中提取 vs_setup.msi 文件以供部署使用。
部署 .NET Framework 之前,应确保目标计算机符合最低配置要求。有关详细信息,请参见 Microsoft .NET Framework 开发中心上的 Deploying & Configuring Applications(部署和配置应用程序)页。
Windows 图像处理组件和 XML Paper Specification Shared Components Pack 1.0 使用 Package Installer(包安装程序)(前身为 Update.exe)。这两个组件未提供 Update.msi。Microsoft 建议使用命令行选项部署这些 Windows 组件。
下表显示了可以使用 Active Directory 部署的组件的列表。
表 1 可使用 Active Directory (x86) 部署的组件
| 组件 | 操作系统 | .exe 或 .msi 文件的位置 | 目录 | 组件命令 | 是否需要提取文件 | 
|---|---|---|---|---|---|
| Microsoft Core XML Services (MSXML) 6.0 | XP、W2K3 | wcu\dotNetFramework\dotNetFX30\x86\msxml6.msi | msxml6 | msiexec /qb /a msxml6.msi TARGETDIR=c:\msxml6 |  | 
| Microsoft DirectX 9.0 软件开发工具包 (SDK) 的软件光栅器 | XP、W2K3 | wcu\dotNetFramework\dotNetFX30\RGB9RAST_x86.msi | rgbrast | msiexec /qb /a RGB9RAST_x86.msi REBOOT=ReallySuppress TARGETDIR=c:\RGBRAST |  | 
| .NET Framework 2.0 SP1 | XP、W2K3 | wcu\dotNetFramework\dotNetFX20 适当的 MSI 和 MSP | dotNetFX20 | msiexec /a netfx20a_x86.msi /update ASPNET.msp;CLR.msp;CRT.msp;NetFX_CA.msp;NetFX_Core.msp;NetFX_Other.msp;PreXP.msp;WinForms.msp;DW.msp USING_EXUIH=1 REBOOT=ReallySuppress TARGETDIR=c:\dotNetFX20 |  | 
| .NET Framework 3.0 SP1 | XP、W2K3 | wcu\dotNetFramework\dotNetFX30 适当的 MSI 和 MSP | dotNetFX30 | msiexec /a netfx30a_x86.msi /update WCF.msp;WCS.msp;WF.msp;WPF1.msp;WPF2.msp;WPF_Other.msp;XPS.msp;WF_32.msp;WPF2_32.msp;WPF_Other_32.msp USING_EXUIH=1 REBOOT=ReallySuppress /l* %WORKFOLDER%\logs\netfx30_x86.log TARGETDIR=%WORKFOLDER%\AIP\NETFX30 |  | 
| .NET Framework 3.5 | XP、W2K、Vista、W2K8 | wcu\dotNetFramework\dotNetFX35\x86\netfx35_x86.exe | dotNetFX35 | msiexec /qb /a vs_setup.msi USING_EXUIH=1 REBOOT=reallySuppress TARGETDIR=c:\dotNetFX35 |  | 
表 2 可使用 Active Directory (x64) 部署的组件
| 组件 | 操作系统 | .exe 或 .msi 文件的位置 | 目录 | 组件命令 | |
|---|---|---|---|---|---|
| Microsoft Core XML Services (MSXML) 6.0 | XP、W2K3 | wcu\dotNetFramework\dotNetFX30\x64\msxml6.msi | msxml6 | msiexec /qb /a msxml6.msi TARGETDIR=c:\msxml6 | 否 | 
| Microsoft DirectX 9.0 软件开发工具包 (SDK) 的软件光栅器 | XP、W2K3 | wcu\dotNetFramework\dotNetFX30\RGB9RAST_x64.msi | rgbrast | msiexec /qb /a RGB9RAST_x64.msi REBOOT=ReallySuppress TARGETDIR=c:\RGBRAST | 否 | 
| .NET Framework 2.0 SP1 | XP、W2K3 | wcu\dotNetFramework\dotNetFX20 适当的 MSI 和 MSP | dotNetFX20 | msiexec /a Netfx20a_x64.msi /update ASPNET_64.msp;CLR_64.msp;CRT_64.msp;DW_64.msp;NetFX_Core_64.msp;NetFX_Other_64.msp;WinForms_64.msp;ASPNET.msp;CLR.msp;CRT.msp;NetFX_CA.msp;NetFX_Core.msp;NetFX_Other.msp;PreXP.msp;WinForms.msp;DW.msp USING_EXUIH=1 REBOOT=ReallySuppress TARGETDIR=c:\dotNetFX20 | 否 | 
| .NET Framework 3.0 SP1 | XP、W2K3 | wcu\dotNetFramework\dotNetFX30 适当的 MSI 和 MSP | dotNetFX30 | msiexec /a netfx30a_x64.msi /update WCF.msp;WCS.msp;WF.msp;WPF1.msp;WPF2.msp;WPF_Other.msp;XPS.msp;WCF_64.msp;WCS_64.msp;WF_64.msp;WPF1_64.msp;WPF2_64.msp;WPF_Other_64.msp USING_EXUIH=1 REBOOT=ReallySuppress TARGETDIR=c:\dotNetFX30 | 否 | 
| .NET Framework 3.5 | XP、W2K、Vista、W2K8 | wcu\dotNetFramework\dotNetFX35\x86\netfx35_x64.exe | dotNetFX35 | msiexec /qb /a vs_setup.msi USING_EXUIH=1 REBOOT=reallySuppress TARGETDIR=c:\dotNetFX35 | 是 | 
通过在 msiexec 命令中添加 /l*v 日志文件,可为每个组件启用日志记录。例如,若要在 .NET Framework 3.5 组件部署中包括一个日志文件,请使用以下命令:
msiexec /qb /l*v netfx35_x86.log /a vs_setup.msi USING_EXUIH=1 REBOOT=reallySuppress TARGETDIR=c:\dotNetFX35
步骤 1:创建管理员安装点
| .gif) 说明: | 
|---|
| 若要查看演示如何创建安装点的示例脚本,请参见本文档的附录。 | 
- 创建一个文件夹以存放可再发行组件包。 
- 从 Microsoft Download Center(Microsoft 下载中心)网站下载 .NET Framework 3.5 可再发行组件包,并将它保存到在步骤 1 中创建的文件夹中。 
- 从 .NET Framework 3.5 可再发行组件包 .exe 文件中提取文件,以找到下列组件文件。若要提取文件,请运行下面的命令: - dotnetfx35.exe /x:<ExtractionDestination> - 例如: - dotnetfx35.exe /x:C:\NETFX35 
- 将组件的 .exe 文件或 .msi 文件复制到本地计算机上 C:\ 驱动器的根目录。(有关各个组件的位置,请参见表 1。) 
- 在 Windows 的**“开始”菜单中单击“运行”,然后键入 cmd 以打开“命令”**窗口。 
- 将目录切换到 C: 驱动器的根目录。 
- 键入下面的命令,以创建要向其中复制 .exe 文件的目录: - mkdir directoryName
- 键入对应的组件命令(见表 1),以便在该目录中创建安装点。 
- 关闭**“命令”**窗口。 
- 打开 Windows 资源管理器并导航至 C:\目录名称,以验证是否已提取文件。 
- 将该文件夹及其所有内容移到要用于部署的网络共享中。 
步骤 2:将安装程序包添加至 Active Directory 组策略
- 在 Windows 的**“开始”菜单中,依次单击“所有程序”、“管理工具”和“组件服务”**。 
- 展开**“Active Directory 用户和计算机”**。 - 随即显示**“Active Directory 用户和计算机”**目录树。 
- 右击域节点,然后单击**“属性”**。 
- 在**“属性”对话框中,单击“组策略”**选项卡。 
- 在**“组策略对象链接”对话框中,单击“组策略”**选项卡。 
- 如果要将策略设置为始终应用于所有计算机(而不论登录用户是谁),请展开**“计算机配置\软件设置”**。 .gif) 说明: 说明:- 确保映射到 Active Directory 服务器上的共享位置。否则,将无法创建用于安装的包。 
- 右击**“软件安装”,单击“新建”,然后单击“程序包”**。 
- 在**“打开”**对话框中,浏览到已将部署文件夹复制到的位置,然后选择 .msi 文件。 
- 在**“部署软件”对话框中,单击“已指派”,然后单击“确定”**。 
- 单击**“自动安装”**以在域中的每台计算机上自动安装软件。 
- 单击**“确定”,然后关闭“组件服务”**控制台。 
步骤 3:使用组策略设置提升的特权
由于大多数程序包都只允许计算机的本地管理员进行安装,因此应使用提升的特权向组策略中的每台计算机播发程序包。网络管理员可以为一个用户、一台计算机或一组用户创建策略。有关如何创建特殊策略配置文件的更多信息,请参见“系统策略编辑器帮助”。有关如何配置策略的更多信息,请参见“组策略”管理单元中的“帮助”。
- 在 Windows 的**“开始”菜单中,依次单击“所有程序”、“管理工具”和“组件服务”**。 
- 展开**“Active Directory 用户和计算机”**。 - 随即显示**“Active Directory 用户和计算机”**目录树。 
- 右击域节点,然后单击**“属性”**。 
- 在**“属性”对话框中,单击“组策略”**选项卡。 
- 在**“组策略对象链接”框中,选择一个“组策略”对象,然后单击“编辑”**。 
- 打开**“计算机配置\管理模板\Windows 组件\Windows Installer”**文件夹。 
- 在详细信息窗格中,双击**“永远以高特权进行安装”**。 
- 在**“属性”对话框中,选择“已启用”选项以打开该设置,然后单击“确定”**。 
- 打开**“用户配置\管理模板\Windows 组件\Windows Installer”**文件夹,并重复步骤 7 和 8。 .gif) 说明: 说明:- 您可以使用系统策略编辑器和 Windows Installer 策略来设置“永远以高特权进行安装”策略。必须为计算机和每个用户都设置此策略。如果选择不使用组策略编辑器或系统策略编辑器,可以通过更改 Windows 注册表中的值,在每台计算机上指定相同的设置。 
步骤 4:验证是否已准备好将程序包分配给计算机
- 在**“组件名称 - 英语属性”对话框中,单击“部署”**选项卡。 
- 在**“部署类型”下,单击“已指派”**。 
- 在**“部署选项”**下,选择用于设置组件部署时间和方式的选项。 
- 浏览其他选项卡,并根据需要设置选项。有关详细信息,请参见对话框中的“组策略帮助”。 
步骤 5:部署所需的其他组件
若要部署其他 .NET Framework 3.5 组件,请重复步骤 1,并将 .msi 和 .msp 文件添加到指定的 Active Directory 组策略中。
重新部署程序包
在某些情况下,可能需要重新部署软件包。例如,升级或修改程序包时便可能需要如此。
- 启动**“Active Directory 用户和计算机”控制台。为此,请在 Windows 的“开始”菜单中,选择“管理工具”,然后单击“Active Directory 用户和计算机”**。 
- 在控制台目录树中,右击域节点,然后单击**“属性”**。 
- 单击**“组策略”选项卡,再单击用于部署程序包的组策略对象,然后单击“编辑”**。 
- 展开用于部署程序包的软件安装项所在的**“软件设置”**容器。 
- 单击程序包所在的软件安装容器。 
- 在**“组策略对象编辑器”的右窗格中,右击该程序,选择“所有任务”,然后单击“重新部署应用程序”**。 - 您将看到以下消息: - Redeploying this application will reinstall the application everywhere it is already installed. Do you want to continue? 
- 单击**“是”**。 
- 关闭**“组策略对象编辑器”控制台,单击“确定”,然后关闭“Active Directory 用户和计算机”**管理单元。 
删除程序包
如果不再需要已发布或已分配的程序包,可以将其删除。
- 启动**“Active Directory 用户和计算机”管理单元。为此,请在 Windows 的“开始”菜单中,单击“管理工具”,然后单击“Active Directory 用户和计算机”**。 
- 在控制台目录树中,右击域名称,然后单击**“属性”**。 
- 单击**“组策略”选项卡,再单击用于部署程序包的组策略对象,然后单击“编辑”**。 
- 展开用于部署程序包的软件安装项所在的**“软件设置”**容器。 
- 单击程序包所在的软件安装容器。 
- 在**“组策略对象编辑器”的右窗格中,右击该程序,选择“所有任务”,然后单击“删除”**。 
- 执行下列操作之一: - 单击**“立即从用户和计算机中卸载软件”,然后单击“确定”**。 
- 单击**“允许用户继续使用软件,但阻止新的安装”,然后单击“确定”**。 
 
- 关闭**“组策略对象编辑器”控制台,单击“确定”,然后关闭“Active Directory 用户和计算机”**控制台。 
已知的安装问题
有关已知安装问题的信息,请参见 Microsoft .NET Framework 3.5 Release Notes(Microsoft .NET Framework 3.5 发行说明)。
疑难解答
Microsoft .NET Framework 3.5 日志文件位置
在 .NET Framework 3.5 安装过程中会生成以下日志文件:
- dd_dotnetfx35error.txt 
- dd_dotnetfx35install.txt 
对于非英文版安装,还会生成下列日志文件:
- dd_dotnetfx35error_lp.txt 
- dd_dotnetfx35install_lp.txt 
.NET Framework 中的每个组件还创建自己的日志,包括以下日志:
- RGB Rasterizer:dd_RGB9Rast_*.txt 
- MSXML6.0:dd_msxml6_*.txt 
- WIC:dd_wic*.txt 
- .NET Framework 2.0 SP1:dd_net_framework20*.txt 
- .NET Framework 3.0 SP1:dd_net_framework30*.txt 
- .NET Framework 3.5 MSI:dd_net_framework35*.txt 
在 .NET Framework 3.5 安装过程中,日志文件位于 %temp% 目录下。
对于 Active Directory 部署,请按照如何:使用 Active Directory 部署 .NET Framework 中的说明指定 /lv 日志文件选项,以便为每个组件部署创建日志文件。
Windows Installer 错误代码
有关错误代码的列表,请参见 MSDN 网站上的 Windows Installer Error Codes(Windows Installer 错误代码)页。
附录
下面是一个可用于创建管理员安装点的示例脚本。
set WORKFOLDER=d:\deploy
set dotNetFX35build=%WORKFOLDER%\dotnetfx35.exe
echo Creating Admin Install points for NETFX3 %PROCESSOR_ARCHITECTURE%
 
REM Create folders where work will be done
md %WORKFOLDER%\ext
md %WORKFOLDER%\AIP
md %WORKFOLDER%\logs
pushd %WORKFOLDER%
 
REM Extract the files from the NETFX35 redist SFX
call dotnetfx35.exe /q /x:%WORKFOLDER%\ext
REM ------------------------------------------------------------
REM create the MSXML6 x86 admin install point
md %WORKFOLDER%\AIP\MSXML6_x86
call msiexec /a %WORKFOLDER%\ext\wcu\dotNetFramework\dotNetFX30\x86\msxml6.msi /qb /l*v %WORKFOLDER%\logs\MSXML6_x86.log Targetdir=%WORKFOLDER%\AIP\MSXML6_x86
REM create the MSXML6 x64 admin install point
md %WORKFOLDER%\AIP\MSXML6_x64
call msiexec /a %WORKFOLDER%\ext\wcu\dotNetFramework\dotNetFX30\x64\msxml6.msi /qb /l*v %WORKFOLDER%\logs\MSXML6_x64.log Targetdir=%WORKFOLDER%\AIP\MSXML6_x64
REM ------------------------------------------------------------
REM create the RGBRAST x86 admin install point
md %WORKFOLDER%\AIP\RGBRAST_x86
call msiexec /a %WORKFOLDER%\ext\wcu\dotNetFramework\dotNetFX30\RGB9RAST_x86.msi /qb /l*v %WORKFOLDER%\logs\RGBRAST_x86.log REBOOT=ReallySuppress Targetdir=%WORKFOLDER%\AIP\RGBRAST_x86
REM create the RGBRAST x64 admin install point
md %WORKFOLDER%\AIP\RGBRAST_x64
call msiexec /a %WORKFOLDER%\ext\wcu\dotNetFramework\dotNetFX30\RGB9RAST_x64.msi /qb /l*v %WORKFOLDER%\logs\RGBRAST_x64.log REBOOT=ReallySuppress Targetdir=%WORKFOLDER%\AIP\RGBRAST_x64
 
REM ------------------------------------------------------------
REM Extract NETFX 35 x86 components 
md %WORKFOLDER%\ext\netfx35_x86
call %WORKFOLDER%\ext\wcu\dotNetFramework\dotNetFX35\x86\netfx35_x86.exe /q /x: %WORKFOLDER%\ext\netfx35_x86
REM Extract NETFX 35 x64 components 
md %WORKFOLDER%\ext\netfx35_x64
call %WORKFOLDER%\ext\wcu\dotNetFramework\dotNetFX35\x64\netfx35_x64.exe /q /x: %WORKFOLDER%\ext\netfx35_x64
REM ------------------------------------------------------------
REM create the NETFX35 x86 admin install point
md %WORKFOLDER%\AIP\netfx35_x86
call msiexec /qb /a %WORKFOLDER%\ext\netfx35_x86\vs_setup.msi USING_EXUIH=1 REBOOT=ReallySuppress /l*v %WORKFOLDER%\logs\netfx35_x86.log TARGETDIR=%WORKFOLDER%\AIP\netfx35_x86
 
REM create the NETFX35 x64 admin install point
md %WORKFOLDER%\AIP\netfx35_x64
call msiexec /qb /a %WORKFOLDER%\ext\netfx35_x64\vs_setup.msi USING_EXUIH=1 REBOOT=ReallySuppress /l*v %WORKFOLDER%\logs\netfx35_x64.log TARGETDIR=%WORKFOLDER%\AIP\netfx35_x64
REM ------------------------------------------------------------
REM create the NETFX20 x86 SP1 admin install point
REM 2.0 SP1 files location
Set fx20=%WORKFOLDER%\ext\wcu\dotNetFramework\dotNetFX20\
md %WORKFOLDER%\AIP\NETFX20_x86
call msiexec /a %fx20%netfx20a_x86.msi /update %fx20%ASPNET.msp;%fx20%CLR.msp;%fx20%CRT.msp;%fx20%NetFX_CA.msp;%fx20%NetFX_Core.msp;%fx20%NetFX_Other.msp;%fx20%PreXP.msp;%fx20%WinForms.msp;%fx20%DW.msp USING_EXUIH=1 REBOOT=ReallySuppress /l*v %WORKFOLDER%\logs\netfx20_x86.log TARGETDIR=%WORKFOLDER%\AIP\NETFX20
REM create the NETFX20 x64 SP1 admin install point
md %WORKFOLDER%\AIP\NETFX20_x64
call msiexec /a %fx20%Netfx20a_x64.msi /update %fx20%ASPNET_64.msp;%fx20%CLR_64.msp;%fx20%CRT_64.msp;%fx20%DW_64.msp;%fx20%NetFX_Core_64.msp;%fx20%NetFX_Other_64.msp;%fx20%WinForms_64.msp;%fx20%ASPNET.msp;%fx20%CLR.msp;%fx20%CRT.msp;%fx20%NetFX_CA.msp;%fx20%NetFX_Core.msp;%fx20%NetFX_Other.msp;%fx20%PreXP.msp;%fx20%WinForms.msp;%fx20%DW.msp USING_EXUIH=1 REBOOT=ReallySuppress /l*v %WORKFOLDER%\logs\netfx20_x64.log TARGETDIR=%WORKFOLDER%\AIP\NETFX20_x64
REM ------------------------------------------------------------
REM create the NETFX30 SP1 x86 admin install point
REM 3.0 SP1 files location
Set fx30=%WORKFOLDER%\ext\wcu\dotNetFramework\dotNetFX30\
md %WORKFOLDER%\AIP\NETFX30_x86
call msiexec /a %fx30%netfx30a_x86.msi /update %fx30%WCF.msp;%fx30%WCS.msp;%fx30%WF.msp;%fx30%WPF1.msp;%fx30%WPF2.msp;%fx30%WPF_Other.msp;%fx30%XPS.msp;%fx30%WF_32.msp;%fx30%WPF2_32.msp;%fx30%WPF_Other_32.msp USING_EXUIH=1 REBOOT=ReallySuppress /l*v %WORKFOLDER%\logs\netfx30_x86.log TARGETDIR=%WORKFOLDER%\AIP\NETFX30_x64
REM create the NETFX30 SP1 x64 admin install point
md %WORKFOLDER%\AIP\NETFX30_x64
call msiexec /a %fx30%netfx30a_x64.msi /update %fx30%WCF.msp;%fx30%WCS.msp;%fx30%WF.msp;%fx30%WPF1.msp;%fx30%WPF2.msp;%fx30%WPF_Other.msp;%fx30%XPS.msp;%fx30%WCF_64.msp;%fx30%WCS_64.msp;%fx30%WF_64.msp;%fx30%WPF1_64.msp;%fx30%WPF2_64.msp;%fx30%WPF_Other_64.msp USING_EXUIH=1 REBOOT=ReallySuppress /l*v %WORKFOLDER%\logs\netfx30_x64.log TARGETDIR=%WORKFOLDER%\AIP\NETFX30_x64