Ну...Давайте разберём вместе, раз вам мой пример мало чего дал
Для того, чтобы нажать на кнопку - нужно сначала узнать её дескриптор
Если вы хотите нажать на кнопку внешнего инсталлятора, то сначала вам необходимо найти дескриптор окна инсталлятора, чтобы потом получить дескриптор кнопки
Можете добавить проверку наличия окна командой
IsWindow
Если вам необходимо нажать на кнопку в своём инсталляторе, то можно не использовать вышеупомянутые 2 команды (поиск и проверка наличия окна), а сразу перейти к получения дискриптора кнопки
вот так
Код:
GetDlgItem $1 $HWNDPARENT 1
При исполнении команды
GetDlgItem, мы помещаем в переменную
$1 дескриптор элемента у которого идентификатор
1 (смотрите ID элементов непосредственно через программы просмотров ресурсов, такие как ResHacker и Restorator)
Переменная
$HWNDPARENT - это дескриптор окна вашего пакета инсталлятора, если вы определяете дескриптор окна внешнего инсталлятора с использованием команды
FindWindow, то замените
$HWNDPARENT переменной
$0
В нашем случае идентификатор под номером
1 в команде
GetDlgItem - это кнопка
Далее в диалогах NSIS
Вот и всё, после того как узнали дескриптор кнопки, эмулируем нажатие посылкой Win сообщения
вот так
Код:
SendMessage $1 ${BM_CLICK} 0 0
-------
Поисковик
Google ещё никто не отменял
Попробуйте запустить программу от имени администратора, может UAC балуется?