четверг, 13 июня 2013 г.

"АВК 5 Созидатель" и Windows 7

  Клиент пытается обновить программу АВК-5 Созидатель. Это нечто для расчета строительных смет. Запускает EXE-шник с обновлением до версии АВК5 2.12.1. Тот завершается с ошибкой. Разговоры с производителем по телефону не помогли. Клиент вызвал меня. Я опять, как Брюс Уиллис , должен был всех спасти.
  Признаюсь, что частично эта статья писалась по памяти. Но SDB-файл и скриншоты из нее подлинные

Я создаю еще одну проблему

  Система Windows 7 32-бита. Запускаю EXE-шник с обновлением. Ошибка. Запускаю его от имени администратора. Ошибка.
  Есть вариант еще запустить программу и в ней указать EXE-шник с обновлением. Сделал так. Та же ошибка. Запустил программу от имени администратора. Она говорит, что ее запустили на новом ПК и требует регистрации. Запускаю с обычными правами. И тут требует регистрации. В результате моих экспериментов программа отказалась работать и требует новой регистрации. Была одна проблема. И я сам себе сделал вторую.
  При первом запуске АВК проверяет конфигурацию компьютера. На основе ее выдает некий код, который надо отослать разработчикам. И они присылают ответный код. И эту процедуру надо теперь проделать. Причем так, чтобы программа еще и обновилась.
  Смотрю системные требования программы. Они очень скромные. Правда удивило требование добавить папку программы в исключения антивируса. Это чего же программисты там написали? EMAIL от авторов программы показал еще требование - отключить "Контроль учетных записей", он же "User Access Control", он же UAC. Это тот вертикальный полозок в панели управления, который большинство настройщиков сразу опускают в нижнее положение - отключают. В отличие от них я считаю UAC мега полезной вещью которая сильно повышает стабильность Windows о чем уже и писал в статье про UAC. Отключать его полностью я никак не собирался. Тем более что на компьютере уже стояла программа, которая при манипуляциях с UAC-ом слетает. Надо было отключить контроль учетных записей именно для АВК.

На сцену вступает "Пакет совместимости приложений"

  Я надеялся на помощь "Пакета совместимости приложений", Application Compatibility Toolkit, ACT о котором уже писалось в статье о средствах совместимости приложений в Windows. Там же сказано где его скачать. С его помощью Windows 7 может работать с программой отключив часть своих новомодных функций.
  Идея состояла в том, что запускать инсталлятор программы АВК и потом саму программу АВК в стиле совместимости с Windows XP. Попутно придётся ее зарегистрировать.
  Так как принципы работы с Пакетом совместимости приложений я уже расписывал в статье о Средствах совместимости программ в Windows 7 и 8, то здесь подробно касаться этого не буду.

Создание исправлений

  Здесь выложен SDB-файл с исправлениями которые будут дальше фигурировать.
  Запускаю "Compatibility Administrator (32-bit)". Создаю в нем исправление (Application Fix) для инсталлятора программы АВК как показано на следующем скриншоте.

  По скриншоту видно что я создал исправление "AVK setup" (в левой части окна. Вообще то оно еще и выбрано сейчас, но на скриншоте надо присматриваться). В правой части видно что указал для него режим совместимости с Windows XP SP3 и два приложения к которым это исправление будет применяться Autorun.exe и avksetup5_2120.exe. Это все приложения, которые оказались на компакте с инсталяшкой АВК. Перед тем как эти исправления будут применены в операционной системе не забывайте применить команду "Install".
  Запустил инсталяшку нашей АВК. Установил, зарегистрировал. Теперь перед первым запуском приложения надо с помощью "Compatibility Administrator (32-bit)" добавить исправление и для него. Что проиллюстрирует скриншот.




   
  Создал исправление "AVK_2120" (слева едва видно что он выбран). Тот же режим совместимости Windows XP SP3. И справа видно что я добавил приложения AVK.exe, InpOIBD.exe и update_2120_2121.exe. Последнее есть то обновление до новой версии ради которого все и начиналось. А AVK.exe и InpOIDB.exe это все приложения, которые были в папках программы АВК. Нажимаю "Install", чтобы применить это исправление в системе. Запускаю приложение. Оно нормально стартует. Запускаю файл с обновлением. Он прекрасно завершает свою работу.
  Теперь, поскольку программа АВК была обновлена, то стоит создать исправление и для этой новой версии АВК. Дело в том, что это обновление создало рядом еще одну папку со своими приложениями и так как я не знал как эти папки между собой взаимодействуют, то решил сделать этот шаг. Что видно по скриншоте
 
  Это исправление AVK_2121 на вид то же самое, что и предыдущее. Только отсутствует приложение update_2120_2121.exe. Просто приложения AVK.exe и InpOIDB.exe лежали в другой папке и я решил что стоит сделать для них новое исправление.
  Проверка показала, что новый АВК прекрасно работает.
  Статья показалась мне довольно заумной но вдруг кому-то поможет.