static int Main(string[] args) { if (!DicomDemoSettingsManager.Is64Process()) { _demoName = "LEADTOOLS PACS Configuration Demo (32 bit)"; } else { _demoName = "LEADTOOLS PACS Configuration Demo (64 bit)"; } if (DemosGlobal.MustRestartElevated()) { DemosGlobal.TryRestartElevated(args); return(0); } ReadCommandLine(args); MySettings mySettings = new MySettings(); if (_bInitialize) { #if !FOR_DOTNET4 if (false == DemosGlobal.IsDotNet35Installed()) { return(0); } #endif MyUtils.RemoveConfigurationFiles(); MyUtils.RemoveGlobalPacsConfig(); mySettings.Save(); return(0); } bool showUI = !_bUninstall && !_bInitialize; #if !FOR_DOTNET4 bool dotNet35Installed = DemosGlobal.IsDotNet35Installed(); if (showUI && !dotNet35Installed) { Messager.ShowWarning(null, ".NET Framework 3.5 could not be found on this machine.\n\nPlease install the .NET Framework 3.5 runtime and try again. This program will now exit."); } if (!dotNet35Installed) { return(0); } #endif mySettings.Load(); #if LEADTOOLS_V19_OR_LATER if (showUI) { if (!Support.SetLicense()) { return(-1); } } #endif // If calling with the /uninstall flag, do not display the nag message if (_bUninstall == false) { if (RasterSupport.KernelExpired) { return(-1); } } #if LEADTOOLS_V175_OR_LATER if (showUI) { if (RasterSupport.IsLocked(RasterSupportType.DicomCommunication)) { MessageBox.Show(String.Format("{0} Support is locked!", RasterSupportType.DicomCommunication.ToString()), "Warning"); return(-1); } } #else if (RasterSupport.IsLocked(RasterSupportType.MedicalNet)) { MessageBox.Show(String.Format("{0} Support is locked!", RasterSupportType.MedicalNet.ToString()), "Warning"); return(-1); } if (RasterSupport.IsLocked(RasterSupportType.MedicalServer)) { MessageBox.Show(String.Format("{0} Support is locked!", RasterSupportType.MedicalServer.ToString()), "Warning"); return(-1); } #endif //_admin = new ServiceAdministrator(_baseDir); //_admin.Unlock(Support.MedicalServerKey); Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); #if (LEADTOOLS_V20_OR_LATER) if (DemosGlobal.IsDotNet45OrLaterInstalled() == false) { MessageBox.Show("To run this application, you must first install Microsoft .NET Framework 4.5 or later.", "Microsoft .NET Framework 4.5 or later Required", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return(-1); } #endif //Utils.EngineStartup(); DicomEngine.Startup(); if (_bUninstall) { try { using (ServiceAdministrator serviceAdmin = CreateServiceAdministrator()) { MyUtils.UninstallAllDicomServersSilent(serviceAdmin); MyUtils.RemoveConfigurationFiles(); } } catch (Exception) { } } else { string missingDbComponents; DialogResult result = DialogResult.Yes; Messager.Caption = _demoName; string platform = "32-bit"; if (DicomDemoSettingsManager.Is64Process()) { platform = "64-bit"; } string [] productsToCheck = new string[] { DicomDemoSettingsManager.ProductNameDemoServer, DicomDemoSettingsManager.ProductNameWorkstation, DicomDemoSettingsManager.ProductNameStorageServer }; bool isDbConfigured = GlobalPacsUpdater.IsDbComponentsConfigured(productsToCheck, out missingDbComponents); if (!isDbConfigured) // databases not configured { string message = "The following databases are not configured:\n\n{0}\nRun the {1} CSPacsDatabaseConfigurationDemo to configure the missing databases then run this demo again.\n\nDo you want to run the {2} CSPacsDatabaseConfigurationDemo wizard now?"; message = string.Format(message, missingDbComponents, platform, platform); result = Messager.ShowQuestion(null, message, MessageBoxButtons.YesNo); if (DialogResult.Yes == result) { RunDatabaseConfigurationDemo(); } } mySettings._settings.FirstRun = false; mySettings.Save(); // Add event handler for handling UI thread exceptions to the event Application.ThreadException += new System.Threading.ThreadExceptionEventHandler(Application_ThreadException); // Set the unhandled exception mode to force all Windows Forms errors to go through our handler. Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException); // Add the event handler for handling non-UI thread exceptions to the event. AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException); try { Application.Run(new MainForm()); } catch (FileNotFoundException ex) { MessageBox.Show("File not found exception.\n" + ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } catch (Exception ex) { MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } DicomEngine.Shutdown(); return(0); }
static int Main(string[] args) { #if LEADTOOLS_V19_OR_LATER if (!Support.SetLicense()) { return(0); } #else Support.SetLicense(); if (RasterSupport.KernelExpired) { return(0); } #endif Mutex m; if (DemosGlobal.MustRestartElevated()) { DemosGlobal.TryRestartElevated(args); return(0); } #if !FOR_DOTNET4 bool dotNet35Installed = DemosGlobal.IsDotNet35Installed(); if (!dotNet35Installed) { return(0); } #endif bool ok; #if LEADTOOLS_V175_OR_LATER m = new Mutex(true, "LEADTOOLS_V175_OR_LATER", out ok); if (!ok) { return(1); } #else SingleInstanceController controller; #endif Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); #if LEADTOOLS_V175_OR_LATER if (RasterSupport.IsLocked(RasterSupportType.DicomCommunication)) #else if (RasterSupport.IsLocked(RasterSupportType.MedicalNet)) #endif { MessageBox.Show("Support for LEADTOOLS PACS Module is locked!\nServer Manager cannot run!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return(-1); } #if (LEADTOOLS_V20_OR_LATER) if (DemosGlobal.IsDotNet45OrLaterInstalled() == false) { MessageBox.Show("To run this application, you must first install Microsoft .NET Framework 4.5 or later.", "Microsoft .NET Framework 4.5 or later Required", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return(-1); } #endif { string message = string.Empty; string[] productsToCheck = new string[] { DicomDemoSettingsManager.ProductNameStorageServer }; bool dbConfigured = GlobalPacsUpdater.IsDbComponentsConfigured(productsToCheck, out message); if (!dbConfigured && !RequestUserToConfigureDbSucess(message)) { return(-1); } if (!GlobalPacsUpdater.IsProductDatabaseUpTodate(DicomDemoSettingsManager.ProductNameDemoServer) && !RequestUserToUpgradeDbSucess()) { return(-1); } if (!ok) { return(-1); } } BaseDir = Path.GetFullPath(GetWorkingDirectory()).ToLower(); DicomEngine.Startup(); DicomNet.Startup(); #if !LEADTOOLS_V175_OR_LATER controller = new SingleInstanceController(); controller.Run(Environment.GetCommandLineArgs()); #else try { Application.Run(new MainForm()); } catch (FileNotFoundException ex) { MessageBox.Show("File not found exception.\n" + ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } catch (Exception ex) { MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } #endif DicomNet.Shutdown(); DicomEngine.Shutdown(); #if LEADTOOLS_V175_OR_LATER GC.KeepAlive(m); #endif return(0); }