public void Initialize() { // Исключения в Initialize проглотит автокад, без выдачи сообщений. При этом сборка не будет загружена!!!. try { try { PikSettings.LoadSettings(); } catch { } // Запись в лог try { Log.Info($"AutoCAD_PIK_Manager загружен. Версия {Assembly.GetExecutingAssembly().GetName().Version}. Настройки загружены из {PikSettings.CurDllLocation}"); Log.Info($"Путь к сетевой папке настроек - {PikSettings.ServerSettingsFolder}"); Log.Info($"Версия автокада - {Application.Version.ToString()}"); Log.Info($"Версия среды .NET Framework - {Environment.Version}"); } catch { } // Если есть другие запущеннык автокады, то пропускаем копирование файлов с сервера, т.к. многие файлы уже заняты другим процессом автокада. if (!IsProcessAny()) { // Обновление настроек с сервера (удаление и копирование) try { Update.UpdateSettings(); Log.Info("Настройки обновлены. " + Update.GetUpdateInfo()); } catch (System.Exception ex) { try { Log.Error(ex, "Ошибка обновления настроек PikSettings.UpdateSettings();"); } catch { } _err += ex.Message; // Попытка загрузки библиотек LoadDll.LoadRefs(); } try { PikSettings.LoadSettings(); // Перезагрузка настроек (могли обновиться файлы настроек на сервере) // Замена путей к настройкам в файлах инструментальных палитр ToolPaletteReplacePath.Replace(); Log.Info("Настройки загружены."); } catch (System.Exception ex) { try { Log.Error(ex, "Ошибка загрузки настроек PikSettings.LoadSettings();"); } catch { } _err += ex.Message; } } try { Profile profile = new Profile(); // Настройка профиля ПИК в автокаде if (PikSettings.UserGroup.Contains("ГП")) { profile.SetProfilePIK = false; profile.SetTemplate = false; profile.SetToolPalette = false; profile.SetSysVars = PikSettings.GroupFileSettings?.SystemVariables; } profile.SetProfile(); Log.Info("Профиль настроен."); //else //{ //// Загрузка сбороки ГП //string gpdll = Path.Combine(PikSettings.LocalSettingsFolder, @"Script\NET\ГП\PIK_GP_Civil.dll"); //LoadDll.Load(gpdll); //} } catch (System.Exception ex) { try { Log.Error(ex, "Ошибка настройки профиля SetProfile()."); } catch { } _err += ex.Message; } } catch (Settings.Exceptions.NoGroupException) { // Пользователь без группы. return; } catch (System.Exception ex) { try { Log.Error(ex, "LoadSettings"); Log.Info($"AutoCAD_PIK_Manager загружен с ошибками. Версия {Assembly.GetExecutingAssembly().GetName().Version}. Настройки не загружены из {PikSettings.CurDllLocation}"); Log.Info($"Версия автокада - {Application.Version.ToString()}"); Log.Info($"Путь к сетевой папке настроек - {PikSettings.ServerSettingsFolder}"); } catch { } _err += ex.Message; } // Загрузка библиотек LoadDll.LoadTry(Path.Combine(PikSettings.CurDllLocation, "AcadLib.dll")); //// Конекторы к базе MDM //LoadDll.LoadTry(Path.GetFullPath(Path.Combine(PikSettings.CurDllLocation, @"..\Script\NET\MDM_Connector.dll"))); //LoadDll.LoadTry(Path.GetFullPath(Path.Combine(PikSettings.CurDllLocation, @"..\Script\NET\MDBCToLISP.dll"))); }