现在我这边迷雾通UI开不了,实际上是一开就闪退,没出界面就先闪退。
去“C:\Program Files (x86)\Microsoft\EdgeWebView\Application\SetupMetrics”这个文件夹查看webview更新记录,果然近期有更新。
然后现在迷雾通UI就是怎么也打不开。重装迷雾通,或者运行迷雾通文件夹里那个MicrosoftEdgeWebview2Setup.exe,这些全都不管用。
现在我只能用命令行模式运行迷雾通了
在任意位置建立一个launch.bat文件,内容如下:
"C:\Program Files (x86)\迷雾通\geph4-client.exe" connect --username 你的用户名 --password 你的密码
(注意!此时还得做一件事情,用记事本打开那个launch.bat,重新保存一遍,编码格式一定一定选成ANSI,否则用不了!
我就不明白为什么,如果存成默认的UTF-8编码,执行时,会把“迷雾通\”这部分读取成“杩烽浘閫歕”,也就是乱码,然后提示路径错误,文件不存在——UTF存在的意义不就是为了去除乱码吗?)
然后就得一直有一个肉眼可见的CMD窗口在那里。
并且这样做你就把自己用户名密码明文存在电脑上另一个文件里了。存个不那么显眼的地方,起个不那么显眼的名字吧。
(若想隐藏CMD窗口,可以再新建一个launch.vbs文件,和之前那个launch.bat放在一起。vbs文件内容如下:
set r=createobject("wscript.shell")
r.run "launch.bat",0,true
此时再运行launch.vbs,就可以后台运行迷雾通客户端了。)
有件事早就想说了,只是一直没有证据,现在算是有了:
webview这种一个框架供应所有程序的理念,根本就是有问题的!
原因就在于,每次更新框架,都得保证和有史以来这个框架开发过的每一个应用兼容。
但这是不可能的。
其他应用都没有这么做的,都是每个应用自带自己的框架版本。
比如所有Unreal引擎,Unity引擎的游戏,所有Electron框架应用,
以及Java应用等(不过Java也允许应用开发者不内置自己的java版本,而是直接用系统里装的java。)
上一个像webview这样做事的框架,是Adobe Flash!
(当然也有一些像Unity Player,Adobe Air,Shockwave Player这样的。但那些知名度实在太小,属于“我不提你都不知道有这东西”那种,就不算数了。)
如果非要系统装一个框架给所有程序用,那就应该像VC运行库那样,出一个运行库之后就永远不更新(除非有重大安全漏洞,不得不更新)。
然后过几年再出一个新版本的运行库,并且新旧版本运行库可以共存。
像webview这种做法,就是“迟早要出事”的节奏。一个框架供应所有应用,框架还频繁更新?还只保留最新版本?不出问题才怪!