Bug Fix
런처 파일 삭제 버그 수정
This commit is contained in:
@@ -47,7 +47,8 @@ namespace Mitria_Minecraft_Launcher
|
||||
{
|
||||
directory.Create();
|
||||
}
|
||||
files.AddRange(directory.GetFiles("*.*", SearchOption.AllDirectories).ToArray());
|
||||
files.AddRange(directory.GetFiles("*.*", SearchOption.TopDirectoryOnly).ToArray());
|
||||
|
||||
}
|
||||
foreach (var file in files)
|
||||
{
|
||||
|
@@ -25,7 +25,6 @@ namespace Mitria_Minecraft_Launcher
|
||||
public static readonly string ServerLauncherPatchInformationFile = "/launcher.xml";
|
||||
public static readonly string ServerInformationFile = "/server.xml";
|
||||
public static readonly string ServerDataPatchInformationFile = "/data.xml";
|
||||
//public static readonly string BaseArgument = @"-XX:+UseG1GC -Xmx8G -Xms8G -Dsun.rmi.dgc.server.gcInterval=2147483646 -XX:+UnlockExperimentalVMOptions -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M";
|
||||
|
||||
public static void LoadUserLauncherConfig()
|
||||
{
|
||||
|
@@ -1,6 +1,8 @@
|
||||
using CommonLibrary;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
|
||||
namespace Mitria_Minecraft_Launcher.Updater
|
||||
{
|
||||
@@ -226,6 +228,7 @@ namespace Mitria_Minecraft_Launcher.Updater
|
||||
}
|
||||
else
|
||||
{
|
||||
// 제거된 폴더 삭제
|
||||
var resultDirectorys = new List<string>();
|
||||
|
||||
foreach (var directory in Settings.UserClientVersion.ComponentDirectorys)
|
||||
@@ -235,7 +238,6 @@ namespace Mitria_Minecraft_Launcher.Updater
|
||||
resultDirectorys.Add(directory);
|
||||
}
|
||||
}
|
||||
|
||||
foreach (var directory in resultDirectorys)
|
||||
{
|
||||
var directoryPath = System.IO.Path.GetFullPath(CommonLibrary.Extensions.PathCombineW(Settings.UserLauncherConfig.GameDirectory,Settings.NowProfile.ServerName, directory));
|
||||
@@ -247,6 +249,29 @@ namespace Mitria_Minecraft_Launcher.Updater
|
||||
}
|
||||
}
|
||||
|
||||
var reverseDirectorys = dataPatchInformation.ComponentDirectorys;
|
||||
reverseDirectorys.Reverse();
|
||||
string gameDirectory = CommonLibrary.Extensions.PathCombineW(Settings.UserLauncherConfig.GameDirectory, Settings.NowProfile.ServerName) + "\\";
|
||||
foreach (var directory in reverseDirectorys)
|
||||
{
|
||||
var directoryPath = System.IO.Path.GetFullPath(CommonLibrary.Extensions.PathCombineW(Settings.UserLauncherConfig.GameDirectory, Settings.NowProfile.ServerName, directory));
|
||||
if (System.IO.Directory.Exists(directoryPath))
|
||||
{
|
||||
var lowDirectorys = System.IO.Directory.GetDirectories(directoryPath);
|
||||
foreach (var lowDirectory in lowDirectorys)
|
||||
{
|
||||
var directoryName = lowDirectory.Replace(gameDirectory, string.Empty);
|
||||
directoryName = directoryName.Replace("\\", "/");
|
||||
if (!dataPatchInformation.ComponentDirectorys.Contains(directoryName))
|
||||
{
|
||||
System.IO.Directory.Delete(lowDirectory, true);
|
||||
Log.INFO("[Component] -[D] " + directoryPath);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
foreach (var directory in dataPatchInformation.ComponentDirectorys)
|
||||
{
|
||||
var directoryPath = System.IO.Path.GetFullPath(CommonLibrary.Extensions.PathCombineW(Settings.UserLauncherConfig.GameDirectory, Settings.NowProfile.ServerName, directory));
|
||||
@@ -258,6 +283,7 @@ namespace Mitria_Minecraft_Launcher.Updater
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
var auditFile = new AuditFile();
|
||||
var localFiles = auditFile.GetLocalFileList(dataPatchInformation.ComponentDirectorys);
|
||||
var removeFiles = auditFile.GetRemoveFiles(localFiles, dataPatchInformation.ComponentList);
|
||||
@@ -268,10 +294,12 @@ namespace Mitria_Minecraft_Launcher.Updater
|
||||
foreach (var fileDetail in removeFiles)
|
||||
{
|
||||
var filePath = CommonLibrary.Extensions.PathCombineW(Settings.UserLauncherConfig.GameDirectory,Settings.NowProfile.ServerName, fileDetail.Directory, fileDetail.FileName);
|
||||
if (System.IO.File.Exists(filePath))
|
||||
FileInfo fileInfo= new FileInfo(filePath);
|
||||
fileInfo.IsReadOnly = false;
|
||||
if (fileInfo.Exists)
|
||||
{
|
||||
Log.INFO("[Component] -[F] " + filePath);
|
||||
System.IO.File.Delete(filePath);
|
||||
fileInfo.Delete();
|
||||
}
|
||||
}
|
||||
// 디렉토리 삭제
|
||||
|
Reference in New Issue
Block a user