При создании корректного инсталляционного пакета приходится задумываться о его деинсталляции, удаления из системы. Обычно в системе существует стандартная утилита удаления установленных программ, находящаяся в панели управления. Для того, чтобы зарегистрировать в её списке своё приложение, необходимо добавить в реестр новый ключ с необходимыми параметрами, а также создать функцию удаления пакета из системы. Логично будет создать в INF-скрипте новую выполняемую секцию, выполняющую это действие и скопировать при инсталляции сам скрипт в систему. Место размещения ключа деинсталляции программы Program_Name в реестре: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\Program_Name Ниже представлено описание параметров типового ключа удаления программы:
Название | Тип строки | INF-cтрока записи в реестр | Описание |
Поддерживается MS Windows 95, 98, NT и выше: | |||
DisplayName | REG_SZ | HKLM,"%Key%","DisplayName",,"Program_Name" | Имя программы, отображаемое в утилите деинсталляции |
UninstallString | REG_SZ | HKLM,"%Key%","UninstallString",,"rundll32.exe advpack,LaunchINFSectionEx C:\Windows\Inf\program.inf,Uninstall,,64,A" | Строка, выполняемая при деинсталляции пакета |
DsiplayIcon | REG_SZ | HKLM,"%Key%","DsiplayIcon",,"C:\program.exe,0" | Отображение ICO-пиктограммы, указывается путь к файлу с пиктограммой и её номер в списке существующих, начинащемся с нуля |
Поддерживается MS Windows 2000 и выше: | |||
DisplayVersion | REG_SZ | HKLM,"%Key%","DisplayVersion",,"10.241.8.44" | Версия программы |
HelpLink | REG_SZ | HKLM,"%Key%","HelpLink",,"http://company.com/support.php" | URL технической поддержки программы |
ModifyPath | REG_SZ | HKLM,"%Key%","ModifyPath",,"rundll32.exe params" | Команда, выполняемая при нажатии кнопки "Заменить" |
EstimatedSize | REG_DWORD | HKLM,"%Key%","EstimatedSize",0x10001,"1024" | Размер установленной программы в Кбайтах |
NoRemove | REG_DWORD | HKLM,"%Key%","NoRemove",0x10001,"0" | Флаги блокировки удаления, обновления или восстановления установленной программы. Полезно для разного рода хотфиксов и апдейтов. |
NoModify | REG_DWORD | HKLM,"%Key%","NoModify",0x10001,"0" | |
NoRepair | REG_DWORD | HKLM,"%Key%","NoRepair",0x10001,"0" | |
[strings] Key="Software\Microsoft\Windows\CurrentVersion\Uninstall\Program_Name" |