由于.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 目录中,几乎没有bootstrapper 。问题就出现在这里。在安装 .net framework 3.5 sp1 sdk 时是否看过其中的“自述文档”,关于此版本的 bootstrapper 没有被自动创建的问题微软写在了它的 readme 文件中,但是,在《visual studio 速成版自述文件》找不到关于bootstrapper的说明,应该去阅读英文原版的 readme(晚上一朋友说不能部署安装dotnetfx35sp1,问其安装的语言版本为简体中文,由于我安装的是windows 7 build 7000,在dxperience v2009 vol 1.2的时候一直安装不上,现在看到dxperience v2009 vol 1.3解决了,一直在安装dxperience就没有去找原因,装完dxperience再找微软的说明文档,在英文原版中看到解决方法)。visual studio 2008 service pack 1 (sp1) readme - 这篇文档的 2.3.1.1 章节中具体描述了关于如何解决 3.5sp1 bootstrapper 的问题。
解决方法:
假如有vs2008sp1chsx1512981.iso那个vs2008sp1简体中文光盘镜像文件。从中找到需要的三个安装包:dotnetfx35.exe、dotnetfx35langpack_x86zh-chs.exe和dotnetfx35langpack_x64zh-chs.exe。就不必再从网上下载。下面是参考《visual studio 2008 service pack 1 (sp1) readme》文档中的解决步骤:
- 修改配置文件。
打开[program files]\microsoft sdks\windows\v6.0a\bootstrapper\packages\dotnetfx35sp1文件夹或者%programfiles(x86)%\microsoft sdks\windows\v6.0a\bootstrapper\packages\dotnetfx35sp1文件夹(64位操作系统),比如我这里是:d:\program files\microsoft sdks\windows\v6.0a\bootstrapper\packages\dotnetfx35sp1。
用记事本编辑 product.xml 文件,在<packagefiles>元素下添加:
<packagefile name="tools\clwireg.exe" />搜索 <packagefile name="dotnetfx30\xpsepsc-x86-en-us.exe",将它的publickey改成:
<packagefile name="tools\clwireg_x64.exe" />
<packagefile name="tools\clwireg_ia64.exe" />3082010a0282010100a2db0a8dcfc2c1499bcdaa3a34ad23596bdb6cbe2122b794c8eaaebfc6d526c232118bbcda5d2cfb36561e152bae8f0ddd14a36e284c7f163f41ac8d40b146880dd98194ad9706d05744765ceaf1fc0ee27f74a333cb74e5efe361a17e03b745ffd53e12d5b0ca5e0dd07bf2b7130dfc606a2885758cb7adbc85e817b490bef516b6625ded11df3aee215b8baf8073c345e3958977609be7ad77c1378d33142f13db62c9ae1aa94f9867add420393071e08d6746e2c61cf40d5074412fe805246a216b49b092c4b239c742a56d5c184aab8fd78e833e780a47d8a4b28423c3e2f27b66b14a74bd26414b9c6114604e30c882f3d00b707cee554d77d2085576810203010001同样,搜索<packagefile name="dotnetfx30\xpsepsc-amd64-en-us.exe",将它的publickey也改成上面的相同值并保存配置文件。
-
提取dotnetfx35.exe文件内容。你可以点击这里下载:http://go.microsoft.com/fwlink?linkid=118080
运行命令提示符,进入dotnetfx35.exe所在目录,输入“dotnetfx35.exe /x:”,会自动在当前目录解压出“wcu”文件夹(也可以用7z或winrar解压,我比较中意用7z,因为是免费的解压缩软件。)。将wcu文件夹下所有文件复制到“%program files%\microsoft sdks\windows\v6.0a\bootstrapper\packages\dotnetfx35sp1”或者“%programfiles(x86)%\microsoft sdks\windows\v6.0a\bootstrapper\packages\dotnetfx35sp1”(64位操作系统)文件夹下面。 -
提取语言包。把对应的语言包复制到dotnetfx35sp1下的对应文件夹中。
比如简体中文,将dotnetfx35langpack_x86zh-chs.exe复制到dotnetfx35sp1\zh-chs\dotnetfx35\x86目录里,将dotnetfx35langpack_x64zh-chs.exe复制到dotnetfx35sp1\zh-chs\dotnetfx35\x64目录里。繁体中文将dotnetfx35langpack_x86zh-cht.exe复制到dotnetfx35sp1\zh-cht\dotnetfx35\x86目录里,将dotnetfx35langpack_x64zh-cht.exe复制到dotnetfx35sp1\zh-cht\dotnetfx35\x64目录里。注重:x86和x64的语言包都需要被复制过去。
假如没有语言包,参考下面的表格下载自己的语言文件:
language |
architecture |
source url |
destination |
---|---|---|---|
chinese (simplified) |
x86 |
zh-chs\dotnetfx35\x86 | |
x64 |
zh-chs\dotnetfx35\x64 | ||
chinese (traditional) |
x86 |
zh-cht\dotnetfx35\x86 | |
x64 |
zh-cht\dotnetfx35\x64 | ||
english |
x86 |
n/a |
n/a |
x64 |
n/a |
n/a | |
french |
x86 |
fr\dotnetfx35\x86 | |
x64 |
fr\dotnetfx35\x64 | ||
german |
x86 |
de\dotnetfx35\x86 | |
x64 |
de\dotnetfx35\x64 | ||
italian |
x86 |
it\dotnetfx35\x86 | |
x64 |
it\dotnetfx35\x64 | ||
japanese |
x86 |
ja\dotnetfx35\x86 | |
x64 |
ja\dotnetfx35\x64 | ||
korean |
x86 |
ko\dotnetfx35\x86 | |
x64 |
ko\dotnetfx35\x64 | ||
portuguese – brazil |
x86 |
pt-br\dotnetfx35\x86 | |
x64 |
pt-br\dotnetfx35\x64 | ||
russian |
x86 |
ru\dotnetfx35\x86 | |
x64 |
ru\dotnetfx35\x64 | ||
spanish |
x86 |
es\dotnetfx35\x86 | |
x64 |
es\dotnetfx35\x64 |
通过以上方法之后生成部署安装成功
相关连接: