Linux Deepin 下搞定绝大部分难装的windows 应用程序安装 home 编辑时间 2019/11/28 ![](/api/file/getImage?fileId=5ddf850616199b0467003efd) ## 背景 `Linux` 下应用程序少是个老生常谈问题,一般国外软件如`Chrome` `Firefox` `Jetbrains全家桶` `Eclipse` 等都一定会有`Linux`版本。但国内`Linux`软件生态就略显惨淡了。长期使用Linux作为主力机系统的话,不得不研究一套能在`Linux`下安装Windows应用程序的方案。 前篇已经介绍了 `Linux Deepin` 下,安装绝大部分`Windows`应用安装程序`exe`的方案。 链接: [https://leanote.zzzmh.cn/blog/post/5dc1195916199b0467002b87](https://leanote.zzzmh.cn/blog/post/5dc1195916199b0467002b87) 那么这个用`Deepin-wine`的方案 ,稍微还是有几个不完美的地方,一是`Wine`版本过低,导致同样的应用,安装成功率远不如新版,二是安装环境能力较差,例如我要安装`s3browser-8-5-9`,它环境依赖`.net4.0`。在`Deepin-wine`中要先安装环境,再安装程序,会非常非常非常难。反复测试发现几乎走不通。 不久之前还写过一篇关于`Play On Linux`的文章,内容是用`Play On Linux`安装最新版wine 32位&64位,再用wine装adobe air环境,再用air安装应用程序,成功的例子。 链接: [https://leanote.zzzmh.cn/blog/post/5d43a65716199b062f000121](https://leanote.zzzmh.cn/blog/post/5d43a65716199b062f000121) **那么本文的主旨就是,抛弃`Deepin-wine`,继续折腾`Play On Linux`,用他造一个能装任何`Windows APP`的环境** <br> ## 折腾 **开始折腾之前还是要说明一下** `Play On Linux`是一个免费软件,再加上他原本的用途是在Linux下玩Windows下的游戏。我们安装的又不是他列表里的程序。所以说,出错也非常正常。最坏的情况大不了删掉容器,从头再装一次。 ### 安装 Play On Linux 下载地址: [https://www.playonlinux.com/en/download.html](https://www.playonlinux.com/en/download.html) 直接下载适合的版本,自行安装。 ![](/api/file/getImage?fileId=5ddf284d16199b0467003e87) 方法过于简单,直接略过 <br> --- ### 安装 Wine 4.20 32位 & 64位 最新版本 由于首次打开`Play On Linux`是不包含Wine环境的,需要自己选择一个Wine版本,下载,然后创建一套环境。原理类似以前Windows里的沙盒。 **这里需要强调一个重点** 除非有特殊需求必须用64位环境,否则强烈推荐32位。当然也可以选择分别造2个容器32和64都并存。理由是:反复测试后发现,32位的官方提供的环境依赖很全,用官方提供依赖要比自己去下载安装依赖的成功率高出许多。 具体的安装方法,之[前的文章](https://leanote.zzzmh.cn/blog/post/5d43a65716199b062f000121)里已经有了,简单再复述一下 `菜单栏的设置` - `管理Wine版本` - `Wine 版本(x86)` 或者 `Wine 版本(amd64)` ,在左边栏里,选择最新最新最新的,用中间的箭头点到右边,就会开始漫长的下载安装的过程了。 ![](/api/file/getImage?fileId=5ddf292416199b0467003e88) <br> --- ### 创建一个容器 在他的里面管这个叫虚拟盘,我觉得叫容器更合适。 具体是在 `配置(工具栏的大齿轮)` - `新建` 之后的Wine版本选择刚才下的最新版本即可 ![](/api/file/getImage?fileId=5ddf865216199b0467003efe) <br> --- ### 安装 .NET 4.0 环境依赖 这一步出现一个分歧 如果是32位的环境,是推荐使用官方提供的环境依赖进行安装 如果是64位的环境,只能选择自己下载环境依赖安装包安装 具体过程都列举出来了 <br> #### 32位 安装依赖方法 这里提供了相当多的依赖,我们这里必须要用到的是 .net4.0 ,之前还用过adobe air 总之直装官方提供的依赖,效果稳定性都是最好的,基本可以一步到位 首页上选择`安装一个程序` 弹出的框不要选里面的程序 选左下角的`安装未在列表中的程序` 即可进入手动安装 ![](/api/file/getImage?fileId=5ddf2a2416199b0467003e8d) 选择`编辑或更新现有的安装程序` ![](/api/file/getImage?fileId=5ddf8eaa16199b0467003f04) 勾选`显示虚拟盘` 选择刚创建的容器,我起名是`win32` ![](/api/file/getImage?fileId=5ddf2ac416199b0467003e95) 关键就是这一步,要选择安装库,也就可以从官方已经确认稳定的库中安装需要的依赖 ![](/api/file/getImage?fileId=5ddf86d416199b0467003eff) 选择32位 ![](/api/file/getImage?fileId=5ddf86e116199b0467003f00) 根据需要安装32位依赖,不是越多越好,只装自己需要的 ![](/api/file/getImage?fileId=5ddf86ff16199b0467003f01) <br> --- #### 64位 安装依赖方法 首先自己去下载一个.net4.0的exe的安装程序包 (后面安装其他exe应用程序的步骤,也可以参考这个步骤) 首页上选择`安装一个程序` 弹出的框不要选里面的程序 选左下角的`安装未在列表中的程序` 即可进入手动安装 ![](/api/file/getImage?fileId=5ddf2a2416199b0467003e8d) 选择`编辑或更新现有的安装程序` ![](/api/file/getImage?fileId=5ddf8eaa16199b0467003f04) 勾选`显示虚拟盘` 选择刚创建的容器,我起名是`win64` ![](/api/file/getImage?fileId=5ddf2ac416199b0467003e95) 中间一步直接略过,点下一步 然后勾选64位应用程序 ![](/api/file/getImage?fileId=5ddf2b0316199b0467003e96) 接下来选择你要安装的包,选择下一步 后续的安装流程就和windows 一摸一样了 ![](/api/file/getImage?fileId=5ddf26e616199b0467003e7f) --- ### 正式安装应用程序 步骤可以参考前文,我就不重复了,简单展示一下结果吧 --- #### 微信 deepin其实已经有wine的不错的微信了,这里拿微信测试主要适用于可能想折腾新版、测试分屏、或者非deepin的linux桌面端的同学 ![](/api/file/getImage?fileId=5ddf890916199b0467003f02) --- #### S3brower 这个就是必须.net 4.0依赖才能安装运行的程序,在这个容器里稳定的一批 ![](/api/file/getImage?fileId=5ddf82f316199b0467003ef2) --- #### Q&A 可能会有人要问就是安装完的程序去哪找 理论上每次安装结束都会有创建快捷方式的提示 如果错过的话,可以手动再去创建一次 在首页的工具栏点 `配置(大齿轮)` 选`自该虚拟机创建快捷方式` ![](/api/file/getImage?fileId=5ddf2b8b16199b0467003e97) ## END 最后说下遇到bug如何自救 用`Play On Linux`遇到bug可以说是必然的 能做的就是,多下几个版本的wine,分别建单独的容器 分别测试同一个安装包不同环境的效果 以及调试模式下启动应用程序 查看输出日志,看不懂百度 送人玫瑰,手留余香 赞赏 Wechat Pay Alipay 解决 Manjaro / Arch 环境下 蚂蚁笔记 Leanote 启动报错 Harfbuzz version too old 1.2.1 定期备份 Docker 中运行的 mysql、mongo、redis 的数据到宿主机