本鱼拟成立工作室承接项目开发/软件定制/云设施开发运维/办公设备技术支持等,如您有相关需求,欢迎来询 | ::博客文章推荐::

英文版系统上的中文VS2008菜单为英文以及打开会报告包加载错误的解决方法

: 开发工具 木魚 2822℃ 0评论

(本文的系统为Windows7Beta版,对于其它的英文版OS应该也有用)

早期的Windows7Beta版我用的是英文版加了中文包的,在它下面VS2008和SQL2008中文版的安装和使用都很正常,但是在那下面VS2008会出现问题,就是 Windows7 下的 VS2008 中LINQ设计界面鼠标移过数据表时表会消失 。那个下面没找到合适的解决办法,后来终于看到 7048 版的 WIndows7 Beta 出来了,很高兴得装上以后一看果然这个BUG已经消失了,正合我意。

但是出现了一些很郁闷的问题:

  1. 虽然说是中文版的SQL2008,但是安装界面全是英文。安装好的Management studio里面菜单什么的都是中文,但是左侧资源列表都是英文。
  2. VS2008打开后,启动界面英文,菜单半中半英,最严重的问题是连续会报好几个包无法加载(见下图),直接导致VS2008无法正常使用。

无法加载的包:

  1. “Visual Studio HTM Editor Package”( GUID = {1B437D20-F8FE-11D2-A6AE-00104BCC7269} )
  2. “Visual Web Developer HTML Source Editor Package”( GUID = {BFCC0C3C-6F87-4285-A6C8-BB616061800D} )

部分截图如下:

vs_chs_under_en-us_os_menu

vs_chs_under_en-us_os_pkg

 

由于系统是从7000上升级安装的,所以我尝试重装了系统全新安装,但是首先就遇到了一个问题:VS2008的SP1补丁无法安装,提示安装时遇到错误。

查看错误日志得知是.net Framework3.5的LangPack无法安装。找到这个安装包 dotnetfx35langpack_x64zh-CHS.exe (中文版操作系统,英文版为:dotnetfx35langpack_x86zh-CHS.exe)手动运行,发现错误提示是“要打开或关闭.net Framework功能,请通过Windows的控制面板”。

噢!但是英文版的操作系统怎么可能装中文的语言包呢,这点儿上系统特傻无比。折腾了大半天后终于找到了解决办法,就是把安装的顺序中关于语言包的删掉。具体就是打开 SPInstaller.exe 同目录的 ParameterInfo.xml 这个文件,找到以下内容然后删掉:

   1:  <Exe Name="dotnetfx35langpack_x86zh-CHS.exe" URL="http://go.microsoft.com/fwlink/?LinkId=118146&amp;clcid=0x409" DownloadSize="28694568" SystemDriveSize="12273504" InstalledProductSize="0" InstallCommandLine="/q /norestart" UninstallCommandLine="/q /uninstall /norestart" CanonicalTargetName="#(loc.dotnetfx35lp)" ExeType="Cartman" LogFileHint="%temp%dd_dotnet*.txt|%temp%dd_net_framework*.txt|%temp%dd_depcheck*.txt|%temp%..dd_dotnet*.txt|%temp%..dd_net_framework*.txt|%temp%..dd_depcheck*.txt" HashValue="354EF066A4CF16B9CC0B2F46072120B2FE5A5058947969901F8A157AAFF99351"> 
   2:    <ApplicableIf> 
   3:      <And> 
   4:        <Equals LeftHandSide="x86" BoolWhenNonExistent="false"> 
   5:          <TargetArchitecture /> 
   6:        </Equals> 
   7:        <GreaterThan LeftHandSide="3.5.30729.01" BoolWhenNonExistent="true"> 
   8:          <RegKeyValue Location="HKEY_LOCAL_MACHINESOFTWAREMicrosoftNET Framework SetupNDPv3.52052Version" /> 
   9:        </GreaterThan> 
  10:      </And> 
  11:    </ApplicableIf> 
  12:  </Exe> 
  13:  <Exe Name="dotnetfx35langpack_x64zh-CHS.exe" URL="http://go.microsoft.com/fwlink/?LinkId=118151&amp;clcid=0x409" DownloadSize="34967080" SystemDriveSize="17534816" InstalledProductSize="0" InstallCommandLine="/q /norestart" UninstallCommandLine="/q /uninstall /norestart" CanonicalTargetName="#(loc.dotnetfx35lp)" ExeType="Cartman" LogFileHint="%temp%dd_dotnet*.txt|%temp%dd_net_framework*.txt|%temp%dd_depcheck*.txt|%temp%..dd_dotnet*.txt|%temp%..dd_net_framework*.txt|%temp%..dd_depcheck*.txt" HashValue="4CC0A5EA3E1497BA6B7C006CC57C0A686282DF02EC4E5B0EBDBC9F0B2E4728B5"> 
  14:    <ApplicableIf> 
  15:      <And> 
  16:        <Equals LeftHandSide="x64" BoolWhenNonExistent="false"> 
  17:          <TargetArchitecture /> 
  18:        </Equals> 
  19:        <GreaterThan LeftHandSide="3.5.30729.01" BoolWhenNonExistent="true"> 
  20:          <RegKeyValue Location="HKEY_LOCAL_MACHINESOFTWAREMicrosoftNET Framework SetupNDPv3.52052Version" /> 
  21:        </GreaterThan> 
  22:      </And> 
  23:    </ApplicableIf> 
  24:  </Exe>

修改后保存,然后SP1补丁就能正常安装了。

但是噩耗接着就来了,VS2008装好后症状一点没变(我是先装SQL2008再装VS2008的,未知是否与安装顺序有关,但是我实在没耐心再去反复卸载安装了)……在网上搜了一圈找到一个和我同样遭遇的哥们儿:升级VS2008 SP1后发生"包加载失败"的问题..,看时间他是半年前发的内容了,没回复也没啥的,不知道他是否解决了问题。

我在VS里面死撑着找新鲜感的时候看到了一个选项……没想到选了以后就解决了,那个瀑布汗啊,我的时间不是时间吗可以这么浪费的。

vs_chs_under_en-us_os_set

菜单“Tools”-“Options”,在Environment下的“International Settings”里面把Language改成“中文(简体)”而不要选择“Same as Microsoft Windows”以后重启就可以了。

汗,但是为什么这个会导致包加载错误和半中半英的菜单和界面仍是未知数……微软做的东西也不尽完美啊。

喜欢 (0)
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址