[Exchange Ideas] 使用統信Windows 兼容引擎打包Windows游戏实战演示
Tofloor
poster avatar
林冫
deepin
2026-01-10 04:42
Author

楼主在几年前做过玩过wine,做了一些wine的应用。但是随着deepin Linux的升级,这些老的应用由于依赖爆炸无法正常使用了。因此我准备wine应用进行升级。使得其可以在新版本的Deepin Linux上可以正常运行。恰巧看到有統信Windows兼容引擎(以下简称引擎)的存在,在查看了帖子之后本人根据帖子内的指导打包了游戏,但是又发现原帖子讲的没有覆盖到一些特殊情况。因此楼主将以一款Windows 游戏 《仙剑四》为例子。演示一下如何打包一款wine应用。同时讲一些进阶的操作,使得在打包wine应用时能够有更好的灵活度。那么就开始吧。在继续之前强烈建议阅读统信windows兼容引擎的入门指南

楼主文字表达能力不太好还请见谅。

首先楼主用的是最新版本的Deepin V25。在经历初始化安装和系统升级之后,直接来到应用商店下载统信Windows应用兼容引擎。楼主目前所使用的版本为3.4.1.007。

首先就是要有一份游戏副本,打开引擎,点击我的应用-->添加应用。选中游戏的exe点击运行。

这个时候会发现这个名字不太对。不过先别管它,后续可以修改。
image.png

image.png

这种老游戏就轻松地运行起来了,检查没什么问题之后就可以关闭游戏准备打包了。

至于应用名称不正确的情况可以在引擎内右键点击应用,点击编辑详情。然后输入正确的名字就好了。

像这种老游戏一般还有一个游戏的配置程序,让你选择游戏的分辨率和画质啥的。打包的时候也要把这个带进去,不然无法调整画质也很难受。这个时候打开引擎,点击应用旁的三个点。点击高级调试。随后会跳出来一个画面,在应用列表里边手动添加一下即可。(这个不管用)

image.png

做完了以上的两点之后可以直接打包应用了。在这个时候问题就出现了。比如这个时候游戏本体很大,或者说用户这边有游戏文件,无需打包游戏文件袋 情况下我们又该怎么做呢?我们点击三个点,打包应用,然后会出来一个对话框。提示选择应用打包方式,选择打包文件夹。然后先打开文件管理,把刚刚的选择的游戏文件夹名字改了,然后创建一个文件夹。例如原来的文件夹叫$HOME/PAL4/ 那就把目录名字改了,新建一个PAL4的文件夹,在返回引擎选择空的文件夹,填好信息即可。

以下的就是例子
image.png

在这个时候就发现问题了,它默认生成的软件包会依赖于一个deepin v25不存在的软件包deepin-wine-helper(现已改名为deepin-wine-runtime)。接下来就需要把deb包拆开,修改下依赖关系,然后做一些修复。

image.png

这个时候就要使用一个名叫dpkg-deb 的命令。这个命令允许我们分解deb包并对其重新打包。

首先就是分解:

dpkg-deb -R deb包名称 解压目录名称(这个目录有没有都行)

例如: dpkg-deb -R PAL4.deb pal4/

dpkg-deb -R pal4.deb pal4

以下是解压后的目录结构

$ tree pal4
pal4
├── DEBIAN
│   ├── control
│   └── md5sums
└── opt
    └── apps
        ├── entires
        │   └── applications
        │       ├── pal4.desktop
                [...]
        └── files
            └── run.pal4.sh
            ├── files.7z                    [...]

8 directories, 761 files

打开pal4之后就是一个标准debian软件包格式解压出来的目录。那我们要修改错误的依赖信息,我们打开DEBIAN/control文件。使用系统自带的文本编辑器打开。将deepin-wine-helper (>=5.4.6-1)的字样修改为deepin-wine-runtime即可。
image.png

接下来就是刚刚提到的一个问题了,就是这样打包出来的应用只有一个启动项(.desktop文件)。就像现在我需要多个启动项怎么办?比如我打游戏的时候要调设置,甚至说我想在打游戏的时候开修改器,这些都是可以把它做成一个个启动项,在桌面或者开始菜单可以被看到的。那么接下来继续。

