wine报错exe格式无效


#1

centos系统wine报错,说exe格式无效。请问如何解决?
自己的电脑是opensuse的,公司的是centos,刚换的电脑,给我一台服务器当电脑使,装的就是centos。需要用qq,也是无奈


#2

你的 wine 是哪里来的?你是怎么操作的?报错原文是什么(或者截图)?


#3
[dcore@localhost qq]$ wine QQ8.9.1.exe 
000f:fixme:service:scmdatabase_autostart_services Auto-start service L"MountMgr" failed to start: 2
000f:fixme:service:scmdatabase_autostart_services Auto-start service L"WineBus" failed to start: 2
wine: Z:\home\dcore\.cache\winetricks\qq\QQ8.9.1.exe 的 EXE 格式无效。

#4

wine 是epel源里面的版本是3.0,我估计不是wine的问题,我源代码编译也是报错,exe应该可以用压缩软件打开的,我这打不开


#5

你的 wine 有设置过 WINE_ARCH 吗?你的 QQ 是32位还是位的呢?


#6

不是这个问题,mlsl装不上去,vcrun6也装不上去,还有mfc42,全都是一样的bug


#7

唉,你这种人最没办法了。你出来求助又不肯提供信息。喜欢自己研究的话,就不要发出来让别人疑惑了。开源软件一大堆问题,你刚好遇到和你遇到同样问题的人的概率挺小的。

我按你的报错信息找了一下。这个错误是 kernel32 的 create_process 报出来的,原因是:

  1. 获取二进制 CPU 类型出错。此时有错误消息「uses unsupported architecture」
  2. PE 文件是 DLL 而非 EXE。此时有跟踪消息「not starting %s since it is a dll」(这个默认看不到)
  3. 没有16位/DOS支持。此时有消息「wine: could not run %s: 16-bit/DOS support missing」

也不知道你遇到的是哪种情况。另外我参考的源码是 master(3.5) 的,可能不准确。你都那么懒,我也懒得切换了。


#8

如果没记错的话,要把相关32位组件装全,有的没的都给装上,就好了


#9

已经放弃centos了,centos缺少很多32位的包,wine我没有配置winearch,我用winetricks qq这个命令安装的