打开一个 EXE 文件,就在这里运行
基于 Wine 1.7.55(Win32)+ Boxedwine 的 WebAssembly 构建 · 不上传任何内容 · 无需账号
把一个 Windows 可执行文件拖到下面——整个文件夹或它的 zip 也可以——它就会在这个标签页里运行。文件在你自己的机器上被读取,复制到一块只存在于标签页内存中的虚拟 C:\ 盘。没有服务器参与运行,没有安装程序,关掉页面之后也不会留下任何东西。
首次启动会下载 Wine 运行时(约 30–60 MB)并缓存下来。点击画面把鼠标和键盘交给它;按 Esc 收回。
三种方式该用哪一种
三种方式最终都走到同一步——文件被装入虚拟盘——但适合的情况不同,取决于你硬盘上有什么。
- 单个 EXE:适合自成一体的程序,比如一个老工具、一个单文件游戏、一个绿色软件。如果它在真实的电脑上双击就能跑、不需要别的东西,那就选这个。
- 一个文件夹:适合旁边还有
.dll、.dat、.ini或数据文件的程序。绝大多数真实软件都是这样,而这恰恰是大家在断定「我的程序跑不了」之前跳过的那个选项。整个文件夹会被装入,再由你指定哪个.exe是入口。 - 一个 zip:和文件夹一样,适合你手上是压缩包而不是解压好的目录时。在不支持选择文件夹的手机浏览器上尤其好用。
如果程序需要一个数据文件才能工作——要打开的压缩包、要载入的文档——上传之前请把它一并放进文件夹。标签页里的任何东西都看不到你真实的磁盘,所以程序要打开的一切都得跟着它一起进来。
哪些能跑,哪些老实说跑不了
这是一个被模拟出来的 32 位 Windows 环境,而不是覆盖在你真实机器之上的兼容层。在为它花掉一次下载之前,值得先知道边界在哪里。
运行良好
- 大约 1995 到 2008 年的 32 位 Win32 和 GDI 应用:编辑器、查看器、计算器、压缩工具、各种小工具。
- 那个年代的 2D 游戏,包括不少在 Windows 11 上已经启动不了的。
- 老式安装程序——前提是你要的是里面的文件,而不是装好的系统。
- 16 位的 Windows 3.x 软件,使用上方选择器里的 Wine 3.1 · 16 位 引擎。
通常跑不了
- 64 位程序。默认引擎只有 32 位。另有一个实验性的 64 位运行时,带独立的载入器,但很多东西在里面还画不出来。
- Direct3D 和现代 3D 游戏。这里没有 GPU 直通。
- .NET、较新的 Visual C++ 运行库,以及一切需要 Windows 10 API 的程序。Wine 1.7.55 比它们都早。
- 任何需要网络、授权服务器或真实硬件的东西:加密狗、打印机、串口设备、光盘检测。
速度大约是原生的 10% 到 40%,因为每一条 x86 指令都是模拟执行的。跑工具和老式 2D 游戏没问题,跑任何吃性能的东西都不行。兼容性指南按类别讲得更细,我们还实测了 53 个真实程序并公布了每一个的结果。
如果它启动不了
- 载入文件夹,而不是单个 EXE。程序旁边缺一个 DLL 是最常见的失败原因,而且它的表现往往就是——什么都没发生。
- 确认它是 32 位的。现在很多下载默认给的是 64 位版本;同一版本的 32 位构建在这里往往能正常运行。
- 换一个引擎试试。Boxedwine 18R2 有时能跑默认引擎跑不动的东西;要用 Internet Explorer 的程序则需要 + Gecko 选项。
- 看控制台。画面下方的控制台输出会显示 Wine 真正抱怨了什么,通常是某个具体的 DLL 缺失,或某个未实现的调用。
- 它可能是安装程序,而不是程序本身。照样运行它,让它解包,然后用下载该程序写入的文件把结果取出来。解包老式安装程序里有别的办法。
你的文件去了哪里
哪里都没去。.exe 由浏览器的文件 API 在本地读取,写入一块内存文件系统,Wine 把它当作 C:\。文件的任何部分都不会被传输,也没有服务器副本需要删除,因为副本从未被创建。关掉标签页,虚拟磁盘就消失了;程序保存的文件只留在这个浏览器里,方便你下次接着用,而下载该程序写入的文件会给你一份自己留着的副本。
页面本身使用 Google Analytics 统计访问、使用 Google AdSense 投放广告。它们都看不到你的文件、虚拟磁盘,或程序做的任何事情——它们只是页面级别的普通脚本,无法接触模拟器的内存。细节见隐私政策。
没有东西要载入?这里本来就有不少
大多数人来的时候手上并没有 .exe。我们托管了一批免费、授权干净、点一下就能启动的游戏和应用——DOOM、德军总部 3D、Tyrian 等等——不需要上传任何东西。
目录和博客的绝大部分仍是英文。中文页面只有真正翻译过的那些,不是把其余内容机翻一遍。
常见问题
我的 EXE 会被上传到服务器吗?
不会。文件由你自己机器上的 JavaScript 读取,复制到标签页内的一块内存 C:\ 盘。它不会被发送到任何地方,关掉标签页就没有了。
到底哪些 Windows 程序能跑?
大约 1995 到 2008 年的 32 位 Windows 软件效果最好:小工具、Win32 和 GDI 应用、老式安装程序、2D 游戏。64 位程序,以及任何需要 Direct3D、.NET 或较新运行库的程序,还有指望真实硬件或联网的程序,都是常见的失败情形。
我的程序旁边需要 DLL,该怎么办?
载入整个文件夹或它的 zip,而不是单独的 .exe。选择文件夹或 zip 会把所有文件装入虚拟 C:\ 盘,然后你再指定哪个 .exe 是入口。
程序写出来的文件能取回来吗?
可以。下载该程序写入的文件会把程序写进虚拟 C:\ 盘的一切打包成 zip:存档、导出的文档、安装程序解包出来的内容。
在 Chromebook 或受限的公司笔记本上能用吗?
可以,因为什么都不用安装。它就是一个使用 WebAssembly 的网页,凡是能跑当前版本 Chrome、Edge、Firefox 或 Safari 的地方它都能跑——包括你无法安装软件的受管设备。
为什么这么慢?
每一条 x86 指令都在你的浏览器里被模拟执行,所以速度大约是原生的 10% 到 40%。跑工具、老式 2D 游戏和安装程序没问题,跑吃性能的东西就很难受。