Добрый день!

В поставке системы Terrasoft, в папке BIN идет утилита TSLauncher.exe. Она отвечает за корректность регистрации модулей системы.

Вопрос заключается в следующем: Можно ли заставить эту утилиту зарегистрировать отдельно взятую библиотеку?

ЗЫ
Вариант с заполнением файла конфигурации RunSettings.xml не подходит, нужно регистрировать отдельно взятую библиотеку.

Нравится

6 комментариев

Нет, не получиться. Но ведь вы можете зарегестрировать библиотеку с помощью:

regsvr32 Library.dll

где Library -- название библиотеки.

А в runsettings.xml не эти библиотеки прописываются?

Спасибо за ответы.
Наверно стоит более подробно описать задачу.

Тут не для кого не секрет что я разрабатываю разные доп. модули (почта, телефон, смс ...) для системы Террасофт. Из-за того что модули постоянно развиваются у администраторов системы Террасофт клиентских организаций появляется появляется дополнительная рутинная задача по обновлению библиотек на рабочих местах. Одно дело когда 3-5 рабочих мест, а когда 15 и больше то тут тут сложнее.
Понимая такую ситуацию я решил добавить в систему механизм авто обновления библиотек на рабочих местах. Логика работы примерно такая: библиотека загружается в базу, а при запуске Террасофт сверяются версии локальные и в базе, и в случае необходимости происходит обновление.

В принципе ничего сложного и всё должно работать, но есть один момент, и он касается работы regsvr32. Не редки случаи когда regsvr32 отрабатывает не совсем корректно, точнее сказать не может зарегистрировать библиотеку (нужно запускать от имени администратора). Вот и ищу варианты.

Прописывание библиотеки в runsettings.xml тоже не спасет, т.к. основная задача это обновление библиотеки из базы.

Очень не хотелось писать свой ланчер, но похоже что без него не обойтись :smile:. Жаль что не получается использовать стандартный.

Евгений, хочу предложить Вам попробовать обойти проблему regsvr32.exe. Действительно, для регистрации библиотеки нужны права локального администратора. Но существуют и обходные пути. Например, начиная с версии 3.3.2 (тут я могу ошибаться), в поставку Terrasoft CRM включено приложение regsvrex.exe. Оно позволяет регистрировать COM библиотеки от имени обычного пользователя. Надеюсь это поможет!

"Карло Сергей" написал:

Спасибо Сергей за совет.
Он был очень полезен.

Теперь обновление библиотек почтового клиента происходит централизованно. Ведь когда мест больше 5 (например 25) уже становится сложно обновлять на рабочих местах библиотеки и их перерегистрировать. Теперь достаточно загрузить новые версии в базу и при запуске системы происходит процедура сравнения локальных и центральных файлов и при необходимости библиотеки обновляются.

Евгений, рад что смог помочь!

Показать все комментарии