Книга: Мир InterBase. Архитектура, администрирование и разработка приложений баз данных в InterBase/FireBird/Yaffil
Совместное использование gds32.dll, InterBase.msg и mscvrt.dll
Совместное использование gds32.dll, InterBase.msg и mscvrt.dll
Представьте ситуацию, когда на одном компьютере оказались два приложения, использующие клиент InterBase. Первое приложение успешно инсталлировалось, установив вместе с собой InterBase-клиента. Второе приложение в процессе установки обнаружило, что клиент InterBase, удовлетворяющий его, уже существует, и ничего не стало устанавливать. Затем первое приложение было удалено с компьютера с помощью автоматического установщика. Правила хорошего тона Windows требуют, чтобы удаляющееся приложение убирало за собой ненужные dll и другие вспомогательные файлы. Однако gds32.dll и остальные файлы все еще используется другим приложением! Чтобы предотвратить удаление еще нужного клиента InterBase, необходимо указать установщику, что библиотеки gds32.dll, msvcrt.dll и файл InterBase.msg используются еще одним приложением. Для этой цели служит специальный счетчик, хранящийся в реестре Windows. Вне зависимости от того, устанавливало ли приложение при своей установке какие-либо файлы dll или удовлетворилось существующими, необходимо при установке увеличить этот счетчик на единицу, а при удалении программного обеспечения - уменьшить. Когда значение счетчика примет значение О, то это будет сигналом, что данную библиотеку можно удалить. Вот ветка реестра, где располагаются счетчики для совместно используемых динамических библиотек:
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersion
SharedDLLs
При установке клиента InterBase необходимо в этой ветке реестра искать ключ типа DWORD с именем C:WlNDOWSSystem32gds32.dll, и если его не существует, то необходимо создать его (это означает, что установка производится в первый раз) и присвоить ему значение 1. Если такой ключ уже существует, то нужно увеличить его значение на единицу. Точно такую операцию надо проделать над ключами, содержащими ссылки на msvcrt.dll и InterBase.msg.
- Установка клиента под Windows
- Копирование файлов
- Совместное использование gds32.dll, InterBase.msg и mscvrt.dll
- Ключи в реестре для клиента InterBase
- Регистрация TCP/IP-сервиса при клиентской установке
- Установка InterBase-сервера на Windows
- Копирование файлов сервера
- Совместное использование файлов
- Ключи в реестре для сервера InterBase
- Регистрация ТСР/IР-сервиса
- Запуск InterBase-сервера
- Расширенная установка InterBase-сервера
- Пример установочного скрипта
- Совместное использование файлов
- Запуск InterBase-сервера
- Расширенная установка InterBase-сервера
- Резервное копирование базы данных InterBase
- Резервное копирование при работе InterBase в режиме 24x7
- Восстановление с использованием инструмента gbak
- Миграция между различными версиями InterBase
- Перевод базы данных InterBase 6.x на 3-й диалект
- Профилактика повреждений баз данных InterBase
- Восстановление "безнадежных" баз данных. InterBase Surgeon
- Статистика базы данных InterBase
- Статистика InterBase-сервера