Visual Studio 2010 简体中文版上Windows项目包含本地系统必备组件发布失败处理方法
2012-02-14 15:53
513 查看
在尝试Visual Studio 2010 简体中文版时,我发现创建一个并发布Windows类型的项目时(如一个 C# windows 应用程序),如果在发布应用程序时选择使用“Microsoft .NET Framework 4 Client Profile (x86 and x64)”作为“系统必备”组件,同时选中“从与我的应用程序相同的位置下载系统必备组件”,会遇到如下错误:
“MSB3152: 系统必备组件的安装位置未设置为“组件供应商的网站”,并且无法在磁盘上找到项“Microsoft .NET Framework 4 Client Profile (x86 and x64)”中的文件“DotNetFX40Client\dotNetFx40LP_Client_x86_x64cs.exe”。有关详细信息,请参见帮助。”
然后我看了看VS2010的自述文件(http://download.microsoft.com/download/5/D/7/5D76B235-1073-477E-82F0-AEA4A20E4F71/VS2010RTM.htm#General),得到了如下的解决方案:
Visual Studio 2010 自述文件 Visual Studio 2010 自述文件
Microsoft .NET Framework 4(x86 和 x64)
Microsoft .NET Framework 4 Client Profile(x86 和 x64)
Microsoft Visual F# Runtime for .NET 2.0
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’。 有关详细信息,请参见‘帮助’。”
解决此问题的方法:[/u]
若要在简体中文版本中解决此问题,请按以下步骤操作:
导航到文件夹“%ProgramFiles%\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\DotNetFX40Client”。 对于 x64 操作系统,该路径位于 %ProgramFiles(x86)% 下。
将 zh-Hans 文件夹复制到名为 zh-chs 的新文件夹
导航到 zh-chs 文件夹。
在管理员模式下打开 Package.xml。
按如下方法将 >Culture< 的值更改为 zh-chs:
<String Name=”Culture”>zh-chs</String>
若要在繁体中文版本中解决此问题,请按以下步骤操作:
导航到文件夹“%ProgramFiles%\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\DotNetFX40Client”。 对于 x64 操作系统,该路径位于 %ProgramFiles(x86)% 下。
将 zh-Hant 文件夹复制到名为 zh-cht 的新文件夹
导航到 zh-cht 文件夹。
在管理员模式下打开 Package.xml。
按如下方法将 >Culture< 的值更改为 zh-cht:
<String Name=”Culture”>zh-cht</String>
Microsoft .NET Framework 4(x86 和 x64)
Microsoft .NET Framework 4 Client Profile(x86 和 x64)
Microsoft Visual F# Runtime for .NET 2.0
Microsoft Visual F# Runtime for .NET 4.0
解决此问题的方法:[/u]
若要在简体中文版本中解决此问题,请按以下步骤操作:
导航到文件夹“%ProgramFiles%\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\DotNetFX40Client”。 对于 x64 操作系统,该路径位于 %ProgramFiles(x86)% 下。
将 zh-Hans 文件夹复制到名为 zh-chs 的新文件夹
导航到 zh-chs 文件夹。
在管理员模式下打开 Package.xml。
按如下方法将 >Culture< 的值更改为 zh-chs:
<String Name=”Culture”>zh-chs</String>
若要在繁体中文版本中解决此问题,请按以下步骤操作:
导航到文件夹“%ProgramFiles%\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\DotNetFX40Client”。 对于 x64 操作系统,该路径位于 %ProgramFiles(x86)% 下。
将 zh-Hant 文件夹复制到名为 zh-cht 的新文件夹
导航到 zh-cht 文件夹。
在管理员模式下打开 Package.xml。
按如下方法将 >Culture< 的值更改为 zh-cht:
<String Name=”Culture”>zh-cht</String>
看来问题在于NetFramework4 更改了简体中文与繁体中文的language code (zh-Hans/zh-Hant),但vs2010在这里并没有正确的识别。以至于在发布clickonce时出现了错误。
不过我个人觉得文中给出的解决方案太过于繁琐了。其实有更简单的解决方案。
打开 "C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\DotNetFX40Client" ,可以看到里面有很多不同语言的文件夹,其中zh-Hans就是简体中文文件所在的位置。直接把它前面的所有文件夹删掉,或者剪切走,然后重启VS应用程序,就可以了。
当然,如果需要以别的语言发布,那么还得按照文档的要求来做。我这里只是找了个省事的方法。
============================
C:\Program Files\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages目录下的“一级文件夹”对应的exe文件为组件安装程序,“一级文件夹”下的zh-Hans目录下为简体汉化包程序.
例:发布所需要的组件位置:(直接把下面对应的组件复制出来打包安装即可)
DotNetFX40:(安装组件)
C:\Program Files\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\DotNetFX40\dotNetFx40_Full_x86_x64.exe
DotNetFX40:(安装组件简体语言包)
C:\Program Files\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\DotNetFX40\zh-Hans\dotNetFx40LP_Full_x86_x64zh-Hans.exe
DotNetFX40Client:(安装组件)
C:\Program Files\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\DotNetFX40Client\dotNetFx40_Client_x86_x64.exe
DotNetFX40Client:(安装组件简体语言包)
C:\Program Files\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\DotNetFX40Client\zh-Hans\dotNetFx40LP_Client_x86_x64zh-Hans.exe
WindowsInstaller4_5:(xp)
C:\Program Files\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\WindowsInstaller4_5\WindowsXP-KB942288-v3-x86.exe
WindowsInstaller3_1:
C:\Program Files\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\WindowsInstaller3_1\WindowsInstaller-KB893803-v2-x86.exe
实际情况可能是:
dotNetFx40LP_Full_x86_x64cs.exe 可以加在DotNetFX40/cs文件夹中。
“MSB3152: 系统必备组件的安装位置未设置为“组件供应商的网站”,并且无法在磁盘上找到项“Microsoft .NET Framework 4 Client Profile (x86 and x64)”中的文件“DotNetFX40Client\dotNetFx40LP_Client_x86_x64cs.exe”。有关详细信息,请参见帮助。”
然后我看了看VS2010的自述文件(http://download.microsoft.com/download/5/D/7/5D76B235-1073-477E-82F0-AEA4A20E4F71/VS2010RTM.htm#General),得到了如下的解决方案:
Visual Studio 2010 自述文件 Visual Studio 2010 自述文件
2.4.1.38 可再发行语言包的位置不正确导致 ClickOnce 发布失败。
如果在“系统必备”对话框中选中“从与我的应用程序相同的位置下载系统必备组件”选项,并选择以下任何组件作为系统必备组件,则当使用简体中文或繁体中文版本的 Visual Studio 2010 发布应用程序时,可能会显示生成错误:Microsoft .NET Framework 4(x86 和 x64)
Microsoft .NET Framework 4 Client Profile(x86 和 x64)
Microsoft Visual F# Runtime for .NET 2.0
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’。 有关详细信息,请参见‘帮助’。”
解决此问题的方法:[/u]
若要在简体中文版本中解决此问题,请按以下步骤操作:
导航到文件夹“%ProgramFiles%\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\DotNetFX40Client”。 对于 x64 操作系统,该路径位于 %ProgramFiles(x86)% 下。
将 zh-Hans 文件夹复制到名为 zh-chs 的新文件夹
导航到 zh-chs 文件夹。
在管理员模式下打开 Package.xml。
按如下方法将 >Culture< 的值更改为 zh-chs:
<String Name=”Culture”>zh-chs</String>
若要在繁体中文版本中解决此问题,请按以下步骤操作:
导航到文件夹“%ProgramFiles%\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\DotNetFX40Client”。 对于 x64 操作系统,该路径位于 %ProgramFiles(x86)% 下。
将 zh-Hant 文件夹复制到名为 zh-cht 的新文件夹
导航到 zh-cht 文件夹。
在管理员模式下打开 Package.xml。
按如下方法将 >Culture< 的值更改为 zh-cht:
<String Name=”Culture”>zh-cht</String>
2.4.1.39 ClickOnce 应用程序安装的可再发行语言包不正确。
如果在“系统必备”对话框中选中“从组件供应商的网站上下载系统必备组件”选项,并选择以下任何组件作为系统必备组件,则当使用简体中文或繁体中文版本的 Visual Studio 2010 发布应用程序时,可能会无法安装简体中文或繁体中文语言包:Microsoft .NET Framework 4(x86 和 x64)
Microsoft .NET Framework 4 Client Profile(x86 和 x64)
Microsoft Visual F# Runtime for .NET 2.0
Microsoft Visual F# Runtime for .NET 4.0
解决此问题的方法:[/u]
若要在简体中文版本中解决此问题,请按以下步骤操作:
导航到文件夹“%ProgramFiles%\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\DotNetFX40Client”。 对于 x64 操作系统,该路径位于 %ProgramFiles(x86)% 下。
将 zh-Hans 文件夹复制到名为 zh-chs 的新文件夹
导航到 zh-chs 文件夹。
在管理员模式下打开 Package.xml。
按如下方法将 >Culture< 的值更改为 zh-chs:
<String Name=”Culture”>zh-chs</String>
若要在繁体中文版本中解决此问题,请按以下步骤操作:
导航到文件夹“%ProgramFiles%\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\DotNetFX40Client”。 对于 x64 操作系统,该路径位于 %ProgramFiles(x86)% 下。
将 zh-Hant 文件夹复制到名为 zh-cht 的新文件夹
导航到 zh-cht 文件夹。
在管理员模式下打开 Package.xml。
按如下方法将 >Culture< 的值更改为 zh-cht:
<String Name=”Culture”>zh-cht</String>
看来问题在于NetFramework4 更改了简体中文与繁体中文的language code (zh-Hans/zh-Hant),但vs2010在这里并没有正确的识别。以至于在发布clickonce时出现了错误。
不过我个人觉得文中给出的解决方案太过于繁琐了。其实有更简单的解决方案。
打开 "C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\DotNetFX40Client" ,可以看到里面有很多不同语言的文件夹,其中zh-Hans就是简体中文文件所在的位置。直接把它前面的所有文件夹删掉,或者剪切走,然后重启VS应用程序,就可以了。
当然,如果需要以别的语言发布,那么还得按照文档的要求来做。我这里只是找了个省事的方法。
============================
C:\Program Files\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages目录下的“一级文件夹”对应的exe文件为组件安装程序,“一级文件夹”下的zh-Hans目录下为简体汉化包程序.
例:发布所需要的组件位置:(直接把下面对应的组件复制出来打包安装即可)
DotNetFX40:(安装组件)
C:\Program Files\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\DotNetFX40\dotNetFx40_Full_x86_x64.exe
DotNetFX40:(安装组件简体语言包)
C:\Program Files\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\DotNetFX40\zh-Hans\dotNetFx40LP_Full_x86_x64zh-Hans.exe
DotNetFX40Client:(安装组件)
C:\Program Files\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\DotNetFX40Client\dotNetFx40_Client_x86_x64.exe
DotNetFX40Client:(安装组件简体语言包)
C:\Program Files\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\DotNetFX40Client\zh-Hans\dotNetFx40LP_Client_x86_x64zh-Hans.exe
WindowsInstaller4_5:(xp)
C:\Program Files\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\WindowsInstaller4_5\WindowsXP-KB942288-v3-x86.exe
WindowsInstaller3_1:
C:\Program Files\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\WindowsInstaller3_1\WindowsInstaller-KB893803-v2-x86.exe
实际情况可能是:
dotNetFx40LP_Full_x86_x64cs.exe 可以加在DotNetFX40/cs文件夹中。
相关文章推荐
- 【转】Visual Studio 2010 简体中文版上Windows项目包含本地系统必备组件发布失败处理方法
- Visual Studio 2010 简体中文版上Windows项目包含本地系统必备组件发布失败处理方法
- Visual Studio 2010 上Windows项目包含本地系统必备组件发布失败处理方法
- 关于Visual Studio 2010 简体中文版上Windows项目ClickOnce发布失败的研究
- VS2010 Visual Studio Installer 项目 系统必备(Bootstrapper) 自定义 之 WIC(Windows 图像处理组件)
- VS2010 Visual Studio Installer 项目 系统必备(Bootstrapper) 自定义 之 WIC(Windows 图像处理组件)
- Visual Studio 2010 发布Web项目提示The target "PipelinePreDeployCopyAllFilesToOneFolder" does not exist in the project.解决方法
- windows系统中端口被占用时的处理方法(Vue项目为例)
- 本地运行ASP.NET 网站组件CYQ.IIS发布--网站项目展示必备工具
- sharepoint 2010 "若要在 Visual Studio 中与 SharePoint 项目进行交互,您的系统用户帐户必须拥有管理员特权。"的解决方法
- 本地运行ASP.NET 网站组件CYQ.IIS发布--网站项目展示必备工具
- 本地运行ASP.NET 网站组件CYQ.IIS发布--网站项目展示必备工具
- 本地运行ASP.NET 网站组件CYQ.IIS发布--网站项目展示必备工具
- Win8使用过程中忘记本地密码不重装系统的处理方法
- Visual Studio 2005创建VC++智能设备项目失败的解决方法
- Windows 2003 复制大文件提示系统资源不足的处理方法
- 安装visual studio 2010 sp1,提示“一般信任关系失败”解决方法
- Visual Studio 2008 安装失败(“Web 创作组件”无法安装)解决方法
- 在本地物理机上访问虚拟机(LNMP环境)上的项目(用的是thinkphp框架)报错处理方法
- Windows系统资源不足的七种处理方法