Adobe Community Help更新错误的解决

前几天用ghost还原了系统,发现Adobe Community Help有部分帮助文档还没下载,于是开始下载。但是有一个文档Actionscript3.0 for Reference for Flex4 老是无法更新,进度条一直不前进。

想了想,好像ghost备份前这个文档正在下载中,当时赶时间就先备份了,但是后来我应该是有继续完成下载的。我的flash builder 4 安装在D盘应该不会受到影响。打开D盘,我却找不到Adobe Community Help的目录。

百度了下这里告诉我们Adobe Community Help是装在系统盘的。在xp下所有的本地内容安装在C:\Documents and Settings\当前用户\Application Data\chc.4875E02D9FB21EE389F73B8D1702B320485DF8CE.1中。

我的系统是win7,对应的目录是C:\Users\当前用户\AppData\Roaming\chc.4875E02D9FB21EE389F73B8D1702B320485DF8CE.1

研究了下目录结构,发现\Local Store\HelpCfg\zh_CN\Flex_4.0.helpcfg这个文件里存放的是下载地址,其中关键的一部分是:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<product  
id="zh_CN_Flex_4.0"
label="Flex 4"
baseUrl="http://help.adobe.com/"
path="HelpCfg/zh_CN/"
ionId="flex_product_adobelr"
ionCommentingAllowed="yes"
ionSiteArea="help"
ionRatingAllowed="yes"
ionRatingType="thumbs"
searchOptions="Community|Adobe|Blueprint"
searchDefault="Community"
multidomain="yes"
searchAdobeRefinement="site=flex_4_all"
/>
1
2
3
4
5
6
7
8
<package  
id="zh_CN_Flex_4.0_AS3LCR" alias="zh_CN/FlashPlatform/reference/actionscript/3" deprecated="yes"
label="ActionScript 3.0 Reference for Flex 4"
path="zh_CN/AS3LCR/Flex_4.0"
contextSensitivity="yes"
downloadContent="Flex_4.0_zh-cn.zip"
downloadContentDefault="no"
/>

用其中的baseUrl="http://help.adobe.com/"path="zh_CN/AS3LCR/Flex_4.0"以及downloadContent="Flex_4.0_zh-cn.zip"拼凑出下载地址:http://help.adobe.com/zh_CN/AS3LCR/Flex_4.0/Flex_4.0_zh-cn.zip。用迅雷下载好zip文件,丢到\Local Store\downloads目录,再次打开Adobe Community Help,发现还是提示该文档未更新,点击更新又开始下载,一看\Local Store\downloads目录原来的flex_4.0_zh-cn.zip又给替换成一个大小为0的空文件,重新开始下载了。

还是不甘心,于是将该zip解压完放到\Local Store\Help\zh_CN\AS3LCR/Flex_4.0,打开Adobe Community Help还是要提示更新。应该是某个文件里面写了改文档时候更新过了,而且很可能是个xml配置文件,但是仔细检查了下目录,没有找到其他配置文件有相关属性了,但是\Local Store\下有个appDB.db文件,估计是存到数据库里了。

下载了一个SQLiteSpy(见附件)用来打开该db文件(记得先关掉Adobe Community Help然后将db文件备份下再操作)。

研究了下表结构,对更新有用的主要是downloads表和integration表。downloads表记录已经下载的文档信息,integration表记录待集成的文档信息,即integration是一张临时表。integration表的结构如下:

于是输入:

1
insert into integration values('zh_CN_Flex_4.0','zh_CN_Flex_4.0_AS3LCR','C:\Users\lihui\AppData\Roaming\chc.4875E02D9FB21EE389F73B8D1702B320485DF8CE.1\Local Store\downloads\Flex_4.0_zh-cn.zip','zh_CN/AS3LCR/Flex_4.0','');

sql语句的值都来源于上面的xml配置文件,最后一个字段lastModified估计是用来判断更新版本的,留空也可以。执行sql语句。再打开Adobe Community Help,刚才下载失败的文档的状态已经变成等待集成了!

等待一段解压时间,就ok了!

打开db文件,downloads表多了一条记录,同时integration表又变空了,可见集成完毕后又清空这张临时表了。不过我不理解,这里完全不需要存在数据库里的。

赶紧把整个目录备份一遍。

提醒以下更新不是必须也是不必要的!!!!

更新完文档,又提示Adobe Community Help有新的3.5版本,于是更新。但是再次报错:

干脆直接去官网下载了:英文版中文版

在页面右边选择Flash Builder然后点击INSTALL NOW即可。

但是奇怪的是3.5版本不本地显示最关键的帮助文档了!!!

虽然在控制面板可以卸载3.5版本,但是3.0也找不到单独下载了。。。。幸好有备份帮助文档,只能把整个flash builder4卸载了,再安装一次,再把备份的帮助文档覆盖回去了。

以后还原系统由于备份的问题很可能还会遇到这些问题,这里写下来备用,有一样遭遇的朋友也可参考下。

SQLiteSpy软件:[SQLiteSpy_1.9.0.zip]

来发评论吧~
Powered By Valine
v1.5.2