/// <summary> /// Executes a built-in action, custom action, or user-interface wizard action. /// </summary> /// <param name="action">Specifies the action to execute.</param> public void DoAction(string action) { int error = MsiInterop.MsiDoAction(this.Handle, action); if (0 != error) { throw new MsiException(error); } }