diff --git a/Knossos.NET/Classes/KnUtils.cs b/Knossos.NET/Classes/KnUtils.cs index 21b27ea4..09c15d64 100644 --- a/Knossos.NET/Classes/KnUtils.cs +++ b/Knossos.NET/Classes/KnUtils.cs @@ -1101,6 +1101,12 @@ private static bool DecompressFileSharpCompress(string compressedFilePath, strin Log.Add(Log.LogSeverity.Warning, "KnUtils.DecompressFileSharpCompress()", $"Skipping symlink escaping destination: {destinationPath} -> {reader.Entry.LinkTarget}"); continue; } + + // Make sure destination parent dir exist + var symlinkParentDir = Path.GetDirectoryName(destinationPath); + if (symlinkParentDir != null && !Directory.Exists(symlinkParentDir)) + Directory.CreateDirectory(symlinkParentDir); + File.CreateSymbolicLink(destinationPath, reader.Entry.LinkTarget); } catch (Exception ex)