diff --git a/Plain Craft Launcher 2/Modules/ModMain.vb b/Plain Craft Launcher 2/Modules/ModMain.vb
index 51cde8e..2839a54 100644
--- a/Plain Craft Launcher 2/Modules/ModMain.vb
+++ b/Plain Craft Launcher 2/Modules/ModMain.vb
@@ -873,15 +873,23 @@ NextFile:
End Sub
'''
- ''' 申请一个可用于任务缓存的临时文件夹,以 \ 结尾。
+ ''' 申请一个可用于任务缓存的临时文件夹。
''' 这些文件夹无需进行后续清理。
'''
''' 是否要求路径不包含空格。
- Public Function RequestTaskTempFolder(Optional RequireNonSpace As Boolean = False) As String
+ ''' 是否要求路径斜杠。
+ Public Function RequestTaskTempFolder(Optional RequireNonSpace As Boolean = False, Optional RequireSlash As Boolean = True) As String
TryClearTaskTemp()
- RequestTaskTempFolder = $"{PathTemp}TaskTemp\{GetUuid()}-{RandomInteger(0, 1000000)}\"
- If RequireNonSpace AndAlso RequestTaskTempFolder.Contains(" ") Then
- RequestTaskTempFolder = $"{OsDrive}ProgramData\PCL\TaskTemp\{GetUuid()}-{RandomInteger(0, 1000000)}\"
+ If RequireSlash Then
+ RequestTaskTempFolder = $"{PathTemp}TaskTemp\{GetUuid()}-{RandomInteger(0, 1000000)}\"
+ If RequireNonSpace AndAlso RequestTaskTempFolder.Contains(" ") Then
+ RequestTaskTempFolder = $"{OsDrive}ProgramData\PCL\TaskTemp\{GetUuid()}-{RandomInteger(0, 1000000)}\"
+ End If
+ Else
+ RequestTaskTempFolder = $"{PathTemp}TaskTemp\{GetUuid()}-{RandomInteger(0, 1000000)}"
+ If RequireNonSpace AndAlso RequestTaskTempFolder.Contains(" ") Then
+ RequestTaskTempFolder = $"{OsDrive}ProgramData\PCL\TaskTemp\{GetUuid()}-{RandomInteger(0, 1000000)}"
+ End If
End If
Directory.CreateDirectory(RequestTaskTempFolder)
End Function
diff --git a/Plain Craft Launcher 2/Pages/PageDownload/ModDownloadLib.vb b/Plain Craft Launcher 2/Pages/PageDownload/ModDownloadLib.vb
index 4707dc6..f2431af 100644
--- a/Plain Craft Launcher 2/Pages/PageDownload/ModDownloadLib.vb
+++ b/Plain Craft Launcher 2/Pages/PageDownload/ModDownloadLib.vb
@@ -545,7 +545,7 @@ pause"
Dim VersionFolder As String = McFolder & "versions\" & Id & "\"
Dim IsNewVersion As Boolean = DownloadInfo.Inherit.Contains("w") OrElse Val(DownloadInfo.Inherit.Split(".")(1)) >= 14
Dim Target As String = If(IsNewVersion,
- RequestTaskTempFolder(),
+ RequestTaskTempFolder() & "temp",
McFolder & "libraries\optifine\OptiFine\" & DownloadInfo.NameFile.Replace("OptiFine_", "").Replace(".jar", "").Replace("preview_", "") & "\" & DownloadInfo.NameFile.Replace("OptiFine_", "OptiFine-").Replace("preview_", ""))
Dim Loaders As New List(Of LoaderBase)
@@ -613,8 +613,8 @@ pause"
Log("[Download] 检测为新版 OptiFine:" & DownloadInfo.Inherit)
Loaders.Add(New LoaderTask(Of List(Of NetFile), Boolean)("安装 OptiFine(方式 A)",
Sub(Task As LoaderTask(Of List(Of NetFile), Boolean))
- Dim BaseMcFolderHome As String = RequestTaskTempFolder()
- Dim BaseMcFolder As String = BaseMcFolderHome & ".minecraft\"
+ Dim BaseMcFolderHome As String = RequestTaskTempFolder(False, False)
+ Dim BaseMcFolder As String = BaseMcFolderHome & "\.minecraft\"
Try
'准备安装环境
If Directory.Exists(BaseMcFolder & "versions\" & DownloadInfo.Inherit) Then