Windows Installer. как проверить существование ключа реестра

Ответить

Код подтверждения
Введите код в точности так, как вы его видите. Регистр символов не имеет значения.

BBCode ВКЛЮЧЁН
[img] ВКЛЮЧЁН
[url] ВКЛЮЧЁН
Смайлики ОТКЛЮЧЕНЫ

Обзор темы
   

Развернуть Обзор темы: Windows Installer. как проверить существование ключа реестра

Re: Windows Installer. как проверить существование ключа реестра

Tanatos » 01 авг 2007, 00:56

По поводу
&quot писал(а):... как можно проверить существование ключа реестра?...
я только недавно всерьез начал изучать программирование. Начал с KiXtart - скриптового языка. так вот там есть функция:
KeyExist( )

Action: Checks for the existence of a registry subkey.

Syntax: KEYEXIST ("subkey")

Parameters: Subkey - Identifies the subkey you want to locate.

Returns: 1 Subkey found
0 Subkey not found
Надеюсь перевод не особо нужен? ;) скрипт займет строчек пять кода.
Впрочем, полагаю, практически в любом серьезном языке есть функции, позволяющие проверить наличие ключа реестра.

Eugie » 30 янв 2006, 14:56

Redcat » 30 янв 2006, 13:52

Да, но я создаю Setup в MS Visual Studio Setup Project. Там негде кодировать, все настраивается с помощью свойств. Я не знаю как это выполнить

BBB » 30 янв 2006, 10:30

Redcat, Думаю, если нужная тебе переменная реестра не существует, то функция чтения переменной реестра вернет ошибку:

LONG RegQueryValueEx(
HKEY hKey, // handle to key
LPCTSTR lpValueName, // value name
LPDWORD lpReserved, // reserved
LPDWORD lpType, // type buffer
LPBYTE lpData, // data buffer
LPDWORD lpcbData // size of data buffer
);

Return Values
If the function succeeds, the return value is ERROR_SUCCESS.

If the function fails, the return value is a nonzero error code defined in Winerror.h.

Windows Installer. как проверить существование ключа реестра

Redcat » 30 янв 2006, 09:27

Здравствуйте. Не подскажете, как можно проверить существование ключа реестра? Само значение ключа не важно.
Необходимо для Launch Condition в WindowsInstaller.

Как проверяется наличие файла на диске мне известно, но там сразу - условие существования (FILEEXISTS), а при добавления условия проверки на ключ реестра, в свойствах условия добавляется ещё и поле значения ключа. Оно нафиг мне не нужно, так как значение ключа, если он и существует, мне не известно. Нужно знать только сам факт существования. Потому, что если он существует, я знаю, что в системе есть определенная переменная среды, и я пользуюсь её значением для определения каталога установки по-умолчанию.

А вообще, вся каша заварилась для того, чтобы устанавливать файлы в директорию, путь к которой храниться в переменной среды. Но может сложиться так, что при установке этой переменной может еще и не быть в системе. Тогда мне надо прервать установку. Как решить проблему?

Вернуться к началу