IT → Определение установлена ли программа на VBScript

Дек 25, 2011


При развертывании программ, системному администратору довольно часто требуется проверить наличие уже установленного приложения на компьютере пользователя. Лучшим способом проверить, установлена программа или нет, является просмотр его значений в системном реестре.

Операционная система хранит всю информацию об установленных программах в следующих ветках реестра.

Для 32-х битных версий:

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall

Для 64-х битных версий:

HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall


Это именно та информация, которая обычно выводится в списке "Установка и удаление программ". Для того, чтобы наиболее точно определить наличие приложения на компьютере, необходимо проверять сразу две ветки. Если запись о программе есть хотя бы в одной, то это значит что программа установлена.

Следующая функция, написанная на VBScript, проверяет наличие установленной программы на компьютере пользователя. Однако такую проверку можно осуществить используя другие языки программирования, в которых есть возможность обращаться к реестру.

Листинг 1. Функция проверки установленного приложения.

Function CheckInstall(Name)
    On Error Resume Next
    Set WshShell = CreateObject("WScript.Shell")

    ' Поиск 32-х битной версии приложения
    Err.Clear
    WshShell.RegRead("HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\" & Name & "\")
    If Err.Number <> 0 Then
        InstalledOn32 = False
    Else
        InstalledOn32 = True
    End If

    ' Поиск 64-х битной версии приложения
    Err.Clear
    WshShell.RegRead("HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\" & Name & "\")
    If Err.Number <> 0 Then
        InstalledOn64 = False
    Else
        InstalledOn64 = True
    End If

    ' Проверка наличия любой версии приложения
    If InstalledOn32 or InstalledOn64 Then
        CheckInstall = True
    Else
        CheckInstall = False
    End If
End Function

Многие системные администраторы, для получения списка установленных программ, используют WMI. Однако, в данном случае использовать WMI крайне не рекомендуется. Дело в том, что через неё можно проверить только те программы, которые были установлены через пакетные файлы .msi. Соответственно, те приложения которые были установлены через .exe, не будут учтены.

Приобретая солидный кухонный гарнитур, нужно учитывать множество нюансов. Один из которых - качество мойки. Как бы хорошо не выглядел гарнитур, а дешевая мойка может испортить всю красоту. Если решились покупать красивые вещи, то уж не стоит экономить на раковине. Любая кухня, в которой есть раковина мойки из искусственного камня, будет выглядеть на миллион. Мало того, что они имеют прекрасный вид, но и также обладают достаточным запасом прочности и долговечности.

Post to Twitter

Похожие статьи:

  1. Существует ли раздел в реестре на VBScript

Нет комментариев

Ваш комментарий

Rambler's Top100 Яндекс.Метрика