/// <summary> /// Constructs a handle object from a native integer handle. /// </summary> /// <param name="handle">Native integer handle.</param> /// <param name="ownsHandle">true to close the handle when this object is disposed or finalized</param> protected InstallerHandle(IntPtr handle, bool ownsHandle) { if (handle == IntPtr.Zero) { throw new InvalidHandleException(); } this.handle = new NativeMethods.MsiHandle(handle, ownsHandle); }