/// <summary> /// Extracts all the files from a cabinet to a directory. /// </summary> /// <param name="cabinetFile">Cabinet file to extract from.</param> /// <param name="extractDir">Directory to extract files to.</param> public void Extract(string cabinetFile, string extractDir) { if (null == extractDir) { throw new ArgumentNullException("extractDir"); } if (!extractDir.EndsWith("\\")) { extractDir = String.Concat(extractDir, "\\"); } int err = CabInterop.ExtractCab(cabinetFile, extractDir); if (0 != err) { throw new WixCabExtractionException(extractDir, new COMException(String.Concat("Failed to extract files from cabinet, error: ", err), err)); } err = System.Runtime.InteropServices.Marshal.GetLastWin32Error(); if (0 != err) { throw new WixCabExtractionException(new COMException(String.Concat("Failed to execute cab extract, error: ", err), err)); } }
/// <summary> /// Extracts all the files from a cabinet to a directory. /// </summary> /// <param name="cabinetFile">Cabinet file to extract from.</param> /// <param name="extractDir">Directory to extract files to.</param> public void Extract(string cabinetFile, string extractDir) { if (null == cabinetFile) { throw new ArgumentNullException("cabinetFile"); } if (null == extractDir) { throw new ArgumentNullException("extractDir"); } if (this.disposed) { throw new ObjectDisposedException("WixExtractCab"); } if (!extractDir.EndsWith("\\")) { extractDir = String.Concat(extractDir, "\\"); } CabInterop.ExtractCab(cabinetFile, extractDir); }