/// <summary> /// Gets the designated mode flag for the current install session. /// </summary> /// <param name="mode">The type of mode to be checked.</param> /// <returns>The value of the designated mode flag.</returns> /// <exception cref="InvalidHandleException">the Session handle is invalid</exception> /// <exception cref="ArgumentOutOfRangeException">an invalid mode flag was specified</exception> /// <remarks><p> /// Note that only the following run modes are available to read from /// a deferred custom action:<list type="bullet"> /// <item><description><see cref="InstallRunMode.Scheduled"/></description></item> /// <item><description><see cref="InstallRunMode.Rollback"/></description></item> /// <item><description><see cref="InstallRunMode.Commit"/></description></item> /// </list> /// </p><p> /// Win32 MSI API: /// <a href="http://msdn.microsoft.com/library/en-us/msi/setup/msigetmode.asp">MsiGetMode</a> /// </p></remarks> public bool GetMode(InstallRunMode mode) { return(RemotableNativeMethods.MsiGetMode((int)this.Handle, (uint)mode)); }