Как я могу прервать установку InstallShield в зависимости от результата пользовательского действия vbscript?

Я создал пользовательское действие vbscript, которое проверяет некоторые ключи реестра и при необходимости изменяет их. Если ключ не может быть записан или что-то в этом роде, установка должна быть прервана.

Чтобы добиться этого, я установил свойство, которое пытался использовать в качестве условия для следующего шага в последовательности выполнения, но это не сработало.

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

Итак, вопрос: как я могу прервать установку в зависимости от того, что говорит мое пользовательское действие? Есть ли способ передать «запрос на отмену установки» установщику или что-то в этом роде?


person Marcus    schedule 02.12.2008    source источник


Ответы (2)


Если вы выполните поиск на http://community.installshield.com, вы найдете статью Роберта Дико под названием " Выход из установки MSI из пользовательского действия». Это по следующей ссылке:

http://community.installshield.com/showthread.php?p=418197

Вот фрагмент кода, который он использует в качестве примера:

Function ExitSetupFromVBS( )

Const IDABORT = 3

    ' ...do some work...

    ' abort the installation
    ExitSetupFromVBS = IDABORT

End Function

Удачи.

person Ken    schedule 02.12.2008
comment
Эта ссылка больше не работает, вот новая ссылка community.flexerasoftware.com/ - person barsh; 22.01.2014

Вам нужно вернуть 3 из вашей функции в случае неудачи и 0 или 1 в случае успеха.

Вот статья msdn на эту тему: http://msdn.microsoft.com/en-us/library/aa371254(VS.85).aspx

Убедитесь, что вы поместили свой скрипт в функцию.

person Web    schedule 02.12.2008