企业微信4.0以上版本无法在wine中启动?
提问
linux上用wine启动企业微信4.0以上版本时发现无法正常启动会生成如下log
“17177: Releasing the 'cxbottle.conf' lock
00ac:fixme:exec:SHELL_execute flags ignored: 0x00000100
00ae:err:module:import_dll Library DWrite.dll (which is needed by L"C:\\Program Files (x86)\\WXWork\\4.1.3.6008\\libcef.dll") not found
00ae:err:module:import_dll Library libcef.dll (which is needed by L"C:\\Program Files (x86)\\WXWork\\WXWork.exe") not found
00ae:err:module:LdrInitializeThunk Importing dlls for L"C:\\Program Files (x86)\\WXWork\\WXWork.exe" failed, status c0000135”
4.0.3.6007 可以在 wine 7.x/8.x 下安装成功。
但 4.0.6 以上就不行了,打出下面这些行以后就卡住了,
010c:fixme:msvcp:_Locinfo__Locinfo_ctor_cat_cstr (07C7FD9C 1 C) semi-stub
010c:err:sync:RtlReleaseSRWLockExclusive Lock 0DE32D00 is not owned exclusive!
搜了好久也没搜到解决办法。不得不用企业微信的码农是真悲催。
目前我发现wine启动时停到了这个步骤能帮忙看下我需要在ntdll里面怎么更改能解决这个问题嘛?
“0120:err:sync:RtlReleaseSRWLockExclusive Lock 0CA0BEF8 is not owned exclusive!
0120:Ret ntdll.RtlReleaseSRWLockExclusive() retval=ffffffff ret=00da711f
0120:Call KERNEL32.InterlockedCompareExchange(0ca0bef8,0021fc23,00000001) ret=00dccdcb
0120:Ret KERNEL32.InterlockedCompareExchange() retval=00000001 ret=00dccdcb
0120:Call ntdll.NtOpenKeyedEvent(0021fbac,02000000,0021fb8c) ret=00dcc8c6
0120:Ret ntdll.NtOpenKeyedEvent() retval=00000000 ret=00dcc8c6
0120:Call KERNEL32.InterlockedCompareExchange(06bce530,000000c4,00000000) ret=00dcc8df
0120:Ret KERNEL32.InterlockedCompareExchange() retval=00000000 ret=00dcc8df
0120:Call ntdll.NtWaitForKeyedEvent(000000c4,0021fc20,00000000,00000000) ret=00dcce24”
最后一行在Call ntdll.NtWaitForKeyedEvent这里出现了卡顿,无法继续进行,可否帮忙在企业微信的源代码中找到对应的位置以及操作信息,来确认wine具体是哪里缺失?
企业微信4.0以上版本无法在Wine中启动,是因为这些版本的企业微信需要使用Windows系统上的某些特定功能,而Wine无法满足这些功能的要求。
Wine是一个在Linux上运行的模拟器,可以在Windows上模拟运行Linux发行版的应用程序。但是,Wine并不支持所有的Windows功能,例如某些Windows服务或驱动程序。
因此,如果您需要在Wine中运行企业微信4.0以上版本,则需要确保您的计算机上安装了所需的Windows功能和服务,或者使用其他方法来模拟运行Linux应用程序。