From 5edb8188b932b62a1217c8ebd14a418d4321489b Mon Sep 17 00:00:00 2001 From: gfdgd_xi <3025613752@qq.com> Date: Sat, 1 Oct 2022 20:53:50 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../deepin-wine-runner/deepin-wine-runner | 74 +++++------- .../deepin-wine-runner/package-script.zip | Bin 300911 -> 300911 bytes .../apps/deepin-wine-runner/wine/installwine | 15 ++- deepin-wine-packager.py | 111 ++++++++++++++---- package-script.zip | Bin 300911 -> 300911 bytes wine/installwine | 15 ++- 6 files changed, 135 insertions(+), 80 deletions(-) diff --git a/deb/opt/apps/deepin-wine-runner/deepin-wine-runner b/deb/opt/apps/deepin-wine-runner/deepin-wine-runner index 31c851e..9ff7c7e 100755 --- a/deb/opt/apps/deepin-wine-runner/deepin-wine-runner +++ b/deb/opt/apps/deepin-wine-runner/deepin-wine-runner @@ -169,8 +169,8 @@ class Runexebutton_threading(QtCore.QThread): wineUsingOption = "" if o1.currentText() == "基于 box86 的 deepin-wine6-stable" or o1.currentText() == "基于 exagear 的 deepin-wine6-stable": if not os.path.exists(f"{programPath}/dlls-arm"): - if os.system(f"7z x \"{programPath}/dlls-arm.7z\" -o\"{programPath}\""): - QtWidgets.QMessageBox(widget, "错误", "无法解压资源") + if os.system(f"7z x -y \"{programPath}/dlls-arm.7z\" -o\"{programPath}\""): + QtWidgets.QMessageBox.critical(widget, "错误", "无法解压资源") return os.remove(f"{programPath}/dlls-arm.7z") if setting["TerminalOpen"]: @@ -290,8 +290,8 @@ def make_desktop_on_launcher(): wineUsingOption = "" if o1.currentText() == "基于 box86 的 deepin-wine6-stable" or o1.currentText() == "基于 exagear 的 deepin-wine6-stable": if not os.path.exists(f"{programPath}/dlls-arm"): - if os.system(f"7z x \"{programPath}/dlls-arm.7z\" -o\"{programPath}\""): - QtWidgets.QMessageBox(widget, "错误", "无法解压资源") + if os.system(f"7z x -y \"{programPath}/dlls-arm.7z\" -o\"{programPath}\""): + QtWidgets.QMessageBox.critical(widget, "错误", "无法解压资源") return os.remove(f"{programPath}/dlls-arm.7z") if o1.currentText() == "基于 exagear 的 deepin-wine6-stable" or o1.currentText() == "基于 box86 的 deepin-wine6-stable": @@ -352,8 +352,8 @@ def make_desktop_on_desktop(): wineUsingOption = "" if o1.currentText() == "基于 box86 的 deepin-wine6-stable" or o1.currentText() == "基于 exagear 的 deepin-wine6-stable": if not os.path.exists(f"{programPath}/dlls-arm"): - if os.system(f"7z x \"{programPath}/dlls-arm.7z\" -o\"{programPath}\""): - QtWidgets.QMessageBox(widget, "错误", "无法解压资源") + if os.system(f"7z x -y \"{programPath}/dlls-arm.7z\" -o\"{programPath}\""): + QtWidgets.QMessageBox.critical(widget, "错误", "无法解压资源") return os.remove(f"{programPath}/dlls-arm.7z") if not os.path.exists(get_desktop_path()): @@ -479,8 +479,8 @@ class RunWineProgramThread(QtCore.QThread): wineUsingOption = "" if o1.currentText() == "基于 box86 的 deepin-wine6-stable" or o1.currentText() == "基于 exagear 的 deepin-wine6-stable": if not os.path.exists(f"{programPath}/dlls-arm"): - if os.system(f"7z x \"{programPath}/dlls-arm.7z\" -o\"{programPath}\""): - QtWidgets.QMessageBox(widget, "错误", "无法解压资源") + if os.system(f"7z x -y \"{programPath}/dlls-arm.7z\" -o\"{programPath}\""): + QtWidgets.QMessageBox.critical(widget, "错误", "无法解压资源") return os.remove(f"{programPath}/dlls-arm.7z") if setting["TerminalOpen"]: @@ -543,8 +543,8 @@ class RunWinetricksThread(QtCore.QThread): wineUsingOption = "" if o1.currentText() == "基于 box86 的 deepin-wine6-stable" or o1.currentText() == "基于 exagear 的 deepin-wine6-stable": if not os.path.exists(f"{programPath}/dlls-arm"): - if os.system(f"7z x \"{programPath}/dlls-arm.7z\" -o\"{programPath}\""): - QtWidgets.QMessageBox(widget, "错误", "无法解压资源") + if os.system(f"7z x -y \"{programPath}/dlls-arm.7z\" -o\"{programPath}\""): + QtWidgets.QMessageBox.critical(widget, "错误", "无法解压资源") return os.remove(f"{programPath}/dlls-arm.7z") if setting["TerminalOpen"]: @@ -576,8 +576,8 @@ def RunWinetricks(): return if o1.currentText() == "基于 box86 的 deepin-wine6-stable" or o1.currentText() == "基于 exagear 的 deepin-wine6-stable": if not os.path.exists(f"{programPath}/dlls-arm"): - if os.system(f"7z x \"{programPath}/dlls-arm.7z\" -o\"{programPath}\""): - QtWidgets.QMessageBox(widget, "错误", "无法解压资源") + if os.system(f"7z x -y \"{programPath}/dlls-arm.7z\" -o\"{programPath}\""): + QtWidgets.QMessageBox.critical(widget, "错误", "无法解压资源") return os.remove(f"{programPath}/dlls-arm.7z") returnText.setText("") @@ -643,8 +643,8 @@ def InstallMSXML(): def InstallDXVK(): if not os.path.exists(f"{programPath}/dxvk"): - if os.system(f"7z x \"{programPath}/dxvk.7z\" -o\"{programPath}\""): - QtWidgets.QMessageBox(widget, "错误", "无法解压资源") + if os.system(f"7z x -y \"{programPath}/dxvk.7z\" -o\"{programPath}\""): + QtWidgets.QMessageBox.critical(widget, "错误", "无法解压资源") return os.remove(f"{programPath}/dxvk.7z") if e1.currentText() == "": @@ -659,8 +659,8 @@ def InstallDXVK(): def UninstallDXVK(): if not os.path.exists(f"{programPath}/dxvk"): - if os.system(f"7z x \"{programPath}/dxvk.7z\" -o\"{programPath}\""): - QtWidgets.QMessageBox(widget, "错误", "无法解压资源") + if os.system(f"7z x -y \"{programPath}/dxvk.7z\" -o\"{programPath}\""): + QtWidgets.QMessageBox.critical(widget, "错误", "无法解压资源") return os.remove(f"{programPath}/dxvk.7z") if e1.currentText() == "": @@ -1793,36 +1793,16 @@ exe路径\' 参数 \' 千万不要中断后不删除源的情况下 apt upgrade !!!中断后只需重新打开脚本输入 repair 或者随意安装一个 Wine(会自动执行恢复操作)即可 以及此脚本安装的 Wine 无法保证 100% 能使用,以及副作用是会提示 N: 鉴于仓库 'https://community-packages.deepin.com/beige beige InRelease' 不支持 'i386' 体系结构,跳过配置文件 'main/binary-i386/Packages' 的获取。''' -updateThingsString = '''

2.2.0-1 更新内容

-※1、修复基于生态适配活动打包器对话框过多并修改了小提示内容 -

2.2.0 更新内容

-※1、Dll 提取工具支持 NT 6.X 及以上版本的 Dll 提取并优化了提示文本 -※2、支持卸载后自动删除缓存/配置文件(删除配置文件只限 purge 参数删除) -※3、DEBUG 模式输出更多信息以方便调试(原本只输出 pid、Err) -※4、支持安装 msi 文件 -※5、修复无法正常评分的问题 -※6、修复 QQ、TIM 安装后无法正常生成快捷方式的问题 -※7、基于生态适配活动的打包器更换为 spark-wine-helper 以及添加自动删除残留脚本 -※8、打包器支持从 deb 文件读取信息 -※9、修复在 UOS 专业版(鲲鹏)无法正常运行的问题以及组件安装功能无法正常执行安装命令的问题 -※10、修复出现星火应用商店和官方应用商店反复提示更新死循环的问题 -※11、新增评分分数预测功能(不准) -※12、更换程序接口 -※13、将 WineHQ 的源换为国内源 -14、更新组件安装的离线列表 -15、不再强制依赖深度终端,只做推荐安装 -16、基于生态活动适配脚本的打包器在打包完成后会弹出对话框提示打包完成 -17、优化打包器的 spark wine helper 依赖设置方式 -18、新增 RegShot(注册表比对工具) -19、添加 Wine 运行器评分数据的搜索功能 -以下更新内容旧版本也适用(只限 2.1.0 及以上版本) -※1、在“安装更多Wine”的Wine安装工具中上新 Wine -※2、云 Dll 工具上新 Dll -※3、VCPP、net 运行库安装工具新增运行库 +updateThingsString = '''※1、自动配置解释器支持 bash 语法(新版底层调用 bash,旧版任然使用旧版解析引擎) +※2、修复缺失 wimtools 依赖导致无法正常安装的问题 +※3、修复基于生态适配活动脚本打包器对话框过多影响使用的问题,并支持指定不同的包名和容器名 +※4、7z 文件解压不会自动替换文件然后卡死以及因此导致程序闪退的问题 +5、支持通过 exe 路径自动生成 Wine 容器路径 +6、支持禁用/启用 wine 容器是否生成快捷方式的功能 ''' for i in information["Thank"]: thankText += f"{i}\n" -updateTime = "2022年09月24日" +updateTime = "2022年09月30日" about = f'''

关于

一个能让Linux用户更加方便运行Windows应用的程序,内置了对wine图形化的支持和各种Wine工具和自制Wine程序打包器、运行库安装工具等等

同时也内置了基于VirtualBox制作的小白Windows虚拟机安装工具,可以做到只需要用户下载系统镜像并点击安装即可,无需顾及虚拟机安装、创建、虚拟机的分区等等

@@ -2146,8 +2126,12 @@ installDxvk = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "安装 D uninstallDxvk = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "卸载 DXVK")) dxvkMenu.addAction(installDxvk) dxvkMenu.addAction(uninstallDxvk) -wineOption.addSeparator() wineOption.addAction(deleteDesktopIcon) +settingWineBottleCreateLink = wineOption.addMenu(QtCore.QCoreApplication.translate("U", "允许/禁止指定 wine 容器生成快捷方式")) +enabledWineBottleCreateLink = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "允许指定 wine 容器生成快捷方式")) +disbledWineBottleCreateLink = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "禁止指定 wine 容器生成快捷方式")) +settingWineBottleCreateLink.addAction(enabledWineBottleCreateLink) +settingWineBottleCreateLink.addAction(disbledWineBottleCreateLink) w1.triggered.connect(OpenWineBotton) w2.triggered.connect(InstallWineFont) w3.triggered.connect(OpenWineFontPath) @@ -2181,6 +2165,8 @@ wm4_2.triggered.connect(lambda: os.system(f"'{programPath}/launch.sh' deepin-ter installDxvk.triggered.connect(InstallDXVK) uninstallDxvk.triggered.connect(UninstallDXVK) deleteDesktopIcon.triggered.connect(DeleteDesktopIcon) +enabledWineBottleCreateLink.triggered.connect(lambda: RunWineProgram("reg' delete 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v winemenubuilder.exe '/f")) +disbledWineBottleCreateLink.triggered.connect(lambda: RunWineProgram("reg' add 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v winemenubuilder.exe '/f")) virtualMachine = menu.addMenu(QtCore.QCoreApplication.translate("U", "虚拟机(&V)")) v1 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "使用 Virtualbox 虚拟机运行 Windows 应用")) diff --git a/deb/opt/apps/deepin-wine-runner/package-script.zip b/deb/opt/apps/deepin-wine-runner/package-script.zip index d55821c65f2da4dba7d8e80022f20a7770220a90..73dfbebbde9f752e3f4f91ba288b979cdae17734 100755 GIT binary patch delta 389 zcmaFAPU!tQp$TRzOkd2Br%(LFC_MdN5;NPxU@PX*zh)aJFms{FOy0m{0g{^hn(G^w ze!_hiOt0bzW1jonY%?=24-;5Gh<`tb-h74sl>~^? z_WzF=Kk{NzA^3^W8LT4w6Jr$EhV5IvFbaTK(~o~+oDGs(p8B1U5w2Tv`=lR?T+ASe z_W8dVx6l90^fr+B<4?2c{l3iEV8j0UGRJ@wY>x?KR)w%yLYVjQfn{BjnPUVI#!Ww0 z!mJACLPBb~Kq<2&Sg}tjvj8KQ6<@}@55iKYV73RdrYBW0zXD0N`&Th<_pf3(&jnVh J*vjH31OSaao!|ff delta 389 zcmaFAPU!tQp$TRzJExl_PoMaUQF!{lBxbgW!B)&+)+QS#Fmth7>p_;8yn)LCBsKXp z*EcZzg!?d|_WzF=Kk{NzA^3^W8LT4w6Jr$EhV5IvFbaTK(~o~+oDGs(p8B1U5w2Tv z`=lR?T+ATL+vopg+&=#|)7wDi$+jlb`+b?S!G`_yWsYG632l!FWLAZ+T0)rj@qxu$ zlbK@#5ynkFSHi3c=R!hix~^? z_WzF=Kk{NzA^3^W8LT4w6Jr$EhV5IvFbaTK(~o~+oDGs(p8B1U5w2Tv`=lR?T+ASe z_W8dVx6l90^fr+B<4?2c{l3iEV8j0UGRJ@wY>x?KR)w%yLYVjQfn{BjnPUVI#!Ww0 z!mJACLPBb~Kq<2&Sg}tjvj8KQ6<@}@55iKYV73RdrYBW0zXD0N`&Th<_pf3(&jnVh J*vjH31OSaao!|ff delta 389 zcmaFAPU!tQp$TRzJExl_PoMaUQF!{lBxbgW!B)&+)+QS#Fmth7>p_;8yn)LCBsKXp z*EcZzg!?d|_WzF=Kk{NzA^3^W8LT4w6Jr$EhV5IvFbaTK(~o~+oDGs(p8B1U5w2Tv z`=lR?T+ATL+vopg+&=#|)7wDi$+jlb`+b?S!G`_yWsYG632l!FWLAZ+T0)rj@qxu$ zlbK@#5ynkFSHi3c=R!hix