private void btnSave_Click(object sender, RoutedEventArgs e) { //PrivateIsOutBlockedNotif is also valid for public and domain status.PublicIsOutBlockedNotif = status.PrivateIsOutBlockedNotif; status.DomainIsOutBlockedNotif = status.PrivateIsOutBlockedNotif; if (status.PrivateIsOutBlockedNotif == false) { //if not blocked, allowed must be true if (status.PrivateIsOutBlocked == false) { status.PrivateIsOutAllowed = true; } if (status.PublicIsOutBlocked == false) { status.PublicIsOutAllowed = true; } if (status.DomainIsOutBlocked == false) { status.DomainIsOutAllowed = true; } } status.Save(); if (!isInstalled && ((status.PrivateIsEnabled && status.PrivateIsOutBlockedNotif) || (status.PublicIsEnabled && status.PublicIsOutBlockedNotif) || (status.DomainIsEnabled && status.DomainIsOutBlockedNotif))) { InstallHelper.EnableProgram(true, callback); } else if (isInstalled && (!status.PrivateIsEnabled || !status.PrivateIsOutBlockedNotif) && (!status.PublicIsEnabled || !status.PublicIsOutBlockedNotif) && (!status.DomainIsEnabled || !status.DomainIsOutBlockedNotif)) { InstallHelper.RemoveProgram(true, callback); } init(); }