public static void PopUILevel() { TaskLogger.LogEnter(); MsiUtility.InternalUISettings internalUISettings = (MsiUtility.InternalUISettings)MsiUtility.uiSettings.Pop(); MsiNativeMethods.SetInternalUI(internalUISettings.UILevel, ref internalUISettings.Window); TaskLogger.LogExit(); }
public static void PopExternalUI() { TaskLogger.LogEnter(); MsiUtility.InternalUISettings internalUISettings = (MsiUtility.InternalUISettings)MsiUtility.uiSettings.Pop(); MsiNativeMethods.SetExternalUI(internalUISettings.UIHandlerDelegate, InstallLogMode.None, null); MsiNativeMethods.SetInternalUI(internalUISettings.UILevel, ref internalUISettings.Window); TaskLogger.LogExit(); }
private static void PushUILevel(InstallUILevel uiLevel, ref IntPtr window) { TaskLogger.LogEnter(); InstallUILevel installUILevel = MsiNativeMethods.SetInternalUI(uiLevel, ref window); if (installUILevel == InstallUILevel.NoChange) { throw new ArgumentOutOfRangeException("uiLevel", installUILevel, Strings.ExceptionInvalidUILevel); } MsiUtility.uiSettings.Push(new MsiUtility.InternalUISettings(uiLevel, window, null)); TaskLogger.LogExit(); }
public static void PushExternalUI(MsiUIHandler handler, InstallLogMode logMode) { TaskLogger.LogEnter(); IntPtr zero = IntPtr.Zero; InstallUILevel installUILevel = MsiNativeMethods.SetInternalUI(InstallUILevel.None | InstallUILevel.SourceResOnly, ref zero); if (installUILevel == InstallUILevel.NoChange) { throw new ArgumentOutOfRangeException("uiLevel", installUILevel, Strings.ExceptionInvalidUILevel); } MsiUIHandlerDelegate handlerDelegate = MsiNativeMethods.SetExternalUI(handler.UIHandlerDelegate, logMode, null); MsiUtility.uiSettings.Push(new MsiUtility.InternalUISettings(InstallUILevel.None | InstallUILevel.SourceResOnly, zero, handlerDelegate)); }