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

我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. 本地DNS安装

    在centOS里最常用的DNS服务工具应该是bind了.下面就以bind为例做一个DNS服务. 首先查看bind 是否已经安装 Rpm -qa | gerp bind 如果没有的话就用yum 安装一下 ...

  2. 使用后缀数组寻找最长公共子字符串JavaScript版

    后缀数组很久很久以前就出现了,具体的概念读者自行搜索,小菜仅略知一二,不便讨论. 本文通过寻找两个字符串的最长公共子字符串,演示了后缀数组的经典应用. 首先需要说明,小菜实现的这个后缀数组算法,并非标 ...

  3. Vue 子组件向父组件传参

    直接上代码 <body> <div id="counter-event-example"> <p>{{ total }}</p> & ...

  4. lua实现深度拷贝table表

    lua当变量作为函数的参数进行传递时,类似的也是boolean,string,number类型的变量进行值传递.而table,function,userdata类型的变量进行引用传递.故而当table ...

  5. fir.im Weekly - 当技术成为一种 “武器”

    最近纷纷扰扰,快播公开庭审,携程事件仍在升级,百度还在继续无底线.我们相信技术本身并不可耻,但是用技术作恶就是可耻.当技术成为一种武器,Do not be evil. 好了,继续本期的 fir.im ...

  6. hadoop本地库与系统版本不一致引起的错误解决方法

    hadoop本地库与系统版本不一致引起的错误解决方法 部署hadoop的集群环境为 操作系统 centos 5.8 hadoop版本为cloudera   hadoop-0.20.2-cdh3u3 集 ...

  7. 对于System.Net.Http的学习(二)——使用 HttpClient 进行连接

    对于System.Net.Http的学习(一)——System.Net.Http 简介  使用 HttpClient 进行连接 使用 System.Net.Http 命名空间中的 HttpClient ...

  8. Workflow中InArgument与OutArgument区别

    序号 InArgument[In参数] OutArgument[Out参数] 1 可以用VS设计器在xaml中定义[In参数]  可以用VS设计器在xaml中定义[Out参数] 2 在xaml中定义的 ...

  9. 编译原理简单语法分析器(first,follow,分析表)源码下载

    编译原理(简单语法分析器下载) http://files.cnblogs.com/files/hujunzheng/%E5%8A%A0%E5%85%A5%E5%90%8C%E6%AD%A5%E7%AC ...

  10. poj1949Chores(建图或者dp)

    /* 题意:n个任务,有某些任务要在一些任务之前完成才能开始做! 第k个任务的约束只能是1...k-1个任务!问最终需要最少的时间完成全部的 任务! 思路:第i个任务要在第j个任务之前做,就在i,j之 ...