static public void RemoveConfigurationFiles() { // Remove main client demo configurations string [] mainClientDemos = MainForm.GetMainClientDemos(); foreach (string s in mainClientDemos) { RemoveConfigurationFile(s); } // Remove main store demo configurations string[] mainStoreDemos = MainForm.GetMainStoreDemos(); foreach (string s in mainStoreDemos) { RemoveConfigurationFile(s); } string[] mainMwlDemos = MainForm.GetMainMwlDemos(); foreach (string s in mainMwlDemos) { RemoveConfigurationFile(s); } string[] workstationDemos = MainForm.GetWorkstationDemos(); foreach (string s in workstationDemos) { RemoveConfigurationFile(s); } string[] otherDemos = MainForm.GetOtherDemosWithConfigurationFiles(); foreach (string s in otherDemos) { RemoveConfigurationFile(s); } // Remove pacs config demo configuration string sPacsConfig = MySettings.GetSettingsFilename(); if (!string.IsNullOrEmpty(sPacsConfig)) { //MessageBox.Show("Removing: " + sPacsConfig); File.Delete(sPacsConfig); if (sPacsConfig.Contains("32")) { sPacsConfig = sPacsConfig.Replace("32", "64"); } else { sPacsConfig = sPacsConfig.Replace("64", "32"); } File.Delete(sPacsConfig); } }
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); }
// Here are two sample command lines: // /configure /server_aetitle=STORAGE_SCU /server_ip=10.1.1.167 /server_port=104 /defaults // /configure /server_aetitle=test_server_ae /server_ip=10.1.1.123 /server_port=123 /client_aetitle=test_client_ae /client_ip=test_client_ip /client_port=456 /defaults static void ReadCommandLine(string[] args) { const string sQuestion = "/?"; const string sHelp = "/help"; const string sUninstall = "/uninstall"; const string sBase = "/base="; const string sServerAeTitle = "/server_aetitle="; const string sServerPort = "/server_port="; const string sClientAeTitle = "/client_aetitle="; const string sClientPort = "/client_port="; const string sInitialize = "/initialize"; MySettings mySettings = new MySettings(); _bUninstall = false; _baseDir = Path.GetFullPath(GetWorkingDirectory()).ToLower(); if (!_baseDir.EndsWith("\\")) { _baseDir += "\\"; } mySettings.Load(); foreach (string s in args) { string sVal = string.Empty; if ((string.Compare(sHelp, s, true) == 0) || (string.Compare(sQuestion, s, true) == 0)) { MessageBox.Show(sHelpInstructions, "Help", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } else if (s.StartsWith(sInitialize, true, null)) { _bInitialize = true; } else if (s.StartsWith(sUninstall, true, null)) { _bUninstall = true; } else if (s.StartsWith(sBase, true, null)) { sVal = s.Substring(sBase.Length); if (Directory.Exists(sVal)) { _baseDir = Path.GetFullPath(sVal).ToLower(); if (!_baseDir.EndsWith("\\")) { _baseDir += "\\"; } } } else if (s.StartsWith(sServerAeTitle, true, null)) { sVal = s.Substring(sServerAeTitle.Length); mySettings._settings.ServerAE = sVal; } else if (s.StartsWith(sServerPort, true, null)) { sVal = s.Substring(sServerPort.Length); mySettings._settings.ServerPort = 104; try { mySettings._settings.ServerPort = Convert.ToInt32(sVal); } catch (Exception) { } } else if (s.StartsWith(sClientAeTitle, true, null)) { sVal = s.Substring(sClientAeTitle.Length); mySettings._settings.ClientAE = sVal; } else if (s.StartsWith(sClientPort, true, null)) { sVal = s.Substring(sClientPort.Length); mySettings._settings.ClientPort = 1000; try { mySettings._settings.ClientPort = Convert.ToInt32(sVal); } catch (Exception) { } } } mySettings.Save(); }