![](/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,分别建单独的容器

分别测试同一个安装包不同环境的效果

以及调试模式下启动应用程序

查看输出日志,看不懂百度