Пропустить установку определенных действий на основе условий

Я совершенно новичок в установщике Windows, поэтому, пожалуйста, будьте осторожны!

Я хочу, чтобы некоторые драйверы были установлены, когда мои клиенты устанавливают мою программу. Однако, если драйверы уже установлены, я хочу, чтобы программа установки пропустила этот определенный шаг и продолжила установку моей программы.

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

Есть какие-нибудь подсказки?

Заранее спасибо!

1 ответ

Условие запуска останавливает установку, если условие не выполняется. Это не решение для того, что вам нужно.

Вы можете попытаться определить, установлен ли драйвер, с помощью поиска: http://msdn.microsoft.com/en-us/library/aa367579(VS.85).aspx

Вы также можете использовать немедленное настраиваемое действие, которое выполняет этот поиск и устанавливает свойство установщика на основе результатов поиска. Это настраиваемое действие требует написанного вами кода. Это может быть Win32 DLL:

http://msdn.microsoft.com/en-us/library/aa368338(VS.85).aspx

http://msdn.microsoft.com/en-us/library/aa367457(VS.85).aspx

http://www.advancedinstaller.com/user-guide/serial-number-validation-dll.html (пример C++ DLL)

или VBScript: http://msdn.microsoft.com/en-us/library/sx7b3k7y(VS.85).aspx

Таким образом, вы можете использовать пользовательское свойство, чтобы обуславливать свои действия. Например, если свойство пустое, драйвер должен быть установлен. Таким образом, ваше пользовательское действие может использовать условие:

NOT MY_CUSTOM_PROPERTY

где "MY_CUSTOM_PROPERTY" - это свойство, которое вы устанавливаете на основе поиска.

Другие вопросы по тегам