在使用vs进行安装项目打包时,在系统必备里如果勾选上.NET Framework 3.5 SP1,并且选择“从与我的应用程序相同的位置下载系统必备组件”,生成项目时会报错。
这个问题在vs2008sp1的readme文件中有解决方法,链接如下:
http://download.microsoft.com/download/C/3/A/C3A7E734-1D39-4EC4-AB2E-932F42F33ADA/VS2008SP1Readme.htm
据此简单翻译如下。
解决方法:
一、更新包
打开 [Program Files]/Microsoft SDKs/Windows/v6.0A/Bootstrapper/Packages/DotNetFx35SP1文件夹,如果是x64操作系统则在是这个目录:%ProgramFiles(x86)%/Microsoft SDKs/Windows/v6.0A/Bootstrapper/Packages/DotNetFx35SP1.
编辑Product.xml文件,将下段这段贴进节点中:
<PackageFile Name="TOOLS/clwireg.exe" />
<PackageFile Name="TOOLS/clwireg_x64.exe" />
<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。
保存product.xml文件。
二、下载并提取核心安装文件
浏览此网址: http://go.microsoft.com/fwlink?LinkID=118080 以下载dotNetFx35.exe文件到本地硬盘.
打开一个命令行窗口并且将当前目录切换为下载的dotNetFx35.exe的文件夹.
D: --盘符转换
cd.. --返回上级
cd D:/ --进入目录
选择到要释放的目录下(WCU)然后在命令行窗口输入: dotNetFx35.exe /x:
文件将被释放到当前目录的"WCU”文件夹中.
将WCU/dotNetFramework 文件夹中的的所有东西复制到
%Program Files%/Microsoft SDKs/Windows/v6.0A/Bootstrapper/Packages/DotNetFx35SP1
(x64系统:%ProgramFiles(x86)%/Microsoft SDKs/Windows/v6.0A/Bootstrapper/Packages/DotNetFx35SP1).
注意: 你复制的应该是5个文件夹. 复制完之后目录结构应该是这样:
DotNetFx35SP1 (folder)
dotNetFX20 (folder)
dotNetFX30 (folder)
dotNetFX35 (folder)
dotNetMSP (folder)
TOOLS (folder)
zh-CHS (folder) //中文版的
dotNetFx35setup.exe (file)
product.xml(file)
三、下载语言包支持文件
下载位置请参见下表.
下载到dotNetFx35SP1目录的子目录中表格中的目的位置. 注意:就算你不需要支持64位,x64的文件一样要复制过去。
语言 架构 下载地址 目标文件夹
简体中文 x86 http://go.microsoft.com/fwlink?LinkID=118146 zh-CHS/DotNetFX35/x86
简体中文 x64 http://go.microsoft.com/fwlink?LinkID=118151 zh-CHS/DotNetFX35/x64
只要按照以上步骤 绝对能行。。。