文章目录
一、背景
Xshell7
/Xftp7
有一段时间没有使用了,今天打开时提示更新【要继续使用此程序,您必须应用最新的更新或使用最新版本】,然后点击"确认"后,等一会儿后提示不需要更新【您已经在系统上安装了最新版本的Xshell7】???
我使用的是 家庭School版本
二、解决方案
方案一:重新安装(推荐)
从官网 free-for-home-school 看到这样一段声明
【更新:从 2022/02/16 开始,我们的免费许可证的标签限制已被删除。所有免费用户现在都可以通过下载下面的最新版本来访问无限的标签。当前用户必须下载最新版本并在现有安装上进行安装。】
也就是说,2022-02-16 之前下载安装的家庭School版本都有上述强制更新失败的问题。
解决方案官网已经给出了:下载最新版本并在现有安装上进行安装。
这里就不演示了。
方案二:修改nslicense.dll
文件(不推荐)
网上说的修改这个文件,使用十六进制文件编辑器(比如:HxD - Freeware Hex Editor and Disk Editor),搜索下边的字节序列,将0F 86
改为 0F 83
版本5的十六进制串为:7F 0C 81 F9 80 33 E1 01 0F 86 80
版本6的十六进制串为:7F 0C 81 F9 80 33 E1 01 0F 86 81
版本7的十六进制串为:7F 0C 81 F9 80 33 E1 01 0F 86 82
参考资料:https://zhuanlan.zhihu.com/p/513349949
同大多数网友一样,我也没有搜到上述有关的字节序列,网上也有直接提供nslicense.dll
文件的,但也不适用,使用不匹配的nslicense.dll
有可能会造成程序崩溃。因此不推荐方案二。
方案三:修改系统时间(可选)
将操作系统日期修改为Xshell.exe
/Xftp.exe
程序创建时间,然后启动Xshell
/Xftp
即可
(确切来说只要满足【操作系统日期<Xshell.exe
/Xftp.exe
程序创建时间+1年】均可。 比如,我的Xshell.exe
程序的创建时间:2021月7月22日,12:24:58,那么系统修改后的日期只要早于:2022年7月22日,12:24:58,即可。亲测早于创建时间也可行)
Xshell.bat
下边是我参考网上的资料优化后的Xshell.bat
批处理脚本:
@echo off
color 3e
title Xshell启动器
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c "^&chr(34)^&"%~0"^&chr(34)^&" ::","%cd%","runas",1)(window.close)&&exit
::获取Xshell启动程序路径
::set Xshell="D:\Program Files (x86)\NetSarang\Xshell 7\Xshell.exe"
set Xshell=
::如果上边未设置Xshell变量值,那么会自动去查找当前已安装的Xshell路径
if not defined Xshell (
for /F "delims=" %%T in ('where Xshell') do set Xshell