【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,保存即可。
-文毕-
【SQL】SQL2012离线帮助文档安装不上的处理手记的更多相关文章
- IOS xcode 离线帮助文档安装和安装路径
将想要安装的xcode 帮助文档 版本,将 ‘帮助文档包’ 放入‘xcode 帮助文档安装路径’.再将Xcode软件重启. xcode 帮助文档安装路径: 在‘应用程序’->Xcode软件 右击 ...
- 关于SqlServer2012本地帮助文档安装失败问题
由于本人在前一段时间安装了SqlServer2012,安装后没有自带本地帮助文档,因为新的数据库版本微软捆绑了一个本地帮助文档查看器软件,所以在这个软件里面选择联机安装的时候,总是下载不成功,原因你们 ...
- VS2017 下载离线MSDN文档
VS2017 下载离线MSDN文档 点开帮助窗口的时候发现没有添加和删除帮助内容选项.处理方法如下: 1.打开vs2017安装包,如果你找不到安装包,可在相应你下载vs2017的浏览器上找到下载内容, ...
- Zeal——好用的离线 API 文档大全!
介绍 作为一名程序员,工作中学习中免不了是要查询API文档的,毕竟我们能记住的东西有限,而且经常也会碰到某个API一时想不起来的情况,而每次还要打开网页去查询还是挺麻烦的,这时候拥有一个款好用的本地离 ...
- 四.OC基础--1.文档安装和方法重载,2.self和super&static,3.继承和派生,4.实例变量修饰符 ,5.私有变量&私有方法,6.description方法
四.OC基础--1.文档安装和方法重载, 1. 在线安装 xcode-> 系统偏好设置->DownLoads->Doucument->下载 2. 离线安装 百度xcode文档 ...
- NSBundle、UIImageView和UIButton对比、Xcode文档安装路径、Xcode模拟器安装路径
1.NSBundle1> 一个NSBundle代表一个文件夹,利用NSBundle能访问对应的文件夹2> 利用mainBundle就可以访问软件资源包中的任何资源3> 模拟器应用程序 ...
- Visual Studio 2013 帮助文档 安装以及如何直接打开
1.在线安装VS2013的MSDN帮助文档 在利用VS2013集成开发环境(IDE)开发程序代码时会经常用到帮助文档,但默认情况下在帮助文档是在线以网页的形式呈现的,当我们不方便上网时就不能够查看帮助 ...
- SpringBoot整合knife4j框架(可生成离线接口文档),并设置接口请求头token默认值
功能和swagger类似 官网地址:https://doc.xiaominfo.com/knife4j/ 这个框架可以设置返回字段的描述 引入依赖 <dependency> <gro ...
- [sharepoint]rest api文档库文件上传,下载,拷贝,剪切,删除文件,创建文件夹,修改文件夹属性,删除文件夹,获取文档列表
写在前面 最近对文档库的知识点进行了整理,也就有了这篇文章,当时查找这些接口,并用在实践中,确实废了一些功夫,也为了让更多的人走更少的弯路. 系列文章 sharepoint环境安装过程中几点需要注意的 ...
随机推荐
- [ZigBee] 9、ZigBee之AD剖析——AD采集CC2530温度串口显示
1.ADC 简介 ADC 支持多达14 位的模拟数字转换,具有多达12 位有效数字位.它包括一个模拟多路转换器,具有多达8 个各自可配置的通道:以及一个参考电压发生器.转换结果通过DMA 写入存储器. ...
- 第二章 深入 C# 数据类型
第二章 深入 C# 数据类型 1.封装又称信息隐藏,是指利用抽象数据类型将数据和数据的操作结合在一起,使其构成一个不可分割的独立实体,尽可能的隐藏内部的细节,只保留一些对外接口,使之于外部发生联系. ...
- xml存储bug
最近遇到了一个bug,详细情况如下:用linq to xml写xml文件,在加载的时候代码为xDocument.Load(filePath),保存的时候为xDocument.Save(filePath ...
- 手打的笔记,java语法中的输入输出,语句,及注释。
手打的笔记: () 内的则为注意事项或者提示 public static void main (String[] args) ******(用一个方法)****{ int i = 10; int j ...
- 破解Excel密码保护文件
首先打开vba编辑器,输入代码: Public Sub AllInternalPasswords() ' Breaks worksheet and workbook structure passwor ...
- rabbitmq消息队列——"路由"
在之前的教程中,我们创建了一个简单的日志系统.我们能够向许多交换器转发日志消息. 在本教程中,我们将添加一个功能--我们让它仅仅接收我们感兴趣的日志类别.举例:我们 实现仅将严重级别的错误日志写入磁盘 ...
- vuejs学习网站推荐
vuejs学习网站推荐 https://coligo.io/
- 11.按要求编写Java应用程序。 (1)创建一个叫做机动车的类: 属性:车牌号(String),车速(int),载重量(double) 功能:加速(车速自增)、减速(车速自减)、修改车牌号,查询车的载重量。 编写两个构造方法:一个没有形参,在方法中将车牌号设置“XX1234”,速 度设置为100,载重量设置为100;另 一个能为对象的所有属性赋值; (2)创建主类: 在主类中创建两个机动车对象。
package java1; public class Che { //属性 public String nub; public int speed; public double weight ; C ...
- 探讨js字符串数组拼接的性能问题
这篇文章主要介绍了有关js对字符串数组进行拼接的性能问题,字符串连接一直是js中性能最低的操作之一,应该如何解决呢?请参看本文的介绍 我们知道,在js中,字符串连接是性能最低的操作之一. 例如: 复制 ...
- 图(C描述)
一.概念 图是由顶点的非空有限集合V(由N>0个顶点组成)与边的集合E(顶点之间的关系)构成.边没有方向的图成为无向图,反之为有向图 无向图: