У меня есть построить инсталлятор с помощью InstallShield 2016 годаInstallshield VBscribt ExitCode не прерывание деинсталляции
У меня есть VB скрипт (работает в пользовательских действиях), который проверяет, является ли база данных пусты, и когда она, деинсталляция может принять мест.
Настройки пользовательского действия являются:
- Возврат Обработка: Синхронный (проверьте код выхода)
- В-сценарии исполнения: Немедленное выполнение
- Выполнение расписания: Всегда выполнять
- Установка Exec Последовательность: после InstallValidate
- Установить Exec Условие: УДАЛИТЬ = "ВСЕ"
Обычай действие со сценарием работает и поле Message отображается, но программа установки игнорирует ExitCode = 3.
В.Б. Сценарий:
Function CheckService()
On Error Resume Next
Set objConnection = CreateObject("ADODB.Connection")
DB_CONNECT_STRING = "Provider=SQLOLEDB.1;Data Source=localhost;Trusted_Connection=Yes;"
objConnection.Open DB_CONNECT_STRING
set rs = objConnection.Execute("SELECT COUNT(*) as cnt FROM master.dbo.sysdatabases WHERE name = 'MonitoringConfiguration'")
if not rs.EOF then
recordsCount = cint(rs("cnt"))
end if
objConnection.Close
if recordsCount = 0 then
CheckService = 1
Exit Function
end if
DB_CONNECT_STRING = "Provider=SQLOLEDB.1;Data Source=localhost;Initial Catalog=MonitoringConfiguration;Trusted_Connection=Yes;"
objConnection.Open DB_CONNECT_STRING
set rs = objConnection.Execute("SELECT COUNT(*) as cnt from ServerSettings")
if not rs.EOF then
recordsCount = cint(rs("cnt"))
end if
objConnection.Close
if recordsCount <> 0 then
x=MsgBox("There are still monitoring services deployed. Please remove them first before remvoing System Monitoring",0,"Unable to Uninstall application")
CheckService = 3
Exit Function
else
CheckService = 1
Exit Function
end if
End Function
Спасибо заранее.
Вы не указали свой [Игнорировать код ошибки] (http://helpnet.flexerasoftware.com/isxhelp22/helplibrary/CA_Settings-VBS.htm#ref-views_2820697808_1095910). Так что это, вероятно, неправильно. –
Этот параметр обычно используется в «Обратной обработке». Теперь он настроен на «Синхронный (Проверить код выхода). Другой вариант -« Синхронный (Игнорирует код выхода) ». –