Beispiel #1
0
        /// <summary>
        /// Disposes the managed and unmanaged objects in this object.
        /// </summary>
        public void Dispose()
        {
            if (!this.disposed)
            {
                CabInterop.ExtractCabFinish();

                GC.SuppressFinalize(this);
                this.disposed = true;
            }
        }
		/// <summary>
		/// Closes the cabinet being extracted.
		/// </summary>
		public void Close()
		{
			if (this.closed)
			{
				return;
			}

			this.closed = true;
			CabInterop.ExtractCabFinish();

			int err = System.Runtime.InteropServices.Marshal.GetLastWin32Error();
			if (0 != err)
			{
				throw new WixCabExtractionException(new COMException(String.Concat("Failed to close cab extract object, error: ", err), err));
			}
		}