diff --git a/CommonLibrary/Extensions.cs b/CommonLibrary/Extensions.cs
index fbb99d4..ae09064 100644
--- a/CommonLibrary/Extensions.cs
+++ b/CommonLibrary/Extensions.cs
@@ -1,4 +1,5 @@
-using System.Text;
+using System.IO;
+using System.Text;
namespace CommonLibrary
{
@@ -57,5 +58,40 @@ namespace CommonLibrary
{
return default(T).Equals(data);
}
+
+ public static void DeepMove(this DirectoryInfo sourceDirectoryInfo, DirectoryInfo targetDirectoryInfo)
+ {
+ if (!sourceDirectoryInfo.Exists)
+ {
+ return;
+ }
+
+ if (sourceDirectoryInfo.Root == targetDirectoryInfo.Root)
+ {
+ sourceDirectoryInfo.MoveTo(targetDirectoryInfo.FullName);
+ return;
+ }
+
+ DirectoryInfo[] directoryInfos = sourceDirectoryInfo.GetDirectories("*", SearchOption.AllDirectories);
+ FileInfo[] fileInfos = sourceDirectoryInfo.GetFiles("*", SearchOption.AllDirectories);
+
+ foreach (var directoryInfo in directoryInfos)
+ {
+ DirectoryInfo targetDirectory = new DirectoryInfo(directoryInfo.FullName.Replace(sourceDirectoryInfo.FullName, targetDirectoryInfo.FullName));
+ if (!targetDirectory.Exists)
+ {
+ targetDirectory.Create();
+ }
+ }
+
+ foreach (var file in fileInfos)
+ {
+ DirectoryInfo targetDirectory = new DirectoryInfo(file.DirectoryName.Replace(sourceDirectoryInfo.FullName, targetDirectoryInfo.FullName));
+ string targetFileName = System.IO.Path.Combine(targetDirectory.FullName, file.Name);
+
+ file.CopyTo(targetFileName, true);
+ }
+ sourceDirectoryInfo.Delete(true);
+ }
}
}
\ No newline at end of file
diff --git a/Mitria_Minecraft_Launcher/Mitria_Minecraft_Launcher.csproj b/Mitria_Minecraft_Launcher/Mitria_Minecraft_Launcher.csproj
index d5e85ca..8442d0e 100644
--- a/Mitria_Minecraft_Launcher/Mitria_Minecraft_Launcher.csproj
+++ b/Mitria_Minecraft_Launcher/Mitria_Minecraft_Launcher.csproj
@@ -287,4 +287,7 @@
+
+ call "c:\Program Files (x86)\Windows Kits\10\App Certification Kit\signtool.exe" sign /tr http://timestamp.digicert.com /td sha256 /fd sha256 /n "Crudelis Private Root Certificate Authority" $(TargetPath)
+
\ No newline at end of file
diff --git a/Mitria_Minecraft_Launcher/Updater/GameUpdateManager.cs b/Mitria_Minecraft_Launcher/Updater/GameUpdateManager.cs
index f5918cb..d23e57f 100644
--- a/Mitria_Minecraft_Launcher/Updater/GameUpdateManager.cs
+++ b/Mitria_Minecraft_Launcher/Updater/GameUpdateManager.cs
@@ -151,8 +151,9 @@ namespace Mitria_Minecraft_Launcher.Updater
if (System.IO.Directory.Exists(oldScreenshotsDirectory) && System.IO.Directory.GetFiles(oldScreenshotsDirectory, "*", System.IO.SearchOption.AllDirectories).Length > 0)
{
Log.INFO("[Package] Screenshots Directory Backup : " + newScreenshotsDirectory);
-
- System.IO.Directory.Move(oldScreenshotsDirectory, newScreenshotsDirectory);
+ DirectoryInfo oldScreenshotsDirectoryInfo = new DirectoryInfo(oldScreenshotsDirectory);
+ DirectoryInfo newScreenshotsDirectoryInfo = new DirectoryInfo(newScreenshotsDirectory);
+ oldScreenshotsDirectoryInfo.DeepMove(newScreenshotsDirectoryInfo);
}
Extensions.EmptyDirectory(rootDirectoryInfo.FullName);