private void InitializeAndValidateLibrary() { var libPath = "7z.dll"; if (!String.IsNullOrWhiteSpace(this.libraryFilePath)) { if (File.Exists(this.libraryFilePath)) { libPath = this.libraryFilePath; } else { throw new SevenZipException("7z.dll not found"); } } try { this.sevenZipHandle = new SevenZipHandle(libPath); } catch (Exception e) { throw new SevenZipException("Unable to initialize SevenZipHandle", e); } }
private static SevenZipHandle InitializeAndValidateLibrary() { var libraryFilePath = Get7ZLibraryFilePath(); try { var sevenZipHandle = new SevenZipHandle(libraryFilePath); return(sevenZipHandle); } catch (Exception e) { throw new SevenZipException($"Unable to initialize SevenZipHandle, library file path:{libraryFilePath}", e); } }
private void InitializeAndValidateLibrary() { if (string.IsNullOrWhiteSpace(this.libraryFilePath)) { string currentArchitecture = IntPtr.Size == 4 ? "x86" : "x64"; // magic check if (File.Exists(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "7z-" + currentArchitecture + ".dll"))) { this.libraryFilePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "7z-" + currentArchitecture + ".dll"); } else if (File.Exists(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "bin", "7z-" + currentArchitecture + ".dll"))) { this.libraryFilePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "bin", "7z-" + currentArchitecture + ".dll"); } else if (File.Exists(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "bin", currentArchitecture, "7z.dll"))) { this.libraryFilePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "bin", currentArchitecture, "7z.dll"); } else if (File.Exists(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, currentArchitecture, "7z.dll"))) { this.libraryFilePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, currentArchitecture, "7z.dll"); } else if (File.Exists(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles), "7-Zip", "7z.dll"))) { this.libraryFilePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles), "7-Zip", "7z.dll"); } } if (string.IsNullOrWhiteSpace(this.libraryFilePath)) { throw new SevenZipException("libraryFilePath not set"); } if (!File.Exists(this.libraryFilePath)) { throw new SevenZipException("7z.dll not found"); } try { this.sevenZipHandle = new SevenZipHandle(this.libraryFilePath); } catch (Exception e) { throw new SevenZipException("Unable to initialize SevenZipHandle", e); } }
//private string libraryFilePath; static ArchiveFile() { SevenZipHandle = InitializeAndValidateLibrary(); }