解决打包安装中出现【系统必备的安装位置未设置为“组件供应商的网站”,无法在磁盘上找到项“Microsoft.Net.Framework.3.5.SP1”中的 xxxxx 】
在制作.net 打包安装程序的时候,如果选择【系统必备软件中的 .netFx3.5 sp1】,并且将 指定系统必备组件的安装位置指定为 【从与我的应用程序相同的位置下载必要组件】。 就会出先 【系统必备的安装位置未设置为“组件供应商的网站”,无法在磁盘上找到项“Microsoft.Net.Framework.3.5.SP1”中的 xxxxx 】错误提示。
该错误将会出现在安装了非英文版本的.netFx系统中,主要是缺少非英文的.netFx3.5 SP1的语言包(例如中文、德文。。。。)自己经过多方面的查找,找到了一些解决的办法,只希望初次制作打包安装程序的朋友能够解决时间(以下以中文环境为例说明)。
1. 下载 .net Framework 3.5 完整版(231.5 MB),地址如下:
http://download.microsoft.com/download/2/0/e/20e90413-712f-438c-988e-fdaa79a8ac3d/dotnetfx35.exe
2. 使用winrar 或者且他解压工具,将 已经下载的dotNetFx3.5 解压缩。解压完了之后,将会看到一个WCU的文件夹
3. 将解压缩的 WCU/dotNetFramework 下的内容(dotNetFx20.... dotNetFx35setup.exe, 5个文件夹一个可执行文件 )复制并粘贴到 %Program Files%/Microsoft SDKs/Windows/v6.0A/Bootstrapper/Packages/DotNetFx35SP1 文件夹内。完成之后,可以删除WCU文件。
4. 打开 %Program Files%/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" 这行与 <PackageFile Name="dotNetFX30/XPSEPSC-amd64-en-US.exe" 这行,并将这两行的 PublicKey 原本的值改成以下的值 ( 请注意复制的时候不要复制空白单元):
3082010A0282010100A2DB0A8DCFC2C1499BCDAA3A34AD23596BDB6CBE2122B794C8EAAEBFC6D5
26C232118BBCDA5D2CFB36561E152BAE8F0DDD14A36E284C7F163F41AC8D40B146880DD98194AD
9706D05744765CEAF1FC0EE27F74A333CB74E5EFE361A17E03B745FFD53E12D5B0CA5E0DD07BF2B
7130DFC606A2885758CB7ADBC85E817B490BEF516B6625DED11DF3AEE215B8BAF8073C345E39589
77609BE7AD77C1378D33142F13DB62C9AE1AA94F9867ADD420393071E08D6746E2C61CF40D50744
12FE805246A216B49B092C4B239C742A56D5C184AAB8FD78E833E780A47D8A4B28423C3E2F27B66B
14A74BD26414B9C6114604E30C882F3D00B707CEE554D77D2085576810203010001
复制到 <PackageFiles>元素中。保存关闭。
5. 打开%Program Files%/Microsoft SDKs/Windows/v6.0A/Bootstrapper/Packages/DotNetFx35SP1 文件夹。找到 zh-CHS文件夹,在该文件夹下新建一个DotNetFX35文件夹;然后再打开刚刚新建的DotNetFX35文件夹,在文件夹下新建 x86 和 x64 两个文件夹。
下载 dotnetfx35langpack_x86zh-CHS.exe
(
) 到 x86 下;
下载 dotnetfx35langpack_x64zh-CHS.exe (http://download.microsoft.com/download/7/7/b/77b96978-c805-4674-a9b0-43351e86b41f/dotnetfx35langpack_x64zh-CHS.exe)
到 x64 下。