mirror of
https://gitee.com/gfdgd-xi/deep-wine-runner
synced 2025-01-13 01:58:27 +08:00
1.8.0初步
This commit is contained in:
parent
24916bf63b
commit
303161d10e
@ -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
74
InstallWineOnDeepin23.py
Executable 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 [
|
||||||
|
["原版 Wine(Wine64)", "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])
|
5
Makefile
5
Makefile
@ -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:
|
||||||
|
@ -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
deb/opt/apps/deepin-wine-runner/InstallWineOnDeepin23.py
Executable file
74
deb/opt/apps/deepin-wine-runner/InstallWineOnDeepin23.py
Executable 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 [
|
||||||
|
["原版 Wine(Wine64)", "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])
|
@ -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)
|
||||||
|
Binary file not shown.
1
deb/usr/bin/deepin-wine-runner-wine-install-deepin23
Symbolic link
1
deb/usr/bin/deepin-wine-runner-wine-install-deepin23
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
/opt/apps/deepin-wine-runner/InstallWineOnDeepin23.py
|
4
deepin.list
Normal file
4
deepin.list
Normal 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
|
@ -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"
|
||||||
@ -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.
@ -1,3 +1,3 @@
|
|||||||
{
|
{
|
||||||
"Version": "1.8.0"
|
"Version": "1.8.0Alpha1"
|
||||||
}
|
}
|
1
sparkstore.list
Normal file
1
sparkstore.list
Normal file
@ -0,0 +1 @@
|
|||||||
|
deb [by-hash=force] https://d.store.deepinos.org.cn /
|
Loading…
Reference in New Issue
Block a user