Как прервать установку InstallShield в зависимости от результата пользовательского действия vbscript? - PullRequest
3 голосов
/ 02 декабря 2008

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

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

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

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

Ответы [ 2 ]

3 голосов
/ 02 декабря 2008

Если вы выполните поиск по 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

Удачи.

0 голосов
/ 02 декабря 2008

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

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

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

...