Enigma Virtual Box打包问题处理记录

2024-02-20  本文已影响0人  豪爵吸金ing
程序可以正常运行

把生成的程序testWeb.exe 另存到一个空文件夹下
通过 E:\Qt\5.15.2\msvc2019_64\bin\windeployqt.exe testWeb.exe
将依赖dll和资源全部找到,把依赖的子程序也拷贝到发布目录下 calendar.exe

现在在发布目录下运行testWeb.exe是正常的


发布目录下直接运行testWeb.exe是正常的

客户希望直接给它运行程序、无需解压、无需安装、一键运行。
所以想到用Enigma Virtual Box把发布目录publish目录下所有文件打包成一个完整的exe。

按步骤,打包过程如下


Enigma Virtual Box

然后测试运行,发现calendar.exe和QtWebEngineProcess.exe没有正常响应,导致网页没有显示、日历程序也没打开。


异常页面

我尝试把 calendar.exe 和 QtWebEngineProcess.exe 也用 Enigma Virtual Box 把依赖的dll 也搞成一个exe,再给testWeb.exe用,也不行。

附: publish目录文件内容,我在这里共享下YS168,因普通用户有大小限制,每个最大30MB,所以分了8个文件存储,全部下载完成后,解压publish.zip可以提取,大家有更好的文件床,可以推荐一下
http://ys-d.ysepan.com/626142937/014735558/UuwfgNl8J34646IGNP5Id5/publish.zip?lx=xz
http://ys-d.ysepan.com/626142975/014735551/SxwhgLl8J34646IGQ6Led/publish.z01?lx=xz
http://ys-d.ysepan.com/626142975/014735551/SxwhgLl8J34646IGQ6Led/publish.z02?lx=xz
http://ys-d.ysepan.com/626142975/014735551/SxwhgLl8J34646IGQ6Led/publish.z03?lx=xz
http://ys-d.ysepan.com/626142975/014735551/SxwhgLl8J34646IGQ6Led/publish.z04?lx=xz
http://ys-d.ysepan.com/626142975/014735551/SxwhgLl8J34646IGQ6Led/publish.z05?lx=xz
http://ys-d.ysepan.com/626142975/014735551/SxwhgLl8J34646IGQ6Led/publish.z06?lx=xz
http://ys-d.ysepan.com/626142933/014735557/UuwfgNl8J34646IGNP5Hb1/publish.z07?lx=xz
发邮件给china@enigmaprotector.com,讨论了该问题,给到的回复如下

1官方的邮件回复

从以上可以知道 原因是这个文件的特殊性【QtWebEngineProcess.exe】。
它不是由主程序直接调用的,而是从另一个 DLL 调用的。
调用方法非微软自带的 API,因此封包程序无法模拟这个文件被调用的动作。
普通的 dll 使用 Windows 常规 API 调用 exe 的话,没问题。
上文程序中 QT 用自己的方式加载 exe。 Enigma工具目前没有计划去解决。

github上也放了一份 publish.zip

暂时采用备选方案 临时文件夹解压运行代替

上一篇 下一篇

猜你喜欢

热点阅读