Система DirectumRX уже установлена, настроена и в ней работают пользователи.
Заказчик:
- А можно настроить https, у нас появились сертификаты!? (при установке https не настраивался)
- Некоторым нашим пользователям не удобно работать в Web-клиенте, а можно открыть "толстый" клиент наружу!? (установка RX производилась на localhost)
- Домен, который использовали при установке, был временным, можно его поменять на другой!?
Ситуация знакомая и встречается довольно часто. Давайте разбираться, как быть и что делать.
Суть проблемы
Если зайти по ссылке http://Домен/DirectumRX.Application, то скачивается Application manifest файл DirectumRX.application, который необходим для установки "толстого" клиента DirectumRX (это Вам не Directum 5).
Посмотрим на него поближе, для этого откроем блокнотом файл C:\inetpub\wwwroot\DirectumRX.application
Тут нас интересуют два элемента:
Если перенастроить все _ConfigSetting.xml в C:\inetpub\wwwroot\, включая ...\DirectumRX_Client\версия RX\_ConfigSettings.xml, то можно поймать ошибку установки клиента - "Файл, _ConfigSettings.xml, имеет рассчитанный хеш, отличный от указанного в манифесте".
1) Меняем домен в C:\inetpub\wwwroot\DirectumRX_Client\Ваша версия RX\_ConfigSettings.xml, если еще этого не сделали.
2) На диске C:\ создаем папку, например DirectumRX_manifest_update (название любое). Папку можно создать где угодно, главное, чтобы не было проблем с пробелами и прочими символами в путях.
3) Копируем в нее приложение mage.exe, которое лежит в папке C:\Program Files\Directum Company\DirectumRX\Utilities\ConfigurationTool. Еще, как вариант, mage.exe можно взять из MS SDK, например C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.2 Tools или SDK 8.0A, смотря какая стоит.
4) Так же создаем в ней bat файл, например C:\DirectumRX_manifest_update\Update.bat
Итак, заполняем bat файл (на примере DirectumRX версии 3.3.55).
C:\DirectumRX_manifest_update\mage.exe -New Application -Version "3.3.5500.0" -ToFile "C:\DirectumRX_manifest_update\\DirectumRX.exe.manifest" -Name "DirectumRX" -Publisher "Directum Company" -UseManifestForTrust true -IconFile Sungero.ico -FromDirectory "C:\inetpub\wwwroot\DirectumRX_Client\3.3.8.15"
C:\DirectumRX_manifest_update\mage.exe -New Deployment -Version "3.3.5500.0" -ToFile "C:\DirectumRX_manifest_update\DirectumRX.application" -AppManifest "C:\DirectumRX_manifest_update\\DirectumRX.exe.manifest" -AppCodeBase "DirectumRX_Client\3.3.8.15\DirectumRX.exe.manifest" -Publisher "Directum Company" -UseManifestForTrust true -Name "DirectumRX" -ProviderURL "http://Test.ru/DirectumRX.application" -Install true
C:\DirectumRX_manifest_update\mage.exe -Update "C:\DirectumRX_manifest_update\DirectumRX.application" -mv "3.3.5500.0" -Publisher "Directum Company" -UseManifestForTrust true
После сборки копируем новый DirectumRX.application в C:\inetpub\wwwroot\, а DirectumRX.exe.manifest в C:\inetpub\wwwroot\DirectumRX_Client\Ваша версия клиента\
Profit !!!
P.S. Для тех, кому ближе cmd консоль:
1) Запускаем cmd от имени Администратора
2) Построчно выполняем команды, заменив пути с C:\DirectumRX_manifest_update на пути из C:\inetpub\wwwroot:
C:\Program Files\Directum Company\DirectumRX\Utilities\ConfigurationTool\mage.exe -New Application -Version "3.3.5500.0" -ToFile "C:\inetpub\wwwroot\DirectumRX_Client\3.3.8.15\DirectumRX.exe.manifest" -Name "DirectumRX" -Publisher "Directum Company" -UseManifestForTrust true -IconFile Sungero.ico -FromDirectory "C:\inetpub\wwwroot\DirectumRX_Client\3.3.8.15"
C:\Program Files\Directum Company\DirectumRX\Utilities\ConfigurationTool\mage.exe -New Deployment -Version "3.3.5500.0" -ToFile "C:\inetpub\wwwroot\DirectumRX.application" -AppManifest "C:\inetpub\wwwroot\DirectumRX_Client\3.3.8.15\DirectumRX.exe.manifest" -AppCodeBase "DirectumRX_Client\3.3.8.15\DirectumRX.exe.manifest" -Publisher "Directum Company" -UseManifestForTrust true -Name "DirectumRX" -ProviderURL "http://Test.Ru/DirectumRX.application" -Install true
C:\Program Files\Directum Company\DirectumRX\Utilities\ConfigurationTool\mage.exe -Update "C:\inetpub\wwwroot\DirectumRX.application" -mv "3.3.5500.0" -Publisher "Directum Company" -UseManifestForTrust true
P.P.S. Ссылка для документацию от Microsoft: Mage.exe (средство создания и редактирования манифеста)
P.P.P.S. Наткнулся тут на интересную статью Clickonce приложение. Создание с нуля используя утилиту mage.exe. Оставлю тут, т.к. статья вполне себе полезная и интересная.
Разве это не умеет делать конфигуратор?
Есть еще небольшое уточнение по поводу использования mage:
после создания манифеста приложения через mage.exe -New Application необходимо выполнить обновление манифеста, чтобы корректно означилось имя приложения, т.к. при создании манифеста к нему может добавиться ‘.exe’ в конец имени.
Mage.exe -Update “C:\DirectumRX_manifest_update\DirectumRX.exe.manifest” -Version <…> -FromDirectory <…> -Name DirectumRX
Также после обновления манифестов их необходимо подписывать через mage.exe -Sign ...
Александр,
Частично умеет, только Вот там нет функционала для смены домена и чтобы это провернуть нужно хорошо побить в бубен, либо я чего-то не знаю ))).
Руками как мне кажется проще и быстрее.
И да и нет.
Добавить можно, хуже не будет, но как показала практика, проблем с этим ни разу не было.
Согласен, если стоит зада выпустить подписанную сборку, то нужно использовать -Sign.
Оставлю это тут: Средство создания и редактирования манифеста
Вдруг кому пригодиться, у Microsoft есть неплохая документация на русском по использованию mage.
Привет. Проверяли кейс когда меняем домен в C:\inetpub\wwwroot\DirectumRX_Client\Ваша версия RX\_ConfigSettings.xml - публикуем во внешку веб-версию через любой прокси (Haproxy/IIS_ARR). Работает ли вход в систему?
Месяц назад тестировал публикацию системы установленной на тестовый стенд под localhost именем. Проксировал веб-версию через Haproxy. Интерфейс системы во внешке открывается. При вводе логина и пароля крутится круг интерфейса бесконечно)
Авторизуйтесь, чтобы написать комментарий