zoukankan      html  css  js  c++  java
  • 错误 11 系统必备组件的安装位置未设置为“组件供应商的网站”,并且无法在磁盘上

    方法1、http://blog.csdn.net/tqwer/article/details/5563010

    在制作.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

    http://download.microsoft.com/download/7/7/b/77b96978-c805-4674-a9b0-43351e86b41f/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 下。

    方法2、

    自http://blog.csdn.net/fxfeixue/article/details/5936015  
    搞不明白为什么微软总是出各种错误,还好按照提示成功了
    ClickOnce部署出现 系统必备的安装位置未设置为组件供应商的网站,无法在磁盘上找到 dotNetFx40LP_Client_x86_x64cs.exe 问题的解决方案
        当我们使用简体中文或繁体中文版本的 Visual Studio 2010 发布应用程序时,如果在“系统必备”对话框中选中“从与我的应用程序相同的位置下载系统必备组件”选项,并选择以下任何组件作为系统必备组件,可能会显示生成错误:

    1.Microsoft .NET Framework 4(x86 和 x64) 
    2.Microsoft .NET Framework 4 Client Profile(x86 和 x64) 
    3.Microsoft Visual F# Runtime for .NET 2.0
    4.Microsoft Visual F# Runtime for .NET 4.0

          对于“Microsoft .NET Framework 4 Client Profile(x86 和 x64)”系统必备项,系统可能会显示下面的生成错误:

    “MSB3152: 系统必备的安装位置未设置为‘组件供应商的网站’,无法在磁盘上找到项‘Microsoft .NET Framework 4 Client Profile (x86 和 x64)’中的文件‘DotNetFX40Client/dotNetFx40LP_Client_x86_x64cs.exe’。 有关详细信息,请参见‘帮助’。”

          这是由于可再发行语言包的位置不正确或缺失导致的 ClickOnce 发布失败。

          下面我们就以“Microsoft .NET Framework 4 Client Profile(x86 和 x64)”为例,其它三个也需要依葫芦画瓢。另外,如果选了Microsoft .NET Framework 4(x86 和 x64),就不需要再勾选 Microsoft .NET Framework 4 Client Profile(x86 和 x64)了,它们之间应该是整体与部分的关系。

    1.导航到文件夹“%ProgramFiles%/Microsoft SDKs/Windows/v7.0A/Bootstrapper/Packages/DotNetFX40Client”。 对于 x64 操作系统,该路径位于 %ProgramFiles(x86)% 下。 
    2.若使用的简体 VS2010,则创建新文件夹,命名为 zh-chs;若是繁体的,则新文件夹名为 zh-cht。
    3.若使用的简体 VS2010,将 zh-Hans 文件夹内的文件复制到 zh-chs 文件夹内;若是繁体的,则复制 zh-Hant 文件夹内容到 zh-cht。
    4.在管理员模式下打开 Package.xml。
    5.若使用的简体 VS2010,找到 <String Name=”Culture”>zh-hans</String>,并将 zh-hans 改为 zh-chs;若是繁体的,则替换 zh-Hant 为 zh-cht。

          完成上面的修改后,再发布程序。OK了?那你很幸运!

          还报错,提示未能找到文件“C:/Program Files/Microsoft SDKs/Windows/v7.0A/Bootstrapper/Packages/DotNetFX40Client/cs/dotNetFx40LP_Client_x86_x64cs.exe”。

    恭喜你,幸运仍然伴你左右,因为下面就有解决的办法。如果不是类似的错误,那你就要做好思想准备了,Good luck! bye bye.

          言归正传,也许你已经注意到了,在 Microsoft SDKs/Windows/v7.0A/Bootstrapper/Packages/DotNetFX40Client 文件夹中有许多文件夹,多是以简单的几个字母命名,其实他们对应各国的语言包,文章的最后列出了常见的国名与缩写对照表,cs 是指捷克,上面的错误实际是因为缺少捷克的语言包造成的(1搞不懂发布简繁体的程序为什么需要捷克的语言包)。

          接下来我们打开 cs 文件夹中的 Package.xml 文件,找到 DotNetFX40ClientLanguagePackBootstrapper 元素,其值是 http://go.microsoft.com/fwlink/?linkid=164196&amp;clcid=0x405,这就是下载捷克语言包的地址,不用试了,下不了的,微软做了处理,会自动定向下载请求者所在国家的语言包(2搞不懂,既然有了自动重定向,干吗还要提供不同的地址)。

          让我们继续吧,别再管什么语言包了,发布简繁的中文程序不需要其它国家的语言,VS 2010 要,那就给它的假的,走形势而已,把 zh-chs 文件夹里的中文语言包复制一个到 cs 文件夹,并重命名为 dotNetFx40LP_Client_x86_x64cs.exe。如果你是一个"正直的人",看不惯弄虚做假这一套,可以到这里下载正版的捷克语言包。好了,现在去发布程序,应该没什么问题了,再有问题也不是这个帖子的事了。


    国家语言包与缩写对照,没什么实际用处,看看得了

    阿拉伯 ar
    波兰 pl
    丹麦 da
    德语 de
    俄语 ru
    法语 fr
    芬兰 fi
    韩语 ko
    荷兰 nl
    捷克 cs
    挪威(博克马尔) no
    葡萄牙 pt-BR
    葡萄牙 pt-PT
    日语 ja
    瑞典 sv
    土耳其 tr
    西班牙 es
    希伯来 he
    希腊 el
    匈牙利 hu
    意大利 it
    中文(繁) zh-Hant
    中文(简) zh-Hans

  • 相关阅读:
    通过user-agent判断h5页面是在哪个手机App(QQ、微信、支付宝)下打开的
    vscode格式化插件
    简单直接,“NODE_ENV”总结
    NativeScript又一个Hybrid技术(附与Weex,ReactNative比较)
    ReactNative开发中遇到的问题记录
    两个在线编辑网站runjs和jsbin
    go 如何单测
    go语法-type等
    go语法-结构体和接口-细节
    解决 Webstorm 每次更新 Git 代码都要输入密码的问题
  • 原文地址:https://www.cnblogs.com/carl2380/p/2305000.html
Copyright © 2011-2022 走看看