打开刚刚deb包解压出来的目录,我们要进入到opt/apps/你的应用包名/files。里边有两个sh文件,你就复制一份run.xxxx._.sh的文件。名字改成更你记得住的名称,例如run.xiugaiqi.sh。这个就是启动wine应用的脚本。接下来我们修改其中的内容。我们只需要修改其中EXEC_PATH中的字段。例如原始的字段写的是EXEC_PATH="C:\\PAL4\\\PAL4.exe"那你就把PAL4.EXE修改成别的。假设应用在C:\PAL4\pal4cheat\cheat.exe下。你应该写成EXEC_PATH="c:\\PAL4\\pal4cheat\\cheat.exe"。
image.png

到这个时候有一个新问题。就是像部分老游戏,例如仙剑四会把游戏存档丢在自己的安装目录内,对于玩家而言保存存档是一件比较麻烦的事情,这个时候就可以稍稍的修改一下启动脚本,将游戏的存档修改到用户目录下。

以下就是修改存档的位置脚本,这段脚本将游戏目录内的save文件夹重定向到了用户的文档目录下。那怕游戏被删也是可以被保留的。这个脚本仅供参考,其实可以做的更好,这个就且当作是抛砖引玉了。

saverelocate(){
document=`cat $HOME/.config/user-dirs.dirs | grep DOCUMENTS | tail  -1  |cut -d '=' -f 2  | sed 's/\"//g'`
documentpath=`eval echo $document`
echo "Document is located" + $documentpath

if [ -d "$documentpath/PAL4/save" ] && test -L $HOME'/.deepinwine/PAL4/drive_c/Program Files/PAL4/save' ; then
        echo "Save exists and link is okay"
else
        echo "Attempting to create save directory and link"
        mkdir -p "$documentpath/PAL4/save"
        rm -r $HOME'/.deepinwine/PAL4/drive_c/Program Files/PAL4/save/'
        ln -sf "$documentpath/PAL4/save" $HOME'/.deepinwine/PAL4/drive_c/Program Files/PAL4/save'
fi
}

接下来就是为刚刚添加的脚本添加桌面快捷方式了。打开opt/apps/你的应用包名/entries/applications/。这个时候文件管理会显示你的应用名称。这个时候复制一份。用文本编辑打开。修改下Name字段,这个会改变在开始菜单内显示的应用名称,重要的是EXEC这个字段。把最后的run.xxx.sh修改为你刚刚新建的脚本名称即可,前边的都不需要动。

image.png

这个时候如果不修改icon这个字段,你新建的应用启动项的图标会和之前一样,你可以提取图标,将其放在opt/apps/你的应用包名/entries/icons内。里边有48x48等多种大小的,可以提取一个png,然后往不同大小内的都复制一份。图标的名称你可以自己写,例如com.softstar.pal4.gameconfig.png。那么在文件内你可以写Icon=com.softstar.pal4.gameconfig。如果不会提取就用兼容引擎打开一下那个exe。打开引擎找到那个应用,点击发送到桌面,找到那个图标,右键打开,也找到Icon这个字段。找到路径复制一下

image.png

完成了这些过后就可以准备重新打包deb包了,在重新打包前,需要更新软件包内文件的校验和信息。这个时候我们进入deb包解压之后的目录。运行命令更新校验和信息。

$ cd pal4/
$ find . -type f -not -path "./DEBIAN/*" -exec md5sum {} + | sort -k 2 | sed 's/\.\/\(.*\)/\1/' > DEBIAN/md5sums

然后

$ cd ..
$ ls
pal4 pal4.deb
$ dpkg-deb -b pal4 pal4.deb
dpkg-deb: building package 'com.softstar.pal4' in 'fonts-aenigma-custom.deb'.

最后正常安装即可。

最后如果说游戏文件没有,或者是需要手动打一些mod的时候你就前往用户目录下的.deepinwine目录。找到你包名的文件夹,点开drive_c。找到游戏目录,复制文件进去即可。

Reply Favorite View the author
All Replies
午后d阳光
deepin
2026-01-10 10:13
#1

agree

Reply View the author
辉辉
deepin
2026-01-10 10:53
#2

这个兼容引擎目的是好,但是没法完美,就像经典的星际争霸运行后的结果就是鼠标很飘。红色警戒鼠标不飘但是有点卡顿。

Reply View the author
vIann
deepin
2026-01-10 11:12
#3

厉害啦 agree agree

Reply View the author
wayne
deepin
2026-01-10 11:24
#4

v25是有deepin-wine-helper这个包的。不需要解包修改依赖。你可以 sudo apt update sudo apt dpkg -i deb sudo apt install -f 安装看看,这样会自动安装依赖

Reply View the author