TA的每日心情 | 奋斗 2022-7-4 09:45 |
---|
签到天数: 28 天 [LV.4]偶尔看看III
版主
- 积分
- 5491
|
输入法程序是一个运行在宿主软件里的动态库程序(dll),所谓宿主软件就是指打开输入法的软件,比如word,记事本等。一个dll一旦被加载到宿主程序,这个dll是不能被删除的(不过可以改名)。
输入法在更新的时候,通常需要更新这个dll。
win10系统新增加了一个“允许我为每个应用窗口使用不同的输入法”选项,但是默认是关闭的。关闭以后,一旦在一个软件里切换到启程输入法,再切换到其它软件,其它软件也会自动打开启程输入法。
再有就是如果用户设置了启程输入法为默认输入法,那么基本上当前正在运行的所有软件都打开了启程输入法。
在启程输入法被打开的情况下,升级输入法变得非常麻烦。现在启程的设计是升级前先检查有没有软件在打开启程输入法,有就打开一个程序来显示进程列表,用户可以在这个列表里杀掉相关进程,从而可以继续安装。如果被很多程序打开,这个杀掉进程的做法还是比较危险的。
不过受益于启程输入法的输入法接口和输入法服务相分离的框架,在输入法接口dll没有变化的情况下(99%的升级是不需要升级DLL的),升级输入法可以只需要升级服务器部分即可。
那么方法就来了:
1、首先确保服务器程序已经退出,如果没有退出,可以在服务器程序的托盘图标上的右键菜单上选择“强制退出”。
2、删除原启程输入法安装目录的"program"目录。
3、从新安装包里提取program目录到原安装目录。
4、重新打开输入法,观察托盘图标的提示,应该可以看到版本已经升级成功了。
上面技巧只适用于小版本升级,大版本升级的情况下,有可能输入法接口也升级了,最好还是按照常规办法来处理。
以后有时间了再做一个升级前判断输入法接口要不要升级,不要升级就自动升级服务器。
|
|