1.8.0初步

This commit is contained in:
gfdgd xi 2022-08-02 08:49:42 +08:00
parent 24916bf63b
commit 303161d10e
13 changed files with 214 additions and 24 deletions

View File

@ -89,6 +89,7 @@ if __name__ == "__main__":
os.system("mkdir -p /tmp/wineappstore") os.system("mkdir -p /tmp/wineappstore")
os.system(f"aria2c -x 16 -s 16 -d /tmp/wineappstore -o install.exe \"{downloadUrl[choose]}\"") os.system(f"aria2c -x 16 -s 16 -d /tmp/wineappstore -o install.exe \"{downloadUrl[choose]}\"")
print("开始安装……") print("开始安装……")
print(f"WINEPREFIX={sys.argv[1]} {sys.argv[2]} /tmp/wineappstore/install.exe")
os.system(f"WINEPREFIX={sys.argv[1]} {sys.argv[2]} /tmp/wineappstore/install.exe") os.system(f"WINEPREFIX={sys.argv[1]} {sys.argv[2]} /tmp/wineappstore/install.exe")
print("安装结束……") print("安装结束……")
input("按回车键继续……") input("按回车键继续……")

74
InstallWineOnDeepin23.py Executable file
View File

@ -0,0 +1,74 @@
#!/usr/bin/env python3
# 使用系统默认的 python3 运行
###########################################################################################
# 作者gfdgd xi、为什么您不喜欢熊出没和阿布呢
# 版本1.8.0
# 更新时间2022年08月02日
# 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序
# 基于 Python3 构建
###########################################################################################
#################
# 引入所需的库
#################
import os
def InstallWithDeepinSource(program):
os.system(f"sudo cp '{programPath}/deepin.list' /etc/apt/sources.list.d/deepin20-withwinerunner.list")
os.system(f"sudo dpkg --add-architecture i386")
os.system(f"sudo apt update")
os.system(f"sudo apt install {program}")
os.system(f"sudo rm /etc/apt/sources.list.d/deepin20-withwinerunner.list")
os.system(f"sudo dpkg --remove-architecture i386")
os.system(f"sudo apt update")
def InstallWithSparkStoreSource(program):
os.system(f"sudo cp '{programPath}/sparkstore.list' /etc/apt/sources.list.d/sparkstore-withwinerunner.list")
os.system(f"sudo cp '{programPath}/deepin.list' /etc/apt/sources.list.d/deepin20-withwinerunner.list")
os.system(f"sudo dpkg --add-architecture i386")
os.system(f"sudo mkdir /tmp/spark-store-install")
os.system(f"sudo rm -rf /tmp/spark-store-install/spark-store.asc")
os.system(f"sudo wget -O /tmp/spark-store-install/spark-store.asc https://d.store.deepinos.org.cn/dcs-repo.gpg-key.asc")
os.system(f"sudo gpg --dearmor /tmp/spark-store-install/spark-store.asc")
os.system(f"sudo cp /tmp/spark-store-install/spark-store.asc.gpg /etc/apt/trusted.gpg.d/spark-store.gpg")
os.system(f"sudo apt update")
os.system(f"sudo apt install {program}")
os.system(f"sudo rm /etc/apt/sources.list.d/sparkstore-withwinerunner.list")
os.system(f"sudo dpkg --remove-architecture i386")
os.system(f"sudo apt update")
def Repair():
print("修复中……")
os.system(f"rm -f /etc/apt/sources.list.d/sparkstore-withwinerunner.list")
os.system(f"rm -f /etc/apt/sources.list.d/deepin20-withwinerunner.list")
print("修复完成!")
if __name__ == "__main__":
programPath = os.path.split(os.path.realpath(__file__))[0] # 返回 string
print("能不用这个就不用这个!!!真心建议!!!\n")
print("下面的安装过程皆需要换源等操作,安装过程千万不要中断,以及千万不要 apt upgrade感谢\n")
print("如果真一不小心中断了可以在下面输入“repair”进行修复")
print("所有操作均需要 Root 权限,请知悉\n")
print("千万不要中断且 apt upgrade、千万不要中断且 apt upgrade、千万不要中断且 apt upgrade重要的事情说三遍")
print("以及无法保证安装的 Wine 能使用、无法保证安装的 Wine 能使用、无法保证安装的 Wine 能使用,重要的事情说三遍")
repair = input("按回车后继续")
if repair.lower() == "repair":
Repair()
exit()
for i in [
["原版 WineWine64", "wine"],
["deepin-wine5-stable", "deepin-wine5-stable"],
["deepin-wine6-stable", "deepin-wine6-stable"]
]:
choose = input(f"安装{i[0]}?(添加深度源)[Y/N]").upper()
if choose == "Y":
print("安装中……")
InstallWithDeepinSource(i[1])
print("安装完成!")
exit()
for i in [
["deepin-wine", "deepin-wine"],
["spark-wine7-devel", "spark-wine7-devel"]
]:
choose = input(f"安装{i[0]}?(添加深度、星火源)[Y/N]").upper()
if choose == "Y":
InstallWithSparkStoreSource(i[1])

View File

@ -1,6 +1,6 @@
build: build:
cd VM-source && qmake #cd VM-source && qmake
cd VM-source && make #cd VM-source && make
cp -rv VM-source/VirtualMachine VM cp -rv VM-source/VirtualMachine VM
cp -rv VM-source/deepin-wine-runner.svg VM cp -rv VM-source/deepin-wine-runner.svg VM
cp -rv VM-source/api VM cp -rv VM-source/api VM
@ -36,6 +36,7 @@ build:
cp -rv dlls deb/opt/apps/deepin-wine-runner cp -rv dlls deb/opt/apps/deepin-wine-runner
cp -rv UpdateGeek.sh deb/opt/apps/deepin-wine-runner cp -rv UpdateGeek.sh deb/opt/apps/deepin-wine-runner
cp -rv AppStore.py deb/opt/apps/deepin-wine-runner cp -rv AppStore.py deb/opt/apps/deepin-wine-runner
cp -rv InstallWineOnDeepin23.py deb/opt/apps/deepin-wine-runner
dpkg -b deb spark-deepin-wine-runner.deb dpkg -b deb spark-deepin-wine-runner.deb
install: install:

View File

@ -89,6 +89,7 @@ if __name__ == "__main__":
os.system("mkdir -p /tmp/wineappstore") os.system("mkdir -p /tmp/wineappstore")
os.system(f"aria2c -x 16 -s 16 -d /tmp/wineappstore -o install.exe \"{downloadUrl[choose]}\"") os.system(f"aria2c -x 16 -s 16 -d /tmp/wineappstore -o install.exe \"{downloadUrl[choose]}\"")
print("开始安装……") print("开始安装……")
print(f"WINEPREFIX={sys.argv[1]} {sys.argv[2]} /tmp/wineappstore/install.exe")
os.system(f"WINEPREFIX={sys.argv[1]} {sys.argv[2]} /tmp/wineappstore/install.exe") os.system(f"WINEPREFIX={sys.argv[1]} {sys.argv[2]} /tmp/wineappstore/install.exe")
print("安装结束……") print("安装结束……")
input("按回车键继续……") input("按回车键继续……")

View File

@ -0,0 +1,74 @@
#!/usr/bin/env python3
# 使用系统默认的 python3 运行
###########################################################################################
# 作者gfdgd xi、为什么您不喜欢熊出没和阿布呢
# 版本1.8.0
# 更新时间2022年08月02日
# 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序
# 基于 Python3 构建
###########################################################################################
#################
# 引入所需的库
#################
import os
def InstallWithDeepinSource(program):
os.system(f"sudo cp '{programPath}/deepin.list' /etc/apt/sources.list.d/deepin20-withwinerunner.list")
os.system(f"sudo dpkg --add-architecture i386")
os.system(f"sudo apt update")
os.system(f"sudo apt install {program}")
os.system(f"sudo rm /etc/apt/sources.list.d/deepin20-withwinerunner.list")
os.system(f"sudo dpkg --remove-architecture i386")
os.system(f"sudo apt update")
def InstallWithSparkStoreSource(program):
os.system(f"sudo cp '{programPath}/sparkstore.list' /etc/apt/sources.list.d/sparkstore-withwinerunner.list")
os.system(f"sudo cp '{programPath}/deepin.list' /etc/apt/sources.list.d/deepin20-withwinerunner.list")
os.system(f"sudo dpkg --add-architecture i386")
os.system(f"sudo mkdir /tmp/spark-store-install")
os.system(f"sudo rm -rf /tmp/spark-store-install/spark-store.asc")
os.system(f"sudo wget -O /tmp/spark-store-install/spark-store.asc https://d.store.deepinos.org.cn/dcs-repo.gpg-key.asc")
os.system(f"sudo gpg --dearmor /tmp/spark-store-install/spark-store.asc")
os.system(f"sudo cp /tmp/spark-store-install/spark-store.asc.gpg /etc/apt/trusted.gpg.d/spark-store.gpg")
os.system(f"sudo apt update")
os.system(f"sudo apt install {program}")
os.system(f"sudo rm /etc/apt/sources.list.d/sparkstore-withwinerunner.list")
os.system(f"sudo dpkg --remove-architecture i386")
os.system(f"sudo apt update")
def Repair():
print("修复中……")
os.system(f"rm -f /etc/apt/sources.list.d/sparkstore-withwinerunner.list")
os.system(f"rm -f /etc/apt/sources.list.d/deepin20-withwinerunner.list")
print("修复完成!")
if __name__ == "__main__":
programPath = os.path.split(os.path.realpath(__file__))[0] # 返回 string
print("能不用这个就不用这个!!!真心建议!!!\n")
print("下面的安装过程皆需要换源等操作,安装过程千万不要中断,以及千万不要 apt upgrade感谢\n")
print("如果真一不小心中断了可以在下面输入“repair”进行修复")
print("所有操作均需要 Root 权限,请知悉\n")
print("千万不要中断且 apt upgrade、千万不要中断且 apt upgrade、千万不要中断且 apt upgrade重要的事情说三遍")
print("以及无法保证安装的 Wine 能使用、无法保证安装的 Wine 能使用、无法保证安装的 Wine 能使用,重要的事情说三遍")
repair = input("按回车后继续")
if repair.lower() == "repair":
Repair()
exit()
for i in [
["原版 WineWine64", "wine"],
["deepin-wine5-stable", "deepin-wine5-stable"],
["deepin-wine6-stable", "deepin-wine6-stable"]
]:
choose = input(f"安装{i[0]}?(添加深度源)[Y/N]").upper()
if choose == "Y":
print("安装中……")
InstallWithDeepinSource(i[1])
print("安装完成!")
exit()
for i in [
["deepin-wine", "deepin-wine"],
["spark-wine7-devel", "spark-wine7-devel"]
]:
choose = input(f"安装{i[0]}?(添加深度、星火源)[Y/N]").upper()
if choose == "Y":
InstallWithSparkStoreSource(i[1])

View File

@ -85,7 +85,7 @@ run = None
def runexebutton(self): def runexebutton(self):
global run global run
DisableButton(True) DisableButton(True)
if not CheckProgramIsInstall(wine[o1.currentText()]): if not CheckProgramIsInstall(wine[o1.currentText()]) and o1.currentText() != "基于 linglong 的 deepin-wine6-stable不推荐":
if QtWidgets.QMessageBox.question(widget, "提示", "检查到您未安装这个 wine是否继续使用这个 wine 运行?") == QtWidgets.QMessageBox.No: if QtWidgets.QMessageBox.question(widget, "提示", "检查到您未安装这个 wine是否继续使用这个 wine 运行?") == QtWidgets.QMessageBox.No:
DisableButton(False) DisableButton(False)
return return
@ -307,6 +307,9 @@ def KillProgram():
def InstallWine(): def InstallWine():
threading.Thread(target=os.system, args=[f"'{programPath}/launch.sh' deepin-terminal -e \"{programPath}/AllInstall.py\""]).start() threading.Thread(target=os.system, args=[f"'{programPath}/launch.sh' deepin-terminal -e \"{programPath}/AllInstall.py\""]).start()
def InstallWineOnDeepin23():
threading.Thread(target=os.system, args=[f"'{programPath}/launch.sh' deepin-terminal -e \"{programPath}/InstallWineOnDeepin23.py\""]).start()
def OpenWineBotton(): def OpenWineBotton():
if e1.currentText() == "": if e1.currentText() == "":
wineBottonPath = setting["DefultBotton"] wineBottonPath = setting["DefultBotton"]
@ -429,42 +432,42 @@ def InstallMonoGecko(program):
wineBottonPath = setting["DefultBotton"] wineBottonPath = setting["DefultBotton"]
else: else:
wineBottonPath = e1.currentText() wineBottonPath = e1.currentText()
os.system(f"'{programPath}/launch.sh' deepin-terminal -e '{programPath}/InstallMono.py' '{wineBottonPath}' {wine[o1.currentText()]} {program}") os.system(f"'{programPath}/launch.sh' deepin-terminal -e '{programPath}/InstallMono.py' '{wineBottonPath}' '{wine[o1.currentText()]}' {program}")
def InstallNetFramework(): def InstallNetFramework():
if e1.currentText() == "": if e1.currentText() == "":
wineBottonPath = setting["DefultBotton"] wineBottonPath = setting["DefultBotton"]
else: else:
wineBottonPath = e1.currentText() wineBottonPath = e1.currentText()
os.system(f"'{programPath}/launch.sh' deepin-terminal -e '{programPath}/InstallNetFramework.py' '{wineBottonPath}' {wine[o1.currentText()]}") os.system(f"'{programPath}/launch.sh' deepin-terminal -e '{programPath}/InstallNetFramework.py' '{wineBottonPath}' '{wine[o1.currentText()]}'")
def InstallVisualStudioCPlusPlus(): def InstallVisualStudioCPlusPlus():
if e1.currentText() == "": if e1.currentText() == "":
wineBottonPath = setting["DefultBotton"] wineBottonPath = setting["DefultBotton"]
else: else:
wineBottonPath = e1.currentText() wineBottonPath = e1.currentText()
os.system(f"'{programPath}/launch.sh' deepin-terminal -e '{programPath}/InstallVisualCPlusPlus.py' '{wineBottonPath}' {wine[o1.currentText()]}") os.system(f"'{programPath}/launch.sh' deepin-terminal -e '{programPath}/InstallVisualCPlusPlus.py' '{wineBottonPath}' '{wine[o1.currentText()]}'")
def InstallMSXML(): def InstallMSXML():
if e1.currentText() == "": if e1.currentText() == "":
wineBottonPath = setting["DefultBotton"] wineBottonPath = setting["DefultBotton"]
else: else:
wineBottonPath = e1.currentText() wineBottonPath = e1.currentText()
os.system(f"'{programPath}/launch.sh' deepin-terminal -e '{programPath}/InstallMsxml.py' '{wineBottonPath}' {wine[o1.currentText()]}") os.system(f"'{programPath}/launch.sh' deepin-terminal -e '{programPath}/InstallMsxml.py' '{wineBottonPath}' '{wine[o1.currentText()]}'")
def MiniAppStore(): def MiniAppStore():
if e1.currentText()== "": if e1.currentText()== "":
wineBottonPath = setting["DefultBotton"] wineBottonPath = setting["DefultBotton"]
else: else:
wineBottonPath = e1.currentText() wineBottonPath = e1.currentText()
os.system(f"'{programPath}/launch.sh' deepin-terminal -e '{programPath}/AppStore.py' '{wineBottonPath}' {wine[o1.currentText()]}") os.system(f"'{programPath}/launch.sh' deepin-terminal -e '{programPath}/AppStore.py' '{wineBottonPath}' '{wine[o1.currentText()]}'")
def InstallOther(): def InstallOther():
if e1.currentText()== "": if e1.currentText()== "":
wineBottonPath = setting["DefultBotton"] wineBottonPath = setting["DefultBotton"]
else: else:
wineBottonPath = e1.currentText() wineBottonPath = e1.currentText()
os.system(f"'{programPath}/launch.sh' deepin-terminal -e '{programPath}/InstallOther.py' '{wineBottonPath}' {wine[o1.currentText()]}") os.system(f"'{programPath}/launch.sh' deepin-terminal -e '{programPath}/InstallOther.py' '{wineBottonPath}' '{wine[o1.currentText()]}'")
def BuildExeDeb(): def BuildExeDeb():
if e1.currentText() == "": if e1.currentText() == "":
@ -935,6 +938,16 @@ if not os.path.exists(get_home() + "/.config/deepin-wine-runner/WineSetting.json
# 如果要添加其他 wine请在字典添加其名称和执行路径 # 如果要添加其他 wine请在字典添加其名称和执行路径
try: try:
wine = {"deepin-wine": "deepin-wine", "deepin-wine5": "deepin-wine5", "wine": "wine", "wine64": "wine64", "deepin-wine5 stable": "deepin-wine5-stable", "deepin-wine6 stable": "deepin-wine6-stable", "spark-wine7-devel": "spark-wine7-devel", "ukylin-wine": "ukylin-wine"} wine = {"deepin-wine": "deepin-wine", "deepin-wine5": "deepin-wine5", "wine": "wine", "wine64": "wine64", "deepin-wine5 stable": "deepin-wine5-stable", "deepin-wine6 stable": "deepin-wine6-stable", "spark-wine7-devel": "spark-wine7-devel", "ukylin-wine": "ukylin-wine"}
if os.path.exists("/persistent/linglong/layers/"): # 判断是否使用 linglong
for i in os.listdir("/persistent/linglong/layers/"):
try:
dire = os.listdir(f"/persistent/linglong/layers/{i}")[-1]
arch = os.listdir(f"/persistent/linglong/layers/{i}/{dire}")[-1]
if os.path.exists(f"/persistent/linglong/layers/{i}/{dire}/{arch}/runtime/bin/deepin-wine6-stable"):
wine["基于 linglong 的 deepin-wine6-stable不推荐"] = f"ll-cli run {i} --exec '/bin/deepin-wine6-stable'"
break
except:
pass
shellHistory = list(json.loads(readtxt(get_home() + "/.config/deepin-wine-runner/ShellHistory.json")).values()) shellHistory = list(json.loads(readtxt(get_home() + "/.config/deepin-wine-runner/ShellHistory.json")).values())
findExeHistory = list(json.loads(readtxt(get_home() + "/.config/deepin-wine-runner/FindExeHistory.json")).values()) findExeHistory = list(json.loads(readtxt(get_home() + "/.config/deepin-wine-runner/FindExeHistory.json")).values())
wineBottonHistory = list(json.loads(readtxt(get_home() + "/.config/deepin-wine-runner/WineBottonHistory.json")).values()) wineBottonHistory = list(json.loads(readtxt(get_home() + "/.config/deepin-wine-runner/WineBottonHistory.json")).values())
@ -974,9 +987,10 @@ exe路径\' 参数 \'
5、wine 容器如果没有指定,则会默认为 ~/.wine''' 5、wine 容器如果没有指定,则会默认为 ~/.wine'''
updateThingsString = '''※1、修复了打包器非基于活动脚本 control、postrm 写入文件颠倒的问题 updateThingsString = '''※1、修复了打包器非基于活动脚本 control、postrm 写入文件颠倒的问题
※2、内置一个微型的 Windows 应用商店(应用来源:腾讯软件管家) ※2、内置一个微型的 Windows 应用商店(应用来源:腾讯软件管家)
3、更新了打包器非基于活动脚本调用星火 spark-wine-helper 的 run.sh 脚本格式 ※3、初步支持 deepin 23
4、修复了打包器基于活动脚本在 dde-top-panel 和 dde-globalmenu-service 下无法打开帮助提示的问题 4、更新了打包器非基于活动脚本调用星火 spark-wine-helper 的 run.sh 脚本格式
5、支持屏蔽 Wine 默认的 Mono、Gecko 安装器(屏蔽方法来自星火应用商店审核组和提供的新 run.sh 标准) 5、修复了打包器基于活动脚本在 dde-top-panel 和 dde-globalmenu-service 下无法打开帮助提示的问题
6、支持屏蔽 Wine 默认的 Mono、Gecko 安装器(屏蔽方法来自星火应用商店审核组和提供的新 run.sh 标准)
''' '''
for i in information["Thank"]: for i in information["Thank"]:
thankText += f"{i}\n" thankText += f"{i}\n"
@ -1117,7 +1131,6 @@ saveDesktopFileOnLauncher.setSizePolicy(size)
label_r_2.setSizePolicy(size) label_r_2.setSizePolicy(size)
getProgramIcon.setSizePolicy(size) getProgramIcon.setSizePolicy(size)
trasButton.setSizePolicy(size) trasButton.setSizePolicy(size)
#uninstallProgram.setSizePolicy(size)
wineConfig.setSizePolicy(size) wineConfig.setSizePolicy(size)
returnText = QtWidgets.QTextBrowser() returnText = QtWidgets.QTextBrowser()
@ -1154,16 +1167,19 @@ mainLayout.addWidget(programRun, 2, 1, 1, 1)
menu = window.menuBar() menu = window.menuBar()
programmenu = menu.addMenu("程序(&P)") programmenu = menu.addMenu("程序(&P)")
p1 = QtWidgets.QAction("安装 wine(&I)") p1 = QtWidgets.QAction("安装 wine(&I)")
installWineOnDeepin23 = QtWidgets.QAction("安装 wine(只限Deepin23)")
p2 = QtWidgets.QAction("设置程序(&S)") p2 = QtWidgets.QAction("设置程序(&S)")
p3 = QtWidgets.QAction("清空软件历史记录(&C)") p3 = QtWidgets.QAction("清空软件历史记录(&C)")
p4 = QtWidgets.QAction("退出程序(&E)") p4 = QtWidgets.QAction("退出程序(&E)")
programmenu.addAction(p1) programmenu.addAction(p1)
programmenu.addAction(installWineOnDeepin23)
programmenu.addSeparator() programmenu.addSeparator()
programmenu.addAction(p2) programmenu.addAction(p2)
programmenu.addAction(p3) programmenu.addAction(p3)
programmenu.addSeparator() programmenu.addSeparator()
programmenu.addAction(p4) programmenu.addAction(p4)
p1.triggered.connect(InstallWine) p1.triggered.connect(InstallWine)
installWineOnDeepin23.triggered.connect(InstallWineOnDeepin23)
p2.triggered.connect(ProgramSetting.ShowWindow) p2.triggered.connect(ProgramSetting.ShowWindow)
p3.triggered.connect(CleanProgramHistory) p3.triggered.connect(CleanProgramHistory)
p4.triggered.connect(window.close) p4.triggered.connect(window.close)

View File

@ -0,0 +1 @@
/opt/apps/deepin-wine-runner/InstallWineOnDeepin23.py

4
deepin.list Normal file
View File

@ -0,0 +1,4 @@
## Generated by deepin-installer
deb https://community-packages.deepin.com/deepin/ apricot main contrib non-free
# Written by deepin-home-appstore-client
deb https://com-store-packages.uniontech.com/appstore deepin appstore

View File

@ -85,7 +85,7 @@ run = None
def runexebutton(self): def runexebutton(self):
global run global run
DisableButton(True) DisableButton(True)
if not CheckProgramIsInstall(wine[o1.currentText()]): if not CheckProgramIsInstall(wine[o1.currentText()]) and o1.currentText() != "基于 linglong 的 deepin-wine6-stable不推荐":
if QtWidgets.QMessageBox.question(widget, "提示", "检查到您未安装这个 wine是否继续使用这个 wine 运行?") == QtWidgets.QMessageBox.No: if QtWidgets.QMessageBox.question(widget, "提示", "检查到您未安装这个 wine是否继续使用这个 wine 运行?") == QtWidgets.QMessageBox.No:
DisableButton(False) DisableButton(False)
return return
@ -307,6 +307,9 @@ def KillProgram():
def InstallWine(): def InstallWine():
threading.Thread(target=os.system, args=[f"'{programPath}/launch.sh' deepin-terminal -e \"{programPath}/AllInstall.py\""]).start() threading.Thread(target=os.system, args=[f"'{programPath}/launch.sh' deepin-terminal -e \"{programPath}/AllInstall.py\""]).start()
def InstallWineOnDeepin23():
threading.Thread(target=os.system, args=[f"'{programPath}/launch.sh' deepin-terminal -e \"{programPath}/InstallWineOnDeepin23.py\""]).start()
def OpenWineBotton(): def OpenWineBotton():
if e1.currentText() == "": if e1.currentText() == "":
wineBottonPath = setting["DefultBotton"] wineBottonPath = setting["DefultBotton"]
@ -429,42 +432,42 @@ def InstallMonoGecko(program):
wineBottonPath = setting["DefultBotton"] wineBottonPath = setting["DefultBotton"]
else: else:
wineBottonPath = e1.currentText() wineBottonPath = e1.currentText()
os.system(f"'{programPath}/launch.sh' deepin-terminal -e '{programPath}/InstallMono.py' '{wineBottonPath}' {wine[o1.currentText()]} {program}") os.system(f"'{programPath}/launch.sh' deepin-terminal -e '{programPath}/InstallMono.py' '{wineBottonPath}' '{wine[o1.currentText()]}' {program}")
def InstallNetFramework(): def InstallNetFramework():
if e1.currentText() == "": if e1.currentText() == "":
wineBottonPath = setting["DefultBotton"] wineBottonPath = setting["DefultBotton"]
else: else:
wineBottonPath = e1.currentText() wineBottonPath = e1.currentText()
os.system(f"'{programPath}/launch.sh' deepin-terminal -e '{programPath}/InstallNetFramework.py' '{wineBottonPath}' {wine[o1.currentText()]}") os.system(f"'{programPath}/launch.sh' deepin-terminal -e '{programPath}/InstallNetFramework.py' '{wineBottonPath}' '{wine[o1.currentText()]}'")
def InstallVisualStudioCPlusPlus(): def InstallVisualStudioCPlusPlus():
if e1.currentText() == "": if e1.currentText() == "":
wineBottonPath = setting["DefultBotton"] wineBottonPath = setting["DefultBotton"]
else: else:
wineBottonPath = e1.currentText() wineBottonPath = e1.currentText()
os.system(f"'{programPath}/launch.sh' deepin-terminal -e '{programPath}/InstallVisualCPlusPlus.py' '{wineBottonPath}' {wine[o1.currentText()]}") os.system(f"'{programPath}/launch.sh' deepin-terminal -e '{programPath}/InstallVisualCPlusPlus.py' '{wineBottonPath}' '{wine[o1.currentText()]}'")
def InstallMSXML(): def InstallMSXML():
if e1.currentText() == "": if e1.currentText() == "":
wineBottonPath = setting["DefultBotton"] wineBottonPath = setting["DefultBotton"]
else: else:
wineBottonPath = e1.currentText() wineBottonPath = e1.currentText()
os.system(f"'{programPath}/launch.sh' deepin-terminal -e '{programPath}/InstallMsxml.py' '{wineBottonPath}' {wine[o1.currentText()]}") os.system(f"'{programPath}/launch.sh' deepin-terminal -e '{programPath}/InstallMsxml.py' '{wineBottonPath}' '{wine[o1.currentText()]}'")
def MiniAppStore(): def MiniAppStore():
if e1.currentText()== "": if e1.currentText()== "":
wineBottonPath = setting["DefultBotton"] wineBottonPath = setting["DefultBotton"]
else: else:
wineBottonPath = e1.currentText() wineBottonPath = e1.currentText()
os.system(f"'{programPath}/launch.sh' deepin-terminal -e '{programPath}/AppStore.py' '{wineBottonPath}' {wine[o1.currentText()]}") os.system(f"'{programPath}/launch.sh' deepin-terminal -e '{programPath}/AppStore.py' '{wineBottonPath}' '{wine[o1.currentText()]}'")
def InstallOther(): def InstallOther():
if e1.currentText()== "": if e1.currentText()== "":
wineBottonPath = setting["DefultBotton"] wineBottonPath = setting["DefultBotton"]
else: else:
wineBottonPath = e1.currentText() wineBottonPath = e1.currentText()
os.system(f"'{programPath}/launch.sh' deepin-terminal -e '{programPath}/InstallOther.py' '{wineBottonPath}' {wine[o1.currentText()]}") os.system(f"'{programPath}/launch.sh' deepin-terminal -e '{programPath}/InstallOther.py' '{wineBottonPath}' '{wine[o1.currentText()]}'")
def BuildExeDeb(): def BuildExeDeb():
if e1.currentText() == "": if e1.currentText() == "":
@ -935,6 +938,16 @@ if not os.path.exists(get_home() + "/.config/deepin-wine-runner/WineSetting.json
# 如果要添加其他 wine请在字典添加其名称和执行路径 # 如果要添加其他 wine请在字典添加其名称和执行路径
try: try:
wine = {"deepin-wine": "deepin-wine", "deepin-wine5": "deepin-wine5", "wine": "wine", "wine64": "wine64", "deepin-wine5 stable": "deepin-wine5-stable", "deepin-wine6 stable": "deepin-wine6-stable", "spark-wine7-devel": "spark-wine7-devel", "ukylin-wine": "ukylin-wine"} wine = {"deepin-wine": "deepin-wine", "deepin-wine5": "deepin-wine5", "wine": "wine", "wine64": "wine64", "deepin-wine5 stable": "deepin-wine5-stable", "deepin-wine6 stable": "deepin-wine6-stable", "spark-wine7-devel": "spark-wine7-devel", "ukylin-wine": "ukylin-wine"}
if os.path.exists("/persistent/linglong/layers/"): # 判断是否使用 linglong
for i in os.listdir("/persistent/linglong/layers/"):
try:
dire = os.listdir(f"/persistent/linglong/layers/{i}")[-1]
arch = os.listdir(f"/persistent/linglong/layers/{i}/{dire}")[-1]
if os.path.exists(f"/persistent/linglong/layers/{i}/{dire}/{arch}/runtime/bin/deepin-wine6-stable"):
wine["基于 linglong 的 deepin-wine6-stable不推荐"] = f"ll-cli run {i} --exec '/bin/deepin-wine6-stable'"
break
except:
pass
shellHistory = list(json.loads(readtxt(get_home() + "/.config/deepin-wine-runner/ShellHistory.json")).values()) shellHistory = list(json.loads(readtxt(get_home() + "/.config/deepin-wine-runner/ShellHistory.json")).values())
findExeHistory = list(json.loads(readtxt(get_home() + "/.config/deepin-wine-runner/FindExeHistory.json")).values()) findExeHistory = list(json.loads(readtxt(get_home() + "/.config/deepin-wine-runner/FindExeHistory.json")).values())
wineBottonHistory = list(json.loads(readtxt(get_home() + "/.config/deepin-wine-runner/WineBottonHistory.json")).values()) wineBottonHistory = list(json.loads(readtxt(get_home() + "/.config/deepin-wine-runner/WineBottonHistory.json")).values())
@ -974,9 +987,10 @@ exe路径\' 参数 \'
5wine 容器如果没有指定则会默认为 ~/.wine''' 5wine 容器如果没有指定则会默认为 ~/.wine'''
updateThingsString = '''※1、修复了打包器非基于活动脚本 control、postrm 写入文件颠倒的问题 updateThingsString = '''※1、修复了打包器非基于活动脚本 control、postrm 写入文件颠倒的问题
2内置一个微型的 Windows 应用商店应用来源腾讯软件管家 2内置一个微型的 Windows 应用商店应用来源腾讯软件管家
3更新了打包器非基于活动脚本调用星火 spark-wine-helper run.sh 脚本格式 3初步支持 deepin 23
4修复了打包器基于活动脚本 dde-top-panel dde-globalmenu-service 下无法打开帮助提示的问题 4更新了打包器非基于活动脚本调用星火 spark-wine-helper run.sh 脚本格式
5支持屏蔽 Wine 默认的 MonoGecko 安装器屏蔽方法来自星火应用商店审核组和提供的新 run.sh 标准 5修复了打包器基于活动脚本 dde-top-panel dde-globalmenu-service 下无法打开帮助提示的问题
6支持屏蔽 Wine 默认的 MonoGecko 安装器屏蔽方法来自星火应用商店审核组和提供的新 run.sh 标准
''' '''
for i in information["Thank"]: for i in information["Thank"]:
thankText += f"{i}\n" thankText += f"{i}\n"
@ -1153,16 +1167,19 @@ mainLayout.addWidget(programRun, 2, 1, 1, 1)
menu = window.menuBar() menu = window.menuBar()
programmenu = menu.addMenu("程序(&P)") programmenu = menu.addMenu("程序(&P)")
p1 = QtWidgets.QAction("安装 wine(&I)") p1 = QtWidgets.QAction("安装 wine(&I)")
installWineOnDeepin23 = QtWidgets.QAction("安装 wine(只限Deepin23)")
p2 = QtWidgets.QAction("设置程序(&S)") p2 = QtWidgets.QAction("设置程序(&S)")
p3 = QtWidgets.QAction("清空软件历史记录(&C)") p3 = QtWidgets.QAction("清空软件历史记录(&C)")
p4 = QtWidgets.QAction("退出程序(&E)") p4 = QtWidgets.QAction("退出程序(&E)")
programmenu.addAction(p1) programmenu.addAction(p1)
programmenu.addAction(installWineOnDeepin23)
programmenu.addSeparator() programmenu.addSeparator()
programmenu.addAction(p2) programmenu.addAction(p2)
programmenu.addAction(p3) programmenu.addAction(p3)
programmenu.addSeparator() programmenu.addSeparator()
programmenu.addAction(p4) programmenu.addAction(p4)
p1.triggered.connect(InstallWine) p1.triggered.connect(InstallWine)
installWineOnDeepin23.triggered.connect(InstallWineOnDeepin23)
p2.triggered.connect(ProgramSetting.ShowWindow) p2.triggered.connect(ProgramSetting.ShowWindow)
p3.triggered.connect(CleanProgramHistory) p3.triggered.connect(CleanProgramHistory)
p4.triggered.connect(window.close) p4.triggered.connect(window.close)

Binary file not shown.

View File

@ -1,3 +1,3 @@
{ {
"Version": "1.8.0" "Version": "1.8.0Alpha1"
} }

1
sparkstore.list Normal file
View File

@ -0,0 +1 @@
deb [by-hash=force] https://d.store.deepinos.org.cn /