void PromptUserForLicenseIfTrialHasExpired() { if (!(Debugger.IsAttached && SystemInformation.UserInteractive)) { //We only prompt user if user is in debugging mode and we are running in interactive mode return; } bool createdNew; using (new Mutex(true, $"NServiceBus-{GitFlowVersion.MajorMinor}", out createdNew)) { if (!createdNew) { //Dialog already displaying for this software version by another process, so we just use the already assigned license. return; } if (license == null || LicenseExpirationChecker.HasLicenseExpired(license)) { var licenseProvidedByUser = LicenseExpiredFormDisplayer.PromptUserForLicense(license); if (licenseProvidedByUser != null) { license = licenseProvidedByUser; } } } }