·汉化新世纪 ·汉化新世纪论坛 ·百家争鸣 ·论坛集萃 ·汉化问答 ·软件介绍
文章首页 >> 汉化教学 >> 工具使用 >> WISE技巧篇--原版安装和版本的识别    Creative Commons License,创作共用协议(中文版)  署名 非商业性使用 禁止演绎

WISE技巧篇--原版安装和版本的识别

作者: 乾 来源:掌握汉化 时间:2006-02-12 点击:9116

基于Wise9.02版本,901也应该通用……

先判断注册表是否有安装路径:

先根据软件的情况搜索注册表,因此在此之前你应该对软件安装后是否在注册表有留下了安装信息进行判断,一般在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths或上述的键值中有记录,前者是记录安装后主程序相关信息的,后者是记录卸载信息的,通常这两个地方都可能记录有安装路径的。
因此上面的脚本是先找到记录路径的键值,将其赋值给某个变量,然后判断这个变量是否为空,为空则表示软件没安装。注意有一种情况,是软件安装后如果没有运行,也可能还没来得及将路径写到注册表中,这应该有所注意,或者换个容易判断的键值,或者换用文件夹搜索方式。

先判断制定路径中文件是否存在,先设置一个变量GOSKIP作为以后出错对话框的激活条件,根据找到或指定(如果是没有注册表路径的,则强行指定一个)的路径检查程序的情况,通常会返回三种状态,根据这三种状况判断软件的情况,并决定GOSKIP的设置,然后将相应的出错信息写到一个变量中(USEMESS)。

当GOSKIP为1时,表示已经判断文件存在,那么继续判断版本情况:

使用上述脚本动作,获取指定路径中指定文件的版本号,然后进行判断,并同上决定GOSKIP是否仍需变动,同上将出错信息写入某个变量中。
版本号判断正确,GOSKIP保持原值,否则设为0。在版本正确时,再利用同样的脚本函数,读取指定路径中指定文件的大小值,跟原始文件的大小进行对比,判断该文件是否被修改过,不正确时同样要设置出错信息和GOSKIP为0。

好啦,现在看看出错对话框的激活了,先看没有安装的情况:

直接用注册表搜索后赋值的函数是否为空进行判断,如果为空,表示没有安装,当然也可能表示软件没有运行过,因此需提醒用户安装或至少运行一次,把责任交回给用户,这样比较安全。

在这个对话框里面,用变量来显示出错信息,同上写上要提醒用户的文字,为了安全,只留下了终止按钮,让用户先处理好原版的问题,然后再来重新汉化,这仍是一种安全的考虑,免得用户乱按后导致一些难以预料的情况。

这里用GOSKIP是否等于1作为汉化错误对话框是否激活的条件,当GOSKIP等于1,表示这个出错对话框被忽略,用户执行正常的安装步骤,否则弹出出错对话框。什么条件会跳出汉化错误这个对话框呢?回顾前面的判断,有几种情况:
首先GOSKIP是被预设为0的,即默认会出错的,只有判断了“文件存在且未使用”才设置为1,这样即可对文件是否存在做第一次的判断。
当文件存在时,也可能出现版本后不同的情况,因此在GOSKIP=1时,继续对版本号和文件大小进行判断,一旦版本号和文件大小有任何一个不符合,GOSKIP都将设置为0,因此将激活出错对话框。

出错对话框使用变量显示你希望出现的提示,并只保留终止按钮。

通过上述设置,即可对文件是否存在,版本号和文件大小是否相符进行判断,以免出现汉化失误的情况,确保自己汉化的安全性,减少被用户误投诉的情况,这就是所谓的“安全”问题了……

当然,如果要再全面一点,也可以增加都MD5的判断,这点请阅读另外的文章:
利用WISE做软件的MD5校验[图] 
周明波Wise 的 md5 校验代码[图]

汉化新世纪 责任编辑: 乾 .:|:. 标签(Tag): Wise 版本 安装路径

·上一篇: 愤慨! 谁偷了俺的网站文章? ·下一篇: WISE技巧篇--防止简单打包和修改文件名称的方法

· 版权申明: 本文引自《掌握汉化》,如有版权疑问请及时联系本站,以便本站处理。

· 转载申明: 本文引自《掌握汉化》[ 作者: 乾],如需转载请直接联系原始作者,并请注明原始出处。

相关文章                                                                                发表评论 打印此文 关闭窗口

| 设为首页 | 加入收藏 | 联系我们 | 友情链接
Creative Commons License,创作共用协议(中文版)  署名 非商业性使用 禁止演绎
本站内容,除转载或版权特别申明的内容外,皆遵守 创造共用协议中文版之“署名-非商业性使用-禁止演绎 2.5 中国大陆”条款
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 2.5 China License.
本网站内容源自汉化新世纪论坛的摘录和汉化新世纪成员的原创文章。
凡汉化新世纪论坛的文字皆默认为汉化新世纪与原作者共同拥有并授权发布。
如对本站发布文章有所异议请来信告知,我们将及时删除。
凡商业摘录本站文字请先与我们联系,本站将保留非授权商业发布的追究权利。
凡非商业摘录本站文字请明显注明出处和原作者,并不得改动,凡改动必先征求原作者同意。
苏ICP备05002283号