Переменные
Одной из наиболее полезных особенностей SMS Installer является возможность автоматического использования переменных для обозначения типовых каталогов. Например, в процессе создания установочного пакета для компьютера с операционной системой Windows 9x, файлы которой размещены в каталоге C:\Windows\ System, SMS Installer заменит все ссылки на эту папку переменной SYS. Установщик достаточно "интеллектуален" - если установить данный пакет на компьютер с операционной системой Windows NT, файлы будут скопированы туда, куда нужно - в каталог \Winnt\System32. Точно так же установочный пакет может помещать значки в профиль занимающегося установкой пользователя, а не копировать их в какой-то общий каталог.
Те, кто разбирается в вопросах редактирования реестра, могут с помощью этой методики сделать свои пакеты более надежными. Предположим, требуется установить встраиваемую библиотеку для пользователей Microsoft Internet Explorer (IE). Конечно, мастер способен создать установочный пакет, который скопирует библиотеку в каталог Program Files\ Internet Explorer\Plugins. Этот пакет будет работать в большинстве случаев, однако если IE установлен, например, в каталоге D:\IE4 или C:\Program Files\Plus!\Microsoft Internet, то запустить пакет не удастся.
ЭКРАН 2. Определение месторасположения Internet Explorer.
Чтобы DLL случайно не был установлен не в тот каталог, можно, как показано на Экране 2, выяснить имя каталога IE с помощью команды Get Registry Key Value, которая скопирует его из соответствующего ключа реестра в заданную переменную.
ЭКРАН 3. Задание пути для копирования файлов с помощью переменной IEPATH.
Имя этой переменной, например IEPATH, можно использовать в ходе установки файлов (см. Экран 3). Путь к каталогу IE указан в одном из параметров раздела реестра HKEY_LOCAL_MACHINE\SOFTWARE \Microsoft\IE Setup\Setup (см. Экран 2). Скопировав значение этого параметра в переменную IEPATH, можно воспользоваться командой копирования файла библиотеки в каталог %IEPATH%\ Plugins. Такой подход гарантирует, что установочный пакет будет работать у всех пользователей независимо от того, где на их компьютерах установлен Internet Explorer.
Возможно, потребуется некоторое время на исследование реестра в поисках нужной информации (например, имени каталога IE). Кроме того, придется протестировать работу сценария с различными конфигурациями, чтобы убедиться в правильности адресации параметров реестра. Например, если на компьютере установлена версия IE 3.0, запись о каталоге установки в реестре отсутствует. Поэтому предыдущий сценарий годится лишь для пользователей четвертой и последующих версий IE.