public static Particular.Licensing.License PromptUserForLicense(Particular.Licensing.License currentLicense) { SynchronizationContext synchronizationContext = null; try { synchronizationContext = SynchronizationContext.Current; using (var form = new LicenseExpiredForm()) { form.CurrentLicense = currentLicense; form.ShowDialog(); if (form.ResultingLicenseText == null) { return(null); } new RegistryLicenseStore() .StoreLicense(form.ResultingLicenseText); return(LicenseDeserializer.Deserialize(form.ResultingLicenseText)); } } finally { SynchronizationContext.SetSynchronizationContext(synchronizationContext); } }
internal static void InitializeLicense() { //only do this if not been configured by the fluent API if (licenseText == null) { licenseText = GetExistingLicense(); } if (string.IsNullOrWhiteSpace(licenseText)) { license = GetTrialLicense(); return; } LicenseVerifier.Verify(licenseText); var foundLicense = LicenseDeserializer.Deserialize(licenseText); if (LicenseExpirationChecker.HasLicenseExpired(foundLicense)) { Logger.Fatal(" You can renew it at http://particular.net/licensing."); return; } if (foundLicense.UpgradeProtectionExpiration != null) { Logger.InfoFormat("UpgradeProtectionExpiration: {0}", foundLicense.UpgradeProtectionExpiration); } else { Logger.InfoFormat("Expires on {0}", foundLicense.ExpirationDate); } license = foundLicense; }
internal static void Verify() { //only do this if not been configured by the fluent API if (licenseText == null) { licenseText = LicenseLocationConventions.TryFindLicenseText(); if (string.IsNullOrWhiteSpace(licenseText)) { ConfigureNServiceBusToRunInTrialMode(); return; } } SignedXmlVerifier.VerifyXml(licenseText); var tempLicense = LicenseDeserializer.Deserialize(licenseText); string message; if (LicenseDowngrader.ShouldLicenseDowngrade(tempLicense, out message)) { message = message + " You can renew it at http://particular.net/licensing. Downgrading to basic mode"; Logger.Warn(message); license = LicenseDeserializer.GetBasicLicense(); } else { license = tempLicense; } WriteLicenseInfo(); }
void browseButton_Click(object sender, EventArgs e) { using (var openDialog = new OpenFileDialog()) { openDialog.InitializeLifetimeService(); openDialog.Filter = "License files (*.xml)|*.xml|All files (*.*)|*.*"; openDialog.Title = "Select License file"; var dialogResult = StaThreadRunner.ShowDialogInSTA(() => { return(openDialog.ShowDialog()); }); if (dialogResult == DialogResult.OK) { var licenseText = NonLockingFileReader.ReadAllTextWithoutLocking(openDialog.FileName); try { SignedXmlVerifier.VerifyXml(licenseText); var license = LicenseDeserializer.Deserialize(licenseText); string downgradeReason; if (LicenseDowngrader.ShouldLicenseDowngrade(license, out downgradeReason)) { var message = string.Format("The license you provided has expired.\r\nReason:{0}\r\nClick 'Purchase' to obtain a new license. Or try a different file.\r\nThis message has been appended to your log.", downgradeReason); Logger.Warn(message); MessageBox.Show(this, message, "License expired", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } MessageBox.Show(this, "The new license has been verified. It will now be stored in the Registry for future use.", "License applied", MessageBoxButtons.OK, MessageBoxIcon.Information); ResultingLicenseText = licenseText; Close(); } catch (Exception exception) { var message = string.Format("An error occurred when parsing the license.\r\nMessage: {0}\r\nThe exception details have been appended to your log.", exception.Message); Logger.Warn("Error parsing license", exception); MessageBox.Show(this, message, "Error parsing license", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } }
void browseButton_Click(object sender, EventArgs e) { using (var openDialog = new OpenFileDialog()) { openDialog.InitializeLifetimeService(); openDialog.Filter = "License files (*.xml)|*.xml|All files (*.*)|*.*"; openDialog.Title = "Select License file"; var dialogResult = StaThreadRunner.ShowDialogInSTA(openDialog.ShowDialog); if (dialogResult == DialogResult.OK) { var licenseText = NonLockingFileReader.ReadAllTextWithoutLocking(openDialog.FileName); try { LicenseVerifier.Verify(licenseText); var license = LicenseDeserializer.Deserialize(licenseText); if (LicenseExpirationChecker.HasLicenseExpired(license)) { var message = string.Format("The license you provided has expired, please select another file."); Logger.Warn(message); MessageBox.Show(this, message, "License expired", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } ResultingLicenseText = licenseText; Close(); } catch (Exception exception) { var message = string.Format("An error occurred when parsing the license.\r\nMessage: {0}\r\nThe exception details have been appended to your log.", exception.Message); Logger.Warn("Error parsing license", exception); MessageBox.Show(this, message, "Error parsing license", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } }