Обновление не удалось – переставляем.

Понедельник начался с бесплодных поисков “зарытой собаки”, которые не увенчались успехом и пришлось деинсталлировать Money. Деинсталлятор недовольно фыркнул заявив, что программа давно удалена и снёс строку из списка программ к деинсталляции. А что всё таки произошло? А случилось то, что “накаченные” два обновления 30-ое и 32-ое отрапортовав, что всё в порядке всё таки что-то забыли сделать. И уже при появлении стартового окна Money было отчётливо видно, что не всё в порядке! В окне было заявление, что это версия 11.030! Вспомнил я что понедельник день необычный и попробовал снова поставить 32-ое обновление. Повторная попытка доустановить версию 32 закончилась подтверждением, что хоть день сегодня и необычный, но с памятью у меня все в порядке. Принял решение снести и поставить с чистого листа. Ну что-ж не привыкать. Деинсталлировать “Маню” прошлось руками. Взял и переименовал каталог пометив прямо в имени каталога, что удалить его можно после 28 февраля 2009 года.

Ставим с нуля.
Ставил уже в системе с чешской локалью, так что кракозябры в инсталляторе созерцать не пришлось. Если вы не читали предыдущую статью на эту тему то скажу, что инсталлятор не понимает локали отличные от чешской. Каталоги настроил правильно уже на этапе инсталляции. Данные отдельно от программ. Как выяснилось позже это была ошибка. Но я думал всё же надеялся на адекватность поведения хотя бы инсталлятора. Там есть кнопочка на расширенную настройку. Каталог был существующий, но фальшивый и пустой, чтобы не портить имеющиеся базы. Затем руками его поправил прямо в конфиге. Инсталлятор успешно порылся в реестре и обнаружил там пути к серверу лицензий, уж слишком быстро он это сделал, на сканирование сети ушло бы больше времени.
Принудительное изменение инсталлятором прав доступа к диску (ACL NTFS).
ACL приходится переставлять снова… Программа при запуске и работе по прежнему хочет модифицировать файлы:

C:\Program Files\CIGLER SOFTWARE\Money S3\MonS3.ini
C:\Program Files\CIGLER SOFTWARE\Money S3\POSCFG\Default.ini
C:\Program Files\CIGLER SOFTWARE\Common Files\POS.ini

поэтому пользователям нужно давать права на их изменение. В следующей статье я напишу, как избавиться от этого и в тоже время решить вопрос с разделением настроек программы между пользователями, и решить вопрос ошибки когда два пользователя одновременно пытаются записать один и тот же конфигурационынй файл.

Тормоза при старте программы.
После выпуска нового генератора лицензий программа стала жутко тормозить при старте. Если раньше она стартовала за время около 5-ти секунд, то сейчас она затрачивает 1 минуту 23 секунды. Конфигурация системы такая: терминальный сервер под Windows 2003 (Intel Core duo 2.13 Ghz, 4GB RAM, HDD 320 SATAII), и сервер лицензий под Windows 2003. Анализ показывает такую вот картину:

Загрузка CPU на сервере приложений и сервере лицензий
Загрузка CPU на сервере приложений и сервере лицензий

Из картинки видно полную загрузку одного ядра процессом MonS3.exe и совершенное бездействие процессора на сервере лицензий. Примечание: сервер лицензий удалённый и на картинке соединение с ним показано на заднем плане через Remote Desktop. На следующей картинке показана загрузка процессора в процессе инсталляции, в тот момент когда программа работает с ключём.

Загрузка одного ядра CPU приложением MonS3.exe
Загрузка одного ядра CPU приложением MonS3.exe

Поражает масштаб кощунства программистов компании Cigler Software, a.s. над обработкой ошибок. Чтобы не быть голословным приведу пример. Файл C:\Program FilesCIGLER SOFTWARE\Money S3\MonS3.ini содержит ссылку на временный каталог TMP в который “Маня” кладёт какие-то временные данные. Если при помощи NTFS ACL установить права таким образом чтобы пользователь, от имени которого будет запускаться программа, не мог туда писать ни каталоги на файлы, и запустив Money зайти, например, в Mzdy – Mzdy – Pridat, то даже простое закрытие этого окошка вызывает глухое зависание программы. Зацикливание, вместо того чтобы сообщить пользователю о невозможности создать этот каталог. Программа жестоко насилует диск пытаясь создать там каталог. В доказательство привожу скриншот.

Молчание ягнят. Money "пытает" файловую систему пытаясь продолбать каталог.
Молчание ягнят. Money "пытает" файловую систему желая продолбать каталог.

Это только частный пример, и таких ситуаций откровенно некорректного и неадекватного поведения программы довольно много.
Пояснения к картинке.
Несоответствие диска указанного в конфигурации и в логе FileMon объясняется просто. Z:\ это виртуальный диск созданный при помощи старого доброго subst z: c:\MonS3. Видно, что Money пытается создать каталог, но ей система возвращает ошибку, которую “Маня” игнорирует.

С торможением программы я так ничего и не решил и ничего не обнаружил. Последним шагом перед приходом техника из Cigler software было снести ещё раз всё. И сервер ключей и саму Money. Я остановил сервер, снёс как положего мани и сервер ключей. И начал ставить по новой, как пришёл техник. Собственно под его наблюдением я поставил Money. В том месте где я начал менять настройки путей к базе он меня остановил и сказал ничего там не трогать! Я засомневался что верно понял его и несколько раз переспросил на что получил утвердительный ответ,  и пояснение, иначе могут быть глюки! Вот где собака порылась, смекнул я и поставил всё по умолчанию. После завершения процесса инсталляции запустил Money и увидел что действительно, скорость загрузки и поиска ключа выросла. Окошко поиска ключа которое до этого висело секунд 30, теперь мелькало так что глазом его небыло видно. И что интересно программа сама нашла лицензии и не требовала активации. Ладно, говорю, давай посмотрим что “Маня” запоёт когда увидет каталог с базами с более чем 250 фирм. Ещё раз но сейчас уже под надзором техника настроил каталоги в MonS3.ini. Но Money побежала и с 250-тью агендами. —JOoo!, говорю, давайте кастрировать ACL NTFS и проверять, что она скажет пользователю. Он недоверчиво и с интересом смотрит на это. Запускаю – знакомая ошибка. Иду правлю права на три волшебных файла и каталог. Запускаю по новой, всё бежит как и бегало раньше…

Что ещё выяснилось у техника. Ошибка по активации сервера лицензий (привязки к оборудованию) возникает потому, что лицензия записана занятой на сервере активаций компании CIGLER SOFTWARE, a.s. И чтобы её освободить не обязательно каждый раз звонить на указанный в ошибке телефон. В меню мани есть пункт, который освобождает активацию.

money-activace1
Регистрация
Освобождение активации
Освобождение активации

А до меня только сейчас дошло! Как добраться в меню если из-за ошибки активации, которая описана здесь, Money отказывается запускаться! Так что бывают случаи когда нужно звонить. При звонке нужно назвать: Название компании и IC.

Остальные вопросы по настройке мани остались без ответов. Решать буду по старинке, средствами файловой системы заламывать руки.

Вот так.

Leave a Reply