![](/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`的环境**
## 折腾
**开始折腾之前还是要说明一下**
`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)
方法过于简单,直接略过
---
### 安装 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)
---
### 创建一个容器
在他的里面管这个叫虚拟盘,我觉得叫容器更合适。
具体是在
`配置(工具栏的大齿轮)` - `新建`
之后的Wine版本选择刚才下的最新版本即可
![](/api/file/getImage?fileId=5ddf865216199b0467003efe)
---
### 安装 .NET 4.0 环境依赖
这一步出现一个分歧
如果是32位的环境,是推荐使用官方提供的环境依赖进行安装
如果是64位的环境,只能选择自己下载环境依赖安装包安装
具体过程都列举出来了
#### 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)
---
#### 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,分别建单独的容器
分别测试同一个安装包不同环境的效果
以及调试模式下启动应用程序
查看输出日志,看不懂百度