当我尝试安装 MSI 时,无论是使用start
还是msiexec
什么都不安装,它都会告诉我there is no Windows program configured to open this type of file
它也告诉我MS.NET F4.5 needs to be installed
,但我已经wine-mono
安装了
以下是一些日志:
0009:fixme:ntdll:NtLockFile I/O completion on lock not implemented yet
0009:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
0009:err:mscoree:LoadLibraryShim error reading registry key for installroot
0009:err:msi:ITERATE_Actions Execution halted, action L"LaunchConditions" returned 1603
0009:err:ole:CoGetClassObject class {cacaf262-9370-4615-a13b-9f5539da4c0a} not registered
0009:err:ole:CoGetClassObject no class object {cacaf262-9370-4615-a13b-9f5539da4c0a} could be created for context 0x1
0009:err:olepicture:OleLoadPicture IPersistStream_Load failed
0009:err:msi:msi_load_picture failed to load picture
0009:err:msi:msi_dialog_bitmap_control Failed to load bitmap L"NewBinary5"
答案1
一般的做法
必须使用以下方式安装 MSImsiexec
:
wine msiexec /i foo.msi
故障排除
这应该适用于任何以 Windows 安装程序包(又名 MSI)打包的软件。
如果您收到某种错误消息,则原因可能是:
- 你的 Wine 安装有问题
- wine 不支持您尝试安装的软件
要排除第一种情况,请对安装进行故障排除:确保其他程序正常运行,使用新的 wine 前缀(wine 使用的模拟 Windows 安装 - 请参阅 Wine FAQ,6.5.2 我可以将虚拟 Windows 安装存储在 ~/.wine 以外的其他地方吗?)。
要检查问题是否特定于要安装的软件,请检查 Wine 应用程序数据库 (AppDB),https://appdb.winehq.org/。如果列出了该软件,则应该提到您需要的任何技巧。
你的问题
您发布的日志显示了几个错误消息。这很可能意味着 wine 不(完全)支持该软件。该问题必须在 wine 中解决,因此您不太可能在这里获得更多帮助。
尝试在 Wine 的 AppDB 中找到要安装的软件,并使用那里提到的任何技巧(如果遇到问题,请随意提出单独的问题)。如果失败,您只能提交 Wine 错误报告,希望有人能修复该问题。
至于你提到的.NET 4.5:正如评论中指出的那样,Mono 是不是与 .NET 相同(它仅实现了 .NET 中的部分技术)。因此,您可能必须安装 Microsoft 的完整 .NET 框架。这应该可行,因为 AppDB.NET 框架被列为最常用的框架。
答案2
我wine
在第一次启动时就终止了,所以它从未正确初始化,一直处于奇怪的状态。必须完成wineboot -u
初始化。可以提供帮助,因为它可以验证诸如此类的基本内容,因此如果您不知道如何准确配置,则winetricks
应该使用该包装器而不是单独使用wine
wine
之后,MSI 安装得很好(我可以用wine-mono
安装来运行安装的程序[所以它实际上不需要完整的.NET 实现,只需要mono
子部分],有点奇怪)