На этом шаге мы рассмотрим доступ к переменной окружения PATH.
Программа установки хранит всю необходимую информацию о приложении в реестре. Все пользовательские данные нужно записывать в раздел HKEY_CURRENT_ USER\SOFTWARE. В предыдущих версиях Windows такая информация хранилась в файле Win.ini. Данные приложения записывайте в раздел реестра HKEY_LOCAL_MACHINE\SOFTWARE, применяя следующий формат:
HKEY_LOCAL_MACHINE\SOFTWARE\имя_компании\имя_ продукта\версия
Каждое запущенное приложение использует свою переменную окружения PATH, в которой хранятся пути к различным каталогам. Операционная система ищет в них файлы, требующиеся приложению. Обычно Windows начинает поиск необходимых программе модулей с системных папок. Но так как приложения устанавливаются в разные каталоги, то путь к их компонентам должен быть указан в переменной PATH, уникальной для данного приложения.
Например, рассмотрим программу из папки МуАрр, которая использует библиотеку, находящуюся в папке MyDLL. При нормальной компоновке, когда для загрузки динамически подключаемой библиотеки не применяется функция LoadLibrary(), приложение не запустится, если в переменной PATH не указан путь к. нужной DLL. Операционная система будет искать ее только в системных папках и папках из переменной PATH, и если не найдет, то не запустит программу. Поэтому для корректной работы приложения программа установки должна включить папку MyDLL в переменную PATH.
Чтобы зарегистрировать переменную PATH, программе установки необходимо записать всю нужную информацию в раздел HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths. Такую же строку содержит текстовый макрос REGSTR_PATH_APPPATHS из файла Regstr.h. Обратите внимание на то, что имя последнего раздела - Арр Paths - состоит из двух слов.
Программа установки создает раздел, который называется точно так же, как и исполняемый файл приложения, и помещает в него параметр Path, где указан необходимый путь. Ниже показан пример данного раздела реестра для программы NewApp, хранящейся в папке My Арр.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ Арр Paths\NewApp.exe Default=D:\MyPrograms\MyApp\NewApp.exe Path=D:\MyPrograms\MyDLL; D:\MyPrograms\MyApp\Utilities
В параметре Default указан полный путь к исполняемому файлу. Операционная система обращается к нему, когда пользователь вводит название приложения в диалоговом окне Run (Выполнить). Windows находит это название в разделе Арр Paths и из его параметра Default получает полный путь к файлу.
Параметр реестра Path содержит переменную окружения PATH приложения NewApp, в которой и указан путь к папке MyDLL. При запуске программы NewApp операционная система ищет в папках из параметра Path нужные DLL. Включая каталог MyDLL в переменную PATH, программа установки гарантирует, что система всегда найдет требуемые для запуска приложения NewApp библиотеки.
На следующем шаге мы рассмотрим счетчики использования разделяемых модулей.