我认为我的 Wine 设置有问题,但我不知道如何修复它,甚至不知道问题出在哪里。其他人已经让这个程序在 Wine 中顺利运行。这是我在 Wine 崩溃前从它获得的控制台输出。
fixme:系统:SetProcessDPIAware 存根! fixme:dwmapi:DwmIsCompositionEnabled 0x33fcd4 fixme:iphlpapi:NotifyAddrChange (Handle 0xdfe994, Overlapped 0xdfe978): stub fixme:ntdll:NtLockFile 锁定时的 I/O 完成尚未实现 err:ole:CoGetClassObject 类 {591209c7-767b-42b2-9fba-44ee4615f2c7} 未注册 err:ole:CoGetClassObject 类 {591209c7-767b-42b2-9fba-44ee4615f2c7} 未注册 err:ole:CoGetClassObject 无法为上下文 0x3 创建类对象 {591209c7-767b-42b2-9fba-44ee4615f2c7} fixme:resource:GetGuiResources (0xffffffff,0): 存根
可能是什么问题呢?
编辑:我尝试删除 wine 目录,以便在尝试运行 Firefox 时自动重新创建它。Firefox 仍然崩溃,但输出了新信息:
fixme:system:SetProcessDPIAware 存根!fixme:dwmapi:DwmIsCompositionEnabled 0x33cfd4 fixme:file:MoveFileWithProgressW MOVEFILE_WRITE_THROUGH 未实现 fixme:advapi:SetNamedSecurityInfoW L"C:\windows\system32\gecko\1.0.0\wine_gecko\components\xpti.dat" 1 536870916 (nil) (nil) 0x19d57c (nil) fixme:iphlpapi:NotifyAddrChange (句柄 0xa71e8d8,重叠 0xa71e8e0): 存根 fixme:file:MoveFileWithProgressW MOVEFILE_WRITE_THROUGH 未实现 fixme:advapi:SetNamedSecurityInfoW L“C:\windows\system32\gecko\1.0.0\wine_gecko\components\compreg.dat” 1 536870916 (nil) (nil) 0x1dbb4ec (nil) wine:“/home/awakefromnib/.wine”中的配置已更新。fixme:system:SetProcessDPIAware 存根! fixme:dwmapi:DwmIsCompositionEnabled 0x33fcd4 fixme:iphlpapi:NotifyAddrChange (Handle 0xdfe994, Overlapped 0xdfe978): stub fixme:ntdll:NtLockFile 锁定时的 I/O 完成尚未实现 err:ole:CoGetClassObject 类 {591209c7-767b-42b2-9fba-44ee4615f2c7} 未注册 err:ole:CoGetClassObject 类 {591209c7-767b-42b2-9fba-44ee4615f2c7} 未注册 err:ole:CoGetClassObject 无法为上下文 0x3 创建类对象 {591209c7-767b-42b2-9fba-44ee4615f2c7} fixme:resource:GetGuiResources (0xffffffff,0): 存根
这里面有什么有意义的事情吗?
答案1
我不知道潜在的问题,但您应该尝试安装到新的 ~/.wine 目录。
mv ~/.wine ~/.wine.before_firefox_problem.bak
然后重新运行 Firefox。只要运行 wine,它就会为自己创建一个新的 ~/.wine。如果您不需要里面的任何内容,可以稍后删除旧目录。它将包含与您之前在 wine 中执行的操作相关的任何内容。
答案2
在我看来,您遇到了一个未实现的系统调用,这意味着 Wine 尚未实现 Windows API 调用。
如果您已经安装了最新版本的 Wine,那么您的下一站应该是 Wine 论坛。