关于.NET Framework 3.5 SP1 bootstrapper 包(安装和部署)的解决方案

问题描述:
在安装和部署应用程序时,在“系统必备”中包含“.NET Framework 3.5 SP1”,并选择“从与我的应用程序相同的位置下载系统必备组件”或者“从下列位置下载系统必备组件”时,生成失败!找不到.NET Framework 3.5 SP1的安装组件。

原因:
.NET Framework 3.5 SP1 bootstrapper 组件包不存在。

说明:
bootstrapper 组件包是生成 .NET Framework 安装包的必要组件。它位于[Program Files]\Microsoft SDKs\Windows\v6.0A\Bootstrapper目录或者%ProgramFiles(x86)%\Microsoft SDKs\Windows\v6.0A\Bootstrapper目录下。在其 Packages 文件夹下包含了 .NET Framework 必备组件的安装程序,如果选择了必备组件,它们可能被打包在你的安装项目中。

那么现在就到图中那个 DotNetFX35SP1 目录中看一看,几乎空空如野。问题就出现在这里头。大家在安装 .NET Framework 3.5 SP1 SDK 时是否看过其中的“自述文档”,关于此版本的 Bootstrapper 没有被自动创建的问题微软写在了它的 Readme 文件中,但是,或许您认认真真地阅读过那份文档,也找不到关于Bootstrapper的蛛丝马迹,呃,这个不怪你,你应该去阅读英文原版的 Readme……(别再去翻《Visual Studio 速成版自述文件》了,那里什么都没有!)

相关链接:
Visual Studio 2008 Service Pack 1 (SP1) Readme - 这篇文档的 2.3.1.1 章节中详细描述了关于如何解决 3.5SP1 bootstrapper 的问题。

解决方法:
你最好有VS2008SP1CHSX1512981.iso那个VS2008SP1简体中文光盘镜像文件。我们需要的三个安装包:dotnetfx35.exedotnetfx35langpack_x86zh-CHS.exedotnetfx35langpack_x64zh-CHS.exe那里面都有。不必再从网上下载。下面是参考《Visual Studio 2008 Service Pack 1 (SP1) Readme》文档中的解决步骤:

  1. 修改配置文件。
    打开[Program Files]\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\DotNetFx35SP1文件夹或者%ProgramFiles(x86)%\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\DotNetFx35SP1文件夹(64位操作系统),比如我这里是:C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\DotNetFx35SP1。

    用记事本编辑 Product.xml 文件,在<PackageFiles>元素下添加:
    1. <PackageFile Name="TOOLS\clwireg.exe" /> 
    2. <PackageFile Name="TOOLS\clwireg_x64.exe" /> 
    3. <PackageFile Name="TOOLS\clwireg_ia64.exe" />  
    搜索“PackageFile Name="dotNetFX30\XPSEPSC-x86-en-US.exe”,将它的PublicKey改成:
    3082010A0282010100A2DB0A8DCFC2C1499BCDAA3A34AD23596BDB6CBE2122B794C8EAAEBFC6D526C232118BBCDA5D2CFB36561E152BAE8F0DDD14A36E284C7F163F41AC8D40B146880DD98194AD9706D05744765CEAF1FC0EE27F74A333CB74E5EFE361A17E03B745FFD53E12D5B0CA5E0DD07BF2B7130DFC606A2885758CB7ADBC85E817B490BEF516B6625DED11DF3AEE215B8BAF8073C345E3958977609BE7AD77C1378D33142F13DB62C9AE1AA94F9867ADD420393071E08D6746E2C61CF40D5074412FE805246A216B49B092C4B239C742A56D5C184AAB8FD78E833E780A47D8A4B28423C3E2F27B66B14A74BD26414B9C6114604E30C882F3D00B707CEE554D77D2085576810203010001
    同样,搜索“PackageFile Name="dotNetFX30\XPSEPSC-amd64-en-US.exe”,将它的PublicKey也改成上面的相同值。

    保存文件。配置文件修改完成。
  2. 提取dotNetFx35.exe文件内容。你可以点击这里下载:http://go.microsoft.com/fwlink?LinkID=118080
    运行命令提示符,进入dotNetFx35.exe所在目录,输入“dotNetFx35.exe /x:”,会自动在当前目录解压出“WCU”文件夹(也可以用WinRAR解压)。将WCU文件夹下所有文件复制到“%Program Files%\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\DotNetFx35SP1”或者“%ProgramFiles(x86)%\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\DotNetFx35SP1”(64位操作系统)文件夹下面。
  3. 提取语言包。把对应的语言包复制到dotNetFx35SP1下的对应文件夹中。
    比如简体中文,将dotnetfx35langpack_x86zh-CHS.exe复制到DotNetFX35SP1\zh-CHS\DotNetFX35\x86目录里,将dotnetfx35langpack_x64zh-CHS.exe复制到DotNetFX35SP1\zh-CHS\DotNetFX35\x64目录里。注意:x86和x64的语言包都需要被复制过去。
    如果你没有语言包,参考下面的表格下载自己的语言文件:

    Language

    Architecture

    Source URL

    Destination

    Chinese (Simplified)

    x86

    http://go.microsoft.com/fwlink?LinkID=118146

    zh-CHS\DotNetFX35\x86

    x64

    http://go.microsoft.com/fwlink?LinkID=118151

    zh-CHS\DotNetFX35\x64

    Chinese (Traditional)

    x86

    http://go.microsoft.com/fwlink?LinkID=118087

    zh-CHT\DotNetFX35\x86

    x64

    http://go.microsoft.com/fwlink?LinkID=118050

    zh-CHT\DotNetFX35\x64

    English

    x86

    N/A

    N/A

    x64

    N/A

    N/A

    French

    x86

    http://go.microsoft.com/fwlink?LinkID=118148

    fr\DotNetFX35\x86

    x64

    http://go.microsoft.com/fwlink?LinkID=118153

    fr\DotNetFX35\x64

    German

    x86

    http://go.microsoft.com/fwlink?LinkID=118149

    de\DotNetFX35\x86

    x64

    http://go.microsoft.com/fwlink?LinkID=118154

    de\DotNetFX35\x64

    Italian

    x86

    http://go.microsoft.com/fwlink?LinkID=118097

    it\DotNetFX35\x86

    x64

    http://go.microsoft.com/fwlink?LinkID=118115

    it\DotNetFX35\x64

    Japanese

    x86

    http://go.microsoft.com/fwlink?LinkID=118096

    ja\DotNetFX35\x86

    x64

    http://go.microsoft.com/fwlink?LinkID=118114

    ja\DotNetFX35\x64

    Korean

    x86

    http://go.microsoft.com/fwlink?LinkID=118147

    ko\DotNetFX35\x86

    x64

    http://go.microsoft.com/fwlink?LinkID=118152

    ko\DotNetFX35\x64

    Portuguese – Brazil

    x86

    http://go.microsoft.com/fwlink?LinkID=118092

    pt-BR\DotNetFX35\x86

    x64

    http://go.microsoft.com/fwlink?LinkID=118110

    pt-BR\DotNetFX35\x64

    Russian

    x86

    http://go.microsoft.com/fwlink?LinkID=118090

    ru\DotNetFX35\x86

    x64

    http://go.microsoft.com/fwlink?LinkID=118108

    ru\DotNetFX35\x64

    Spanish

    x86

    http://go.microsoft.com/fwlink?LinkID=118101

    es\DotNetFX35\x86

    x64

    http://go.microsoft.com/fwlink?LinkID=118119

    es\DotNetFX35\x64

一个ClickOnce范例组图:

posted @ 2009-09-27 15:17  廖非凡  阅读(417)  评论(0编辑  收藏  举报