diff --git a/AutoShell/command/installvb b/AutoShell/command/installvb
new file mode 100755
index 0000000..1bf2fba
--- /dev/null
+++ b/AutoShell/command/installvb
@@ -0,0 +1,13 @@
+#!/usr/bin/env python3
+# 加入路径
+import os
+import sys
+programPath = os.path.split(os.path.realpath(__file__))[0] # 返回 string
+sys.path.append(f"{programPath}/../../")
+import ConfigLanguareRunner
+# 符号转移
+argv = []
+for i in sys.argv[1:]:
+ argv.append(i.replace(" ", "\\ "))
+com = ConfigLanguareRunner.Command(f"{os.path.basename(sys.argv[0])} {' '.join(argv)}")
+com.Run(com.GetCommandList(), os.getenv("WINEPREFIX"), os.getenv("WINE"))
\ No newline at end of file
diff --git a/ConfigLanguareRunner-help.json b/ConfigLanguareRunner-help.json
index f249b54..10517d4 100644
--- a/ConfigLanguareRunner-help.json
+++ b/ConfigLanguareRunner-help.json
@@ -37,5 +37,6 @@
"killall": "杀死指定进程\n参数数量:1\n参数介绍:进程名",
"control": "打开控制面板\n参数数量:0\n参数介绍:无",
"taskmgr": "打开任务管理器\n参数数量:0\n参数介绍:无",
- "killallwineserver": "杀死所有 Wine 程序\n参数数量:0\n参数介绍:无"
+ "killallwineserver": "杀死所有 Wine 程序\n参数数量:0\n参数介绍:无",
+ "installvb": "安装指定的 VB 运行库到指定容器\n参数数量:1\n参数介绍:在安装 Visual Basic Runtime 工具的编号,如 4 Visual Basic Runtime Visual Basic 6"
}
\ No newline at end of file
diff --git a/ConfigLanguareRunner.py b/ConfigLanguareRunner.py
index f0ef5cd..ba6c723 100755
--- a/ConfigLanguareRunner.py
+++ b/ConfigLanguareRunner.py
@@ -3,7 +3,7 @@
###########################################################################################
# 作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢
# 版本:2.1.0
-# 更新时间:2022年08月25日
+# 更新时间:2022年10月05日
# 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序
# 基于 Python3 构建
###########################################################################################
@@ -109,7 +109,8 @@ class Command():
"enabledwinecrashdialog",
"disbledwinecrashdialog",
"disbledWinebottlecreatelink",
- "enabledWinebottlecreatelink"
+ "enabledWinebottlecreatelink",
+ "installvb"
]
def __init__(self, commandString: str) -> None:
@@ -391,6 +392,10 @@ class Command():
self.command = ["bat", "reg", "add", "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings", "/v", "ProxyEnable", "/t", "REG_DWORD", "/d", "00000000", "/f"]
self.Bat()
+ def InstallVB(self):
+ import InstallVisualBasicRuntime
+ return InstallVisualBasicRuntime.Download(self.wineBottonPath, int(self.command[1]), self.wine)
+
# 可以运行的命令的映射关系
# 可以被使用的命令的映射
commandList = {
@@ -431,7 +436,8 @@ class Command():
"enabledwinecrashdialog": EnabledWineCrashDialog,
"disbledwinecrashdialog": DisbledWineCrashDialog,
"disbledWinebottlecreatelink": DisbledWineBottleCreateLink,
- "enabledWinebottlecreatelink": EnabledWineBottleCreateLink
+ "enabledWinebottlecreatelink": EnabledWineBottleCreateLink,
+ "installvb": InstallVB
}
# 参数数列表
@@ -474,7 +480,8 @@ class Command():
"enabledwinecrashdialog": [0],
"disbledwinecrashdialog": [0],
"disbledWinebottlecreatelink": [0],
- "enabledWinebottlecreatelink": [0]
+ "enabledWinebottlecreatelink": [0],
+ "installvb": [1]
}
windowsUnrun = [
"createbotton",
diff --git a/InstallVisualBasicRuntime.py b/InstallVisualBasicRuntime.py
new file mode 100755
index 0000000..19e7e48
--- /dev/null
+++ b/InstallVisualBasicRuntime.py
@@ -0,0 +1,86 @@
+#!/usr/bin/env python3
+# 使用系统默认的 python3 运行
+###########################################################################################
+# 作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢
+# 版本:2.1.0
+# 更新时间:2022年10月05日
+# 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序
+# 基于 Python3 构建
+###########################################################################################
+#################
+# 引入所需的库
+#################
+import os
+import sys
+import json
+import req as requests
+try:
+ netList = json.loads(requests.get("https://code.gitlink.org.cn/gfdgd_xi/wine-runner-list/raw/branch/master/vb/list.json").text)
+except:
+ netList = [
+ ["Visual Basic 1(DOS application)", "https://code.gitlink.org.cn/gfdgd_xi/wine-runner-list/raw/branch/master/vb/vbrun100.exe", "vbrun100.exe"],
+ ["Visual Basic 2(DOS application)", "https://code.gitlink.org.cn/gfdgd_xi/wine-runner-list/raw/branch/master/vb/vbrun200.exe", "vbrun200.exe"],
+ ["Visual Basic 3", "https://code.gitlink.org.cn/gfdgd_xi/wine-runner-list/raw/branch/master/vb/vb3run.exe", "vb3run.exe"],
+ ["Visual Basic 4", "https://code.gitlink.org.cn/gfdgd_xi/wine-runner-list/raw/branch/master/vb/vb4run.exe", "vb4run.exe"],
+ ["Visual Basic 6", "https://code.gitlink.org.cn/gfdgd_xi/wine-runner-list/raw/branch/master/vb/vbrun60sp4.exe", "vbrun60sp4.exe"]
+ ]
+def Download(wineBotton: str, id: int, wine: str) -> int:
+ try:
+ os.remove(f"/tmp/deepin-wine-runner-vb/{netList[id][2]}")
+ except:
+ pass
+ os.system(f"aria2c -x 16 -s 16 -d '/tmp/deepin-wine-runner-vb' -o '{netList[id][2]}' \"{netList[id][1]}\"")
+ os.system(f"WINEPREFIX='{wineBotton}' {wine} '/tmp/deepin-wine-runner-vb/{netList[id][2]}'")
+
+if __name__ == "__main__":
+ if "--help" in sys.argv:
+ print("作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢")
+ print("版本:1.0.0")
+ print("本程序可以更方便的在 wine 容器中安装 Visual Basic Runtime")
+ sys.exit()
+ if len(sys.argv) <= 2 or sys.argv[1] == "" or sys.argv[2] == "":
+ print("您未指定需要安装 Visual Basic Runtime 的容器和使用的 wine,无法继续")
+ print("参数:")
+ print("XXX 参数一 参数二 参数三(可略)")
+ print("参数一为需要安装的容器,参数二为需要使用的wine,参数三为是否缓存(可略),三个参数位置不能颠倒")
+ sys.exit()
+
+ homePath = os.path.expanduser('~')
+ print('''
+ m m mmmmm
+ "m m" # #
+ # # #mmmm"
+ "mm" # #
+ ## #mmmm"
+
+
+''')
+
+ print("请选择以下的 Visual Basic Runtime 进行安装(不保证能正常安装运行)")
+ for i in range(0, len(netList)):
+ print(f"{i} Visual Basic Runtime {netList[i][0]}")
+ while True:
+ try:
+ choose = input("请输入要选择的 Visual Basic Runtime 版本(输入“exit”退出):").lower()
+ if choose == "exit":
+ break
+ choose = int(choose)
+ except:
+ print("输入错误,请重新输入")
+ continue
+ if 0 <= choose and choose < len(netList):
+ break
+ if choose == "exit":
+ exit()
+ print(f"您选择了 Visual Basic Runtime {netList[choose][0]}")
+ if os.path.exists(f"{homePath}/.cache/deepin-wine-runner/vb/{netList[choose][2]}"):
+ print("已经缓存,使用本地版本")
+ os.system(f"WINEPREFIX='{sys.argv[1]}' {sys.argv[2]} '{homePath}/.cache/deepin-wine-runner/vb/{netList[choose][2]}'")
+ input("安装结束,按回车键退出")
+ exit()
+ print("开始下载")
+ os.system(f"rm -rf '{homePath}/.cache/deepin-wine-runner/vb/{netList[choose][2]}'")
+ os.system(f"mkdir -p '{homePath}/.cache/deepin-wine-runner/vb'")
+ os.system(f"aria2c -x 16 -s 16 -d '{homePath}/.cache/deepin-wine-runner/vb' -o '{netList[choose][2]}' \"{netList[choose][1]}\"")
+ os.system(f"WINEPREFIX='{sys.argv[1]}' {sys.argv[2]} '{homePath}/.cache/deepin-wine-runner/vb/{netList[choose][2]}'")
+ input("安装结束,按回车键退出")
\ No newline at end of file
diff --git a/Model/__pycache__/__init__.cpython-37.pyc b/Model/__pycache__/__init__.cpython-37.pyc
index 6766788..b0920eb 100644
Binary files a/Model/__pycache__/__init__.cpython-37.pyc and b/Model/__pycache__/__init__.cpython-37.pyc differ
diff --git a/__pycache__/InstallVisualBasicRuntime.cpython-37.pyc b/__pycache__/InstallVisualBasicRuntime.cpython-37.pyc
new file mode 100644
index 0000000..727d9e2
Binary files /dev/null and b/__pycache__/InstallVisualBasicRuntime.cpython-37.pyc differ
diff --git a/mainwindow.py b/mainwindow.py
index 24bcaac..4194f52 100755
--- a/mainwindow.py
+++ b/mainwindow.py
@@ -632,6 +632,13 @@ def InstallNetFramework():
wineBottonPath = e1.currentText()
OpenTerminal(f"'{programPath}/InstallNetFramework.py' '{wineBottonPath}' '{wine[o1.currentText()]}' {int(setting['RuntimeCache'])}")
+def InstallVB():
+ if e1.currentText() == "":
+ wineBottonPath = setting["DefultBotton"]
+ else:
+ wineBottonPath = e1.currentText()
+ OpenTerminal(f"'{programPath}/InstallVisualBasicRuntime.py' '{wineBottonPath}' '{wine[o1.currentText()]}' {int(setting['RuntimeCache'])}")
+
def InstallVisualStudioCPlusPlus():
if e1.currentText() == "":
wineBottonPath = setting["DefultBotton"]
@@ -1816,16 +1823,7 @@ exe路径\' 参数 \'
千万不要中断后不删除源的情况下 apt upgrade !!!中断后只需重新打开脚本输入 repair 或者随意安装一个 Wine(会自动执行恢复操作)即可
以及此脚本安装的 Wine 无法保证 100% 能使用,以及副作用是会提示
N: 鉴于仓库 'https://community-packages.deepin.com/beige beige InRelease' 不支持 'i386' 体系结构,跳过配置文件 'main/binary-i386/Packages' 的获取。
'''
-updateThingsString = '''※1、自动配置解释器支持 bash 语法(新版底层调用 bash,旧版任然使用旧版解析引擎)
-※2、修复缺失 wimtools 依赖导致无法正常安装的问题
-※3、修复基于生态适配活动脚本打包器对话框过多影响使用的问题,并支持指定不同的包名和容器名
-※4、7z 文件解压不会自动替换文件然后卡死以及因此导致程序闪退的问题
-※5、修复安装更多 Wine 终端调用问题和图标问题
-※6、支持 openkylin
-7、支持通过 exe 路径自动生成 Wine 容器路径
-8、支持禁用/启用 wine 容器是否生成快捷方式的功能以及启用/禁用程序崩溃提示对话框
-9、支持设置 wine 容器代理
-10、自动配置脚本支持使用 --help 参数查看帮助
+updateThingsString = '''※1、新增 VB Runtime 组件安装工具
'''
for i in information["Thank"]:
thankText += f"{i}\n"
@@ -2107,12 +2105,14 @@ wm1_2 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "在指定wine
wm1_3 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "在指定wine、指定容器安装 MSXML"))
wm1_4 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "在指定wine、指定容器安装 gecko"))
wm1_5 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "在指定wine、指定容器安装 mono"))
+wm1_7 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "在指定wine、指定容器安装 Visual Basic Runtime"))
wm1_6 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "在指定wine、指定容器安装其它运行库"))
wm1.addAction(wm1_1)
wm1.addAction(wm1_2)
wm1.addAction(wm1_3)
wm1.addAction(wm1_4)
wm1.addAction(wm1_5)
+wm1.addAction(wm1_7)
wm1.addAction(wm1_6)
wm2 = wineOption.addMenu(QtCore.QCoreApplication.translate("U", "在指定 Wine、容器运行基础应用"))
wm2_1 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "打开指定wine、指定容器的控制面板"))
@@ -2188,6 +2188,7 @@ wm1_2.triggered.connect(lambda: threading.Thread(target=InstallVisualStudioCPlus
wm1_3.triggered.connect(lambda: threading.Thread(target=InstallMSXML).start())
wm1_4.triggered.connect(lambda: threading.Thread(target=InstallMonoGecko, args=["gecko"]).start())
wm1_5.triggered.connect(lambda: threading.Thread(target=InstallMonoGecko, args=["mono"]).start())
+wm1_7.triggered.connect(lambda: threading.Thread(target=InstallVB).start())
wm1_6.triggered.connect(lambda: threading.Thread(target=InstallOther).start())
wm2_1.triggered.connect(lambda: RunWineProgram("control"))
wm2_2.triggered.connect(lambda: RunWineProgram("iexplore' 'https://www.deepin.org"))
@@ -2272,6 +2273,8 @@ help.addAction(h2)
help.addAction(h3)
help.addAction(h4)
help.addSeparator()
+wikiHelp = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "程序 Wiki"))
+help.addAction(wikiHelp)
videoHelp = help.addMenu(QtCore.QCoreApplication.translate("U", "视频教程"))
easyHelp = QtWidgets.QAction("简易使用教程")
buildHelp = QtWidgets.QAction("打包教程")
@@ -2296,6 +2299,7 @@ runStatusWebSize.triggered.connect(lambda: webbrowser.open_new_tab("https://gfdg
h2.triggered.connect(helps)
h3.triggered.connect(UpdateThings)
h4.triggered.connect(ThankWindow)
+wikiHelp.triggered.connect(lambda: webbrowser.open_new_tab("https://gfdgd-xi.github.io/wine-runner-wiki"))
easyHelp.triggered.connect(lambda: webbrowser.open_new_tab("https://www.bilibili.com/video/BV1ma411972Y"))
buildHelp.triggered.connect(lambda: webbrowser.open_new_tab("https://www.bilibili.com/video/BV1EU4y1k7zr"))
h5.triggered.connect(UpdateWindow.ShowWindow)