ich bauen einen Installer mit Install 2016.Install VBscribt Exitcode nicht deinstallieren Abbruchs
ich ein VB-Skript (in einer benutzerdefinierten Aktion ausgeführt wird), der überprüft, ob eine Datenbank leer ist, und wenn es ist, kann die Deinstallation nehmen setzt.
Die Einstellungen der benutzerdefinierten Aktion sind:
- Return Verarbeitung: Synchrone (Exit-Code überprüfen)
- In-Skript Ausführung: Sofortige Ausführung
- Scheduling Execution: Immer Ausführen
- Exec installieren Sequenz: Nach InstallValidate
- Install Exec Bedingung: REMOVE = "ALL"
Die benutzerdefinierte Aktion mit dem Skript ausgeführt wird und das Meldungsfeld angezeigt wird, aber das Installationsprogramm ignoriert den Exit-Code = 3.
Der VB-Skript:
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
Vielen Dank im Voraus.
Sie haben Ihre Auswahl [Fehlercode ignorieren] (http://helpnet.flexerasoftware.com/isxhelp22/helplibrary/CA_Settings-VBS.htm#ref-views_2820697808_1095910) nicht erwähnt. Also ist es wahrscheinlich falsch. –
Diese Option befindet sich normalerweise in der "Rücksprungverarbeitung". Jetzt ist es auf "Synchron (Exit-Code prüfen) gesetzt. Die andere Option ist" Synchron (Exit-Code ignorieren). –