From d1d19a4bb3e6f7df53db4be5d221c3ddf4bdd0b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=96=84=E5=A5=9A=E6=A2=A6=E7=81=B5?= Date: Sat, 22 Mar 2025 09:14:23 +0800 Subject: [PATCH 1/4] =?UTF-8?q?fix(ModBase):=E5=8A=A0=E4=B8=AA=20Try=20Cat?= =?UTF-8?q?ch?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Plain Craft Launcher 2/Modules/Base/ModBase.vb | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/Plain Craft Launcher 2/Modules/Base/ModBase.vb b/Plain Craft Launcher 2/Modules/Base/ModBase.vb index 8baed4a..ff44061 100644 --- a/Plain Craft Launcher 2/Modules/Base/ModBase.vb +++ b/Plain Craft Launcher 2/Modules/Base/ModBase.vb @@ -2333,10 +2333,14 @@ NextElement: Public Sub ShellOnly(FileName As String, Optional Arguments As String = "") FileName = ShortenPath(FileName) Using Program As New Process - Program.StartInfo.Arguments = Arguments - Program.StartInfo.FileName = FileName - Log("[System] 执行外部命令:" & FileName & " " & Arguments) - Program.Start() + Try + Program.StartInfo.Arguments = Arguments + Program.StartInfo.FileName = FileName + Log("[System] 执行外部命令:" & FileName & " " & Arguments) + Program.Start() + Catch ex As Exception + Log(ex, "执行外部命令失败", LogLevel.Msgbox) + End Try End Using End Sub ''' From 0aabb69e16d87496b9a809216aea4b65f78e83e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=96=84=E5=A5=9A=E6=A2=A6=E7=81=B5?= Date: Sat, 22 Mar 2025 15:43:56 +0800 Subject: [PATCH 2/4] =?UTF-8?q?fix(ShellOnly):=E5=8F=AA=E4=B8=BA=E5=8F=AF?= =?UTF-8?q?=E8=83=BD=E5=87=BA=E9=94=99=E7=9A=84=E9=83=A8=E5=88=86=E5=BC=B9?= =?UTF-8?q?=E5=87=BA=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Plain Craft Launcher 2/Modules/Base/ModBase.vb | 13 +++++-------- .../Modules/Minecraft/ModCrash.vb | 4 ++++ .../Modules/Minecraft/ModModpack.vb | 8 +++++++- 3 files changed, 16 insertions(+), 9 deletions(-) diff --git a/Plain Craft Launcher 2/Modules/Base/ModBase.vb b/Plain Craft Launcher 2/Modules/Base/ModBase.vb index ff44061..09aaea3 100644 --- a/Plain Craft Launcher 2/Modules/Base/ModBase.vb +++ b/Plain Craft Launcher 2/Modules/Base/ModBase.vb @@ -2333,14 +2333,11 @@ NextElement: Public Sub ShellOnly(FileName As String, Optional Arguments As String = "") FileName = ShortenPath(FileName) Using Program As New Process - Try - Program.StartInfo.Arguments = Arguments - Program.StartInfo.FileName = FileName - Log("[System] 执行外部命令:" & FileName & " " & Arguments) - Program.Start() - Catch ex As Exception - Log(ex, "执行外部命令失败", LogLevel.Msgbox) - End Try + Program.StartInfo.Arguments = Arguments + Program.StartInfo.FileName = FileName + Log("[System] 执行外部命令:" & FileName & " " & Arguments) + Program.Start() + End Using End Sub ''' diff --git a/Plain Craft Launcher 2/Modules/Minecraft/ModCrash.vb b/Plain Craft Launcher 2/Modules/Minecraft/ModCrash.vb index 0093691..b380b0f 100644 --- a/Plain Craft Launcher 2/Modules/Minecraft/ModCrash.vb +++ b/Plain Craft Launcher 2/Modules/Minecraft/ModCrash.vb @@ -857,6 +857,7 @@ NextStack: "确定", If(IsHandAnalyze OrElse DirectFile Is Nothing, "", "查看日志"), If(IsHandAnalyze, "", "导出错误报告"), Button2Action:=If(IsHandAnalyze OrElse DirectFile Is Nothing, Nothing, Sub() + Try '弹窗选择:查看日志 If File.Exists(DirectFile.Value.Key) Then ShellOnly(DirectFile.Value.Key) @@ -865,6 +866,9 @@ NextStack: WriteFile(FilePath, Join(DirectFile.Value.Value, vbCrLf)) ShellOnly(FilePath) End If + Catch ex As Exception + Log(ex,"尝试打开文件失败",LogLevel.Hint) + End Try End Sub)) Case 3 '弹窗选择:导出错误报告 diff --git a/Plain Craft Launcher 2/Modules/Minecraft/ModModpack.vb b/Plain Craft Launcher 2/Modules/Minecraft/ModModpack.vb index 1d8dc13..7b1e0f7 100644 --- a/Plain Craft Launcher 2/Modules/Minecraft/ModModpack.vb +++ b/Plain Craft Launcher 2/Modules/Minecraft/ModModpack.vb @@ -828,7 +828,13 @@ Retry: Log("[Modpack] 找到压缩包中附带的启动器:" & Launcher) If MyMsgBox($"整合包里似乎自带了启动器,是否换用它继续安装?{vbCrLf}即将打开:{Launcher}", "换用整合包启动器?", "换用", "不换用") = 1 Then OpenExplorer(TargetFolder) - ShellOnly(Launcher, "--wait") '要求等待已有的 PCL 退出 + Try + ShellOnly(Launcher, "--wait") '要求等待已有的 PCL 退出 + Catch ex As Exception + Log(ex,"打开文件失败",LogLevel.MsgBox) + Finally + Return + End Try Log("[Modpack] 为换用整合包中的启动器启动,强制结束程序") FrmMain.EndProgram(False) Return From 4e144273497935779ce08611f9bde4ae1988c44c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=96=84=E5=A5=9A=E6=A2=A6=E7=81=B5?= Date: Sat, 22 Mar 2025 15:53:01 +0800 Subject: [PATCH 3/4] =?UTF-8?q?fix(ModModPack):=E8=BF=98=E4=B8=8D=E8=AE=A9?= =?UTF-8?q?=E7=94=A8=20Finally=20=E4=BA=86=E6=98=AF=E5=90=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Plain Craft Launcher 2/Modules/Minecraft/ModModpack.vb | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/Plain Craft Launcher 2/Modules/Minecraft/ModModpack.vb b/Plain Craft Launcher 2/Modules/Minecraft/ModModpack.vb index 7b1e0f7..677cacd 100644 --- a/Plain Craft Launcher 2/Modules/Minecraft/ModModpack.vb +++ b/Plain Craft Launcher 2/Modules/Minecraft/ModModpack.vb @@ -830,13 +830,11 @@ Retry: OpenExplorer(TargetFolder) Try ShellOnly(Launcher, "--wait") '要求等待已有的 PCL 退出 + Log("[Modpack] 为换用整合包中的启动器启动,强制结束程序") + FrmMain.EndProgram(False) Catch ex As Exception - Log(ex,"打开文件失败",LogLevel.MsgBox) - Finally - Return + Log(ex, "打开文件失败", LogLevel.Msgbox) End Try - Log("[Modpack] 为换用整合包中的启动器启动,强制结束程序") - FrmMain.EndProgram(False) Return End If Else From 4cd8840385c1954f6ffe00de2201953a9f0339dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=96=84=E5=A5=9A=E6=A2=A6=E7=81=B5?= Date: Tue, 1 Apr 2025 13:41:30 +0800 Subject: [PATCH 4/4] =?UTF-8?q?style(modbase):=E6=97=A0=E7=94=A8=E6=8D=A2?= =?UTF-8?q?=E8=A1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Plain Craft Launcher 2/Modules/Base/ModBase.vb | 1 - 1 file changed, 1 deletion(-) diff --git a/Plain Craft Launcher 2/Modules/Base/ModBase.vb b/Plain Craft Launcher 2/Modules/Base/ModBase.vb index 09aaea3..8baed4a 100644 --- a/Plain Craft Launcher 2/Modules/Base/ModBase.vb +++ b/Plain Craft Launcher 2/Modules/Base/ModBase.vb @@ -2337,7 +2337,6 @@ NextElement: Program.StartInfo.FileName = FileName Log("[System] 执行外部命令:" & FileName & " " & Arguments) Program.Start() - End Using End Sub '''