专栏首页AhDung【SQL】SQL2012离线帮助文档安装不上的处理手记

【SQL】SQL2012离线帮助文档安装不上的处理手记

我SQL实例装的是2008 R2版,由于该版自带的SSMS(Microsoft SQL Server Management Studio 管理工具)存在一些操蛋问题,例如:

- 文本编辑器中对矩形文本块(alt+鼠标左键选取)的操作支持不好,例如不能多行批量键入,块粘贴之类

- 复制结果集时,cell中的回车换行会变为两个空格,不能准确得到cell的值,这点尤为操蛋

于是我安装了独立版的SSMS 2014(https://www.microsoft.com/zh-CN/download/details.aspx?id=42299,点击【下载】后选择SQLManagementStudio_x64_CHS.exe),没错,用2014版的管理工具管理08R2版的实例,但独立版SSMS不带帮助文档,所以安装完成后,在帮助查看器中搜不到任何内容,很不方便,所以想着把帮助文档装上。本来想装08R2版的帮助,毕竟实例就是08R2,一切开发都要围绕这个版本,而新版本的帮助必然会多出一些新功能的文档,会造成干扰甚至误导,但找来找去始终找不到08R2的离线帮助,只好退而求其次,装2012版的帮助。本来可以直接使用帮助查看器自带的【联机安装内容】进行安装,但那个下载速度实在不能忍受,谁用谁知道,所以采用下载离线帮助,然后用【从磁盘安装内容】的方式进行安装,2012离线帮助下载地址:http://www.microsoft.com/zh-cn/download/details.aspx?id=347

下载下来是个叫【SQLServer2012Documentation_June_CHS.exe】的自解压文件,双击→选择解压位置,得到目录【SQLServer2012Documentation_June_CHS】,如图:

其中【HelpContentSetup.msha】就是可供【从磁盘安装内容】时选择的msha文件,一路操作,到真正安装时必然弹出如下错误:

好吧,看日志(运行eventvwr.msc),果然有这么一条:

可是有屌用,遂找度娘,是有那么几条说这问题的,但都没说出什么所以然。不过也好,起码说明这个问题不是我一个人遇上,那就应该是一个共性问题,基本可以排除运行环境方面的原因。继续折腾。

在捣腾帮助管理器时,发现其中有个界面提到一个路径,如图:

按我理解,这里就是存储离线帮助的地方(后经研究,确定不是,这里应该只是MS自用的离线帮助安装包存储目录,帮助经过安装后,内容会被释放到C:\ProgramData\Microsoft\HelpLibrary\content\Microsoft\store,相当于软件安装包所在目录和软件安装目录的区别),在里面果然发现已经有一些HelpContentSetup.msha,抱着试一试的态度,在【从磁盘安装内容】时选择这些msha试了一下,没有报错,有戏,把msha文件拖进记事本,很好,能正常显示,是个html描述的文件,接下来就对比下载的HelpContentSetup.msha与HelpLibrary中的有什么不同:

这个过程是痛苦的,因为msha里面是引用别的html/xml文件,这些文件中又引用别的html/xml文件,最后引用到实实在在的帮助内容文件(cab包),整个是个文件引用链,每一个环节都可能是原因所在,我是把链子上相关的文件精简到只引用一个cab情况,仍然报错,考虑到会不会是cab包的版本、损坏之类的问题,又把正常的cab换过来,把相关href改了再试,问题依旧~NND,我就不信邪了,决定从链子的末端开始,逐步替换成能正常安装的内容,替换一环试一次,直到把HelpContentSetup.msha替换掉,总算正常了,说明TMD问题还就是出在msha上,既然锁定是这货,睁大眼睛也要把问题揪出来。还好msha内容不多,就那么几行,有问题的msha与正常msha有一些不同,包括innerText上的,标签顺序上的,我就对照正常msha逐行修改,改一次试一次,直到看到<span class="locale">zh-zn</span>:

你妹啊,zh-zn是个神马玩意儿,瞬间感到问题逮到了。上了一课,以后再揪MS问题的时候,切不可再忽略拼写错误这种弱智原因,编写这文档的这厮应该拖出来割JJ,操!失误不稀奇,但你TM都不带测试的么,你TM那么长时间了都没发现这个问题么。

有关语系/地区码的相关知识请参看:

http://zh.wikipedia.org/wiki/ISO_639-1

http://zh.wikipedia.org/wiki/ISO_3166-1

BTW,在知道原因后,再用HelpContentSetup.msha zh-zn为关键字去搜百度,TNND能搜到了,其实早有仁兄发现这个问题了,http://www.cnblogs.com/lipengzhou/p/3750815.html,百度你靠点谱行不行。

解决办法:用记事本把HelpContentSetup.msha打开,把zh-zn改为zh-cn,保存即可。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【手记】调用Process.EnterDebugMode引发异常:并非所有引用的特权或组都分配给呼叫方

    刚上线一个新版本,其中有台电脑打开软件就报【xx的类型初始值设定项引发异常】(还好不是一大波电脑,新东西上线就怕哀鸿遍野),如图:

    AhDung
  • VSTO部署中的坑

    在【Internet 属性】里(可运行inetcpl.cpl打开),把服务器内网IP加进【受信任站点】就好,不用管excel信任中心。

    AhDung
  • 【处理手记】Configuration system failed to initialize异常的另类原因

    度娘一番,发现市面上常见的原因是配置文件中的特定节点的位置不对,或者配置文件损坏等等,而这个程序根本没有使用内置的配置文件方案,而是用的ini,所以不适用我的问...

    AhDung
  • Ubuntu下安装Nginx+PHP+MySql环境

    写在之前: 之前腾讯云线下推广的时候给同学们讲过一趟基于ubuntu系统安装WordPress搭建自己的个人博客的课程。最近刚好有个朋友想要学习下ubuntu系...

    李郑
  • 如何在同一台电脑(windows系统)上

    我们都知道python现在主要使用的有2个版本2.x和3.x,而这2个版本的语法却有很多的不同,python3.x并不是向下兼容2.x的。虽然说3.x是未来py...

    py3study
  • 非分区表是否可以创建分区索引?

    MOS这篇文章给出了答案,以及一些例子,What Is The Global Partitioned Index On Non Partitioned Tabl...

    bisal
  • SQL Server分区表(六):将已分区表转换成普通表

    在前面,我们介绍过怎么样直接创建一个分区表,也介绍过怎么将一个普通表转换成一个分区表。那么,这两种方式创建的表有什么区别呢?现在,我又最新地创建了两个表:

    Vaccae
  • 一道面试题让我重新学了一遍匿名函数

    首先祝各位节日快乐,不管有没有npy,大家还是要快乐,过节也不能停止学习。上一篇文章群友问了道3行代码的python面试题,我懵逼了...给大家说了一道Pyth...

    Python进击者
  • SQL Tuning 基础概述10 - 体会索引的常见执行计划

    在《SQL Tuning 基础概述05 - Oracle 索引类型及介绍》的1.5小节,提到了几种"索引的常见执行计划":

    Alfred Zhao
  • Oracle 数据库实例启动关闭过程

    Oracle数据库实例的启动,严格来说应该是实例的启动,数据库仅仅是在实例启动后进行装载。Oracle数据启动的过程被划分为

    Leshami

扫码关注云+社区

领取腾讯云代金券