Bug Fix
런처 파일 삭제 버그 수정
This commit is contained in:
@@ -47,7 +47,8 @@ namespace Mitria_Minecraft_Launcher
|
|||||||
{
|
{
|
||||||
directory.Create();
|
directory.Create();
|
||||||
}
|
}
|
||||||
files.AddRange(directory.GetFiles("*.*", SearchOption.AllDirectories).ToArray());
|
files.AddRange(directory.GetFiles("*.*", SearchOption.TopDirectoryOnly).ToArray());
|
||||||
|
|
||||||
}
|
}
|
||||||
foreach (var file in files)
|
foreach (var file in files)
|
||||||
{
|
{
|
||||||
|
@@ -25,7 +25,6 @@ namespace Mitria_Minecraft_Launcher
|
|||||||
public static readonly string ServerLauncherPatchInformationFile = "/launcher.xml";
|
public static readonly string ServerLauncherPatchInformationFile = "/launcher.xml";
|
||||||
public static readonly string ServerInformationFile = "/server.xml";
|
public static readonly string ServerInformationFile = "/server.xml";
|
||||||
public static readonly string ServerDataPatchInformationFile = "/data.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()
|
public static void LoadUserLauncherConfig()
|
||||||
{
|
{
|
||||||
|
@@ -1,6 +1,8 @@
|
|||||||
using CommonLibrary;
|
using CommonLibrary;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.IO;
|
||||||
|
using System.Linq;
|
||||||
|
|
||||||
namespace Mitria_Minecraft_Launcher.Updater
|
namespace Mitria_Minecraft_Launcher.Updater
|
||||||
{
|
{
|
||||||
@@ -226,8 +228,9 @@ namespace Mitria_Minecraft_Launcher.Updater
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
// 제거된 폴더 삭제
|
||||||
var resultDirectorys = new List<string>();
|
var resultDirectorys = new List<string>();
|
||||||
|
|
||||||
foreach (var directory in Settings.UserClientVersion.ComponentDirectorys)
|
foreach (var directory in Settings.UserClientVersion.ComponentDirectorys)
|
||||||
{
|
{
|
||||||
if (!dataPatchInformation.ComponentDirectorys.Contains(directory))
|
if (!dataPatchInformation.ComponentDirectorys.Contains(directory))
|
||||||
@@ -235,7 +238,6 @@ namespace Mitria_Minecraft_Launcher.Updater
|
|||||||
resultDirectorys.Add(directory);
|
resultDirectorys.Add(directory);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach (var directory in resultDirectorys)
|
foreach (var directory in resultDirectorys)
|
||||||
{
|
{
|
||||||
var directoryPath = System.IO.Path.GetFullPath(CommonLibrary.Extensions.PathCombineW(Settings.UserLauncherConfig.GameDirectory,Settings.NowProfile.ServerName, directory));
|
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)
|
foreach (var directory in dataPatchInformation.ComponentDirectorys)
|
||||||
{
|
{
|
||||||
var directoryPath = System.IO.Path.GetFullPath(CommonLibrary.Extensions.PathCombineW(Settings.UserLauncherConfig.GameDirectory, Settings.NowProfile.ServerName, directory));
|
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 auditFile = new AuditFile();
|
||||||
var localFiles = auditFile.GetLocalFileList(dataPatchInformation.ComponentDirectorys);
|
var localFiles = auditFile.GetLocalFileList(dataPatchInformation.ComponentDirectorys);
|
||||||
var removeFiles = auditFile.GetRemoveFiles(localFiles, dataPatchInformation.ComponentList);
|
var removeFiles = auditFile.GetRemoveFiles(localFiles, dataPatchInformation.ComponentList);
|
||||||
@@ -268,10 +294,12 @@ namespace Mitria_Minecraft_Launcher.Updater
|
|||||||
foreach (var fileDetail in removeFiles)
|
foreach (var fileDetail in removeFiles)
|
||||||
{
|
{
|
||||||
var filePath = CommonLibrary.Extensions.PathCombineW(Settings.UserLauncherConfig.GameDirectory,Settings.NowProfile.ServerName, fileDetail.Directory, fileDetail.FileName);
|
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);
|
Log.INFO("[Component] -[F] " + filePath);
|
||||||
System.IO.File.Delete(filePath);
|
fileInfo.Delete();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 디렉토리 삭제
|
// 디렉토리 삭제
|
||||||
|
Reference in New Issue
Block a user