¿Cómo usaría Sevenzipsharp con este código?

iv probé numerosas formas diferentes de hacer que esto funcione y lo hice funcionar básicamente, pero no puedo obtener WaitForExit (); es para trabajar como lo hacen aquí ... entonces, ¿cómo convertiría esto para que funcione con sevenzip? porque no puedo hacer que funcione, y también los SFX tienen una contraseña para que no se pueda acceder a ellos, excepto por el uso del programa y en cuanto a agregar el 7z.DLL no puedo agregarlo porque recibo el error:

No se pudo agregar una referencia a 7za.dll. asegúrese de que el archivo sea accesible y que sea un ensamblado válido o un componente COM.

string tempFolder = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
System.Diagnostics.Process defrag1 = System.Diagnostics.Process.Start(@"AusLogics_Defrag.exe", string.Format(" -o{0} -y -Pthisisthepass", tempFolder));
defrag1.WaitForExit();
string executableDirectoryName = Path.GetDirectoryName(Application.ExecutablePath);
System.Diagnostics.Process defrag2 = System.Diagnostics.Process.Start(tempFolder + "\\" + "AusLogics_Defrag" + "\\" + "DiskDefrag.exe", "");
defrag2.WaitForExit();
System.IO.Directory.Delete(tempFolder + "\\" + "AusLogics_Defrag", true);

nuevo: bueno, esto es lo que tengo hasta ahora, pero recibo el error "¡No se puede cargar la biblioteca de 7 zip o error COM interno! Mensaje: no se pudo cargar la biblioteca"

SevenZipExtractor.SetLibraryPath("7z.dll"); //no idea of this is needed or not
SevenZipCompressor.SetLibraryPath("7z.dll"); //no idea of this is needed or not
string tempFolder = Environment.GerFolderPath(Environment.SpecialFolder.ApplicationData);
SevenZipExtractor defrag = new SevenZipExtractor(@"Programs\Optimize\Auslogics_Defrag.7z");
defrag.ExtracArchive(string.Format("-o{0} -y -PThisisthepass", tempFolder));

Respuestas a la pregunta(3)

Su respuesta a la pregunta