注:解决方法在最后,心急的童鞋可以直接往下滚动。

我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,保存即可。

-文毕-

【SQL】SQL2012离线帮助文档安装不上的处理手记的更多相关文章

  1. IOS xcode 离线帮助文档安装和安装路径

    将想要安装的xcode 帮助文档 版本,将 ‘帮助文档包’ 放入‘xcode 帮助文档安装路径’.再将Xcode软件重启. xcode 帮助文档安装路径: 在‘应用程序’->Xcode软件 右击 ...

  2. 关于SqlServer2012本地帮助文档安装失败问题

    由于本人在前一段时间安装了SqlServer2012,安装后没有自带本地帮助文档,因为新的数据库版本微软捆绑了一个本地帮助文档查看器软件,所以在这个软件里面选择联机安装的时候,总是下载不成功,原因你们 ...

  3. VS2017 下载离线MSDN文档

    VS2017 下载离线MSDN文档 点开帮助窗口的时候发现没有添加和删除帮助内容选项.处理方法如下: 1.打开vs2017安装包,如果你找不到安装包,可在相应你下载vs2017的浏览器上找到下载内容, ...

  4. Zeal——好用的离线 API 文档大全!

    介绍 作为一名程序员,工作中学习中免不了是要查询API文档的,毕竟我们能记住的东西有限,而且经常也会碰到某个API一时想不起来的情况,而每次还要打开网页去查询还是挺麻烦的,这时候拥有一个款好用的本地离 ...

  5. 四.OC基础--1.文档安装和方法重载,2.self和super&static,3.继承和派生,4.实例变量修饰符 ,5.私有变量&私有方法,6.description方法

    四.OC基础--1.文档安装和方法重载, 1. 在线安装 xcode-> 系统偏好设置->DownLoads->Doucument->下载 2. 离线安装 百度xcode文档 ...

  6. NSBundle、UIImageView和UIButton对比、Xcode文档安装路径、Xcode模拟器安装路径

    1.NSBundle1> 一个NSBundle代表一个文件夹,利用NSBundle能访问对应的文件夹2> 利用mainBundle就可以访问软件资源包中的任何资源3> 模拟器应用程序 ...

  7. Visual Studio 2013 帮助文档 安装以及如何直接打开

    1.在线安装VS2013的MSDN帮助文档 在利用VS2013集成开发环境(IDE)开发程序代码时会经常用到帮助文档,但默认情况下在帮助文档是在线以网页的形式呈现的,当我们不方便上网时就不能够查看帮助 ...

  8. SpringBoot整合knife4j框架(可生成离线接口文档),并设置接口请求头token默认值

    功能和swagger类似 官网地址:https://doc.xiaominfo.com/knife4j/ 这个框架可以设置返回字段的描述 引入依赖 <dependency> <gro ...

  9. [sharepoint]rest api文档库文件上传,下载,拷贝,剪切,删除文件,创建文件夹,修改文件夹属性,删除文件夹,获取文档列表

    写在前面 最近对文档库的知识点进行了整理,也就有了这篇文章,当时查找这些接口,并用在实践中,确实废了一些功夫,也为了让更多的人走更少的弯路. 系列文章 sharepoint环境安装过程中几点需要注意的 ...

随机推荐

  1. 浅谈Excel开发:五 Excel RTD函数

        上文介绍了Excel中的UDF函数,本文介绍一下同样重要的RTD函数.从Excel 2002开始,Excel引入了一种新的查看和更新实时数据的机制,即real-time data简称RTD函数 ...

  2. http学习笔记(一)

    写在前面: 第一次想写系列文章,学习了一些web知识后,发现自己还有很大的不足,但又不知道该学习些什么来完善自己的知识体系,偶然在网上看到了一篇介绍http的文章,觉得对自己有一些帮助,于是想要开始学 ...

  3. SWF READER 破解日志。

    网上传闻swf reader是破解最厉害的神器,可以内存抓取+doSWF反编译.所以去官网下了一个: SWF_Reader_2.3 不出所料,demo版本没有反编译的功能.网上搜到一个哥们尝试了下: ...

  4. zk系列-zookeeper的使用

    zk支持java/c访问,java常用的有apache-zkclient.社区版的i0tec-zkclient.github.adyliu,apache-zkclient是zk自身提供的接口,i0te ...

  5. 为什么说Java中的随机数都是伪随机数?

    什么是伪随机数?  1.伪随机数是看似随机实质是固定的周期性序列,也就是有规则的随机. 2.只要这个随机数是由确定算法生成的,那就是伪随机,只能通过不断算法优化,使你的随机数更接近随机.   (随机这 ...

  6. 《Node.js实战(双色)》作者之一——吴中骅访谈录

  7. jquery 插件开发

    一.$.extend()  这种方式用来定义一些辅助方法是比较方便的 $.extend({ sayHello:function(name){ console.log('Hello:'+name); } ...

  8. Spring-Context的注解实现依赖注入功能

    使用Spring-Context的注解实现依赖注入功能. Demo要点: 本例子中主要使用Annotation功能来实现对MoviceService的注入.我们将Cinema.java的头部标注为@C ...

  9. CSS中模拟父元素选择器

    很多情况下,我们需要找到父元素,但可惜的是css中并没有这样的一个选择器. 至于原因可以看张鑫旭的如何在CSS中实现父选择器效果这篇文章. 简单来说这个实现并不是真正的父元素选择器,只是利用其它思路来 ...

  10. OpenCascade BRep Format Description (2)

    OpenCascade BRep Format Description eryar@163.com 摘要Abstract:本文结合OpenCascade的BRep格式描述文档和源程序,对BRep格式进 ...