
SQL 2008 Installation als Custom Action
Posted 03 August 2012 - 13:08
Ich versuche gerade eine Custom Action mit einem Skript einzurichten, welches den SQL 2008 Express R2 installiert.
Ich hatte genau diese Funktion schon mit SQL 2005 und auch SQL 2008 Express (ohne R2) am laufen. Leider hängt sich nun das SQL Setup auf, weil es darauf wartet, dass kein anderer Installer mehr läuft. Das heißt es bleibt wirklich stehen, wenn ich dann in diesem Moment per Task Manager alle msiexec.exe Prozesse beende, läuft er weiter.
Hat jemand eine Idee, wie ich mein Problem lösen kann?
Gruß Timo
Posted 05 August 2012 - 11:57
Stefan Krüger
InstallSite.org twitter facebook
Posted 06 August 2012 - 08:27
Als Prerequisite geht leider nicht, da der SQL Server nicht immer installiert werden soll, sondern je nach Option wird er installiert oder nicht. Ja geht nur als UI Sequenz,
war aber völlig ausreichend ist.
Hast du sonst noch eine Idee?
Posted 06 August 2012 - 09:50
Stefan Krüger
InstallSite.org twitter facebook
Posted 06 August 2012 - 10:20
Jetzt habe ich auch soweit alles eingestellt. Leider wartet das SQL Server Setup immer mit der Meldung: "Waiting for service 'msiserver' to accept the stop request." Genau das gleiche Problem habe ich auch, wenn ich das SQL R2 Setup über Installscript aufrufe.
Hast du hier schon Erfahrungen gemacht?
Posted 07 August 2012 - 15:57
Stefan Krüger
InstallSite.org twitter facebook
Posted 09 August 2012 - 11:02
Dieses Problem tritt auch nur bei der R2 Version auf, mit der ohne R2 funktioniert es ohne Probleme
Posted 13 August 2012 - 08:20
es ist eben die Frage wir das SQL Server Setup hier aufgebaut ist. Es hört sich ein wenig so an, als ob dieses Setup eine eigens gebaute Funktion hat, die prüft ob eine MSI-Prozess am laufen ist. Dies ist bei der UI Sequenz ja auch schon der Fall, daher vermute ich, das die Lösung mit dem Feature-Prerequisite nicht funktioniert. Mir würden hier auch nur 2 Lösungswege einfallen, entweder man modifiziert das SQL Setup so, das dieser eigenbau (evtl. eine CA) nicht ausgeführt wird, oder du müsstest evtl. ein eigenes Vorprogramm bauen (Früher gab es für sowas mal Demo-Shield) welches die beiden Setups nacheinander ausführt.
Edited by ali, 13 August 2012 - 08:20.
Posted 14 August 2012 - 09:36
Sowas habe ich mir auch schon überlegt, mich wundert nur, dass bis lang noch niemand einen SQL 2008 R2 als Prerequisites installiert hat.
Ich habe jetzt mal den SQL 2008 verwendet und soweit läuft ja alles. Allerdings möchte ich es schon noch mit dem R2 zu laufen bekommen.
Posted 27 August 2012 - 16:21
ich hab jetzt herausgefunden, dass dieses Problem nur mit SQL 2008 Express SP2 auftritt.
Hat jemand eine Idee oder den selben Fehler?
Gruß Timo
Posted 29 August 2012 - 09:44
hast du schon mal geschaut ob es evtl. Parameter gibt, die du der Setup.exe mitgeben kannst, damit da irgendwelche Prüfungen anders ablaufen bzw. unterdrückt werden?
Das Problem tritt ja auf, weil zum Zeitpunkt der Meldung ein MSI-Prozess die Execute Sequenz einer Installation durchläuft, so zumindest die Theorie. Du könntest jetzt mal das folgende tun, setze die Regeinträge unter:
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Installer]
"Logging" = "voicewarmup"
"Debug" = dword:00000007
so nun sollte für jede Installation über Windows Installer ein Log ins %TEMP% geschrieben werden. Jetzt könntest du mal schauen, welches Setup zum Zeitpunkt der Fehlermeldung im Weg steht, dein aufrufendes Setup sollte es ja nicht sein, da dieses sich zum Zeitpunkt wo die Fehlermeldung auftritt noch in der UI-Sequenz befindet.
Edited by ali, 29 August 2012 - 10:02.
Posted 29 August 2012 - 16:38
Im MSI Log stehen er bei:
MSI © (4C!48) [15:56:11:092]: Creating MSIHANDLE (737) of type 790531 for thread 5192
Aktion 15:56:11: Microsoft SQL Server 2008 R2 Express RTM (x86 & x64Wow) wird installiert. Microsoft SQL Server 2008 R2 Express RTM (x86 & x64Wow) wird installiert
MSI © (4C!48) [15:56:11:096]: Closing MSIHANDLE (737) of type 790531 for thread 5192
MSI © (4C!48) [15:56:11:098]: Creating MSIHANDLE (738) of type 790531 for thread 5192
MSI © (4C!48) [15:56:11:100]: Creating MSIHANDLE (739) of type 790531 for thread 5192
MSI © (4C!48) [15:56:11:100]: Closing MSIHANDLE (738) of type 790531 for thread 5192
MSI © (4C!48) [15:56:11:100]: Closing MSIHANDLE (739) of type 790531 for thread 5192
MSI © (4C!48) [15:56:11:101]: Creating MSIHANDLE (740) of type 790531 for thread 5192
MSI © (4C!48) [15:56:11:101]: Closing MSIHANDLE (740) of type 790531 for thread 5192
MSI © (4C!48) [15:56:11:101]: Creating MSIHANDLE (741) of type 790531 for thread 5192
im SQL Log steht folgendes:
2012-08-29 17:40:26 Slp: Sco: Returning service status Running
2012-08-29 17:40:31 Slp: Sco: Returning service status Running
2012-08-29 17:40:36 Slp: Sco: Returning service status Running
2012-08-29 17:40:41 Slp: Sco: Returning service status Running
2012-08-29 17:40:46 Slp: Sco: Returning service status Running
Also wartet er die ganze Zeit. Hast jemand eine Ahnung warum?
Edited by tleonhard, 29 August 2012 - 16:41.
Posted 02 September 2012 - 14:49
Stefan Krüger
InstallSite.org twitter facebook
Posted 10 September 2012 - 13:02
QUOTE (tleonhard @ 2012-08-29 16:38) |
Danke für deine Antwort. Im MSI Log stehen er bei: MSI © (4C!48) [15:56:11:092]: Creating MSIHANDLE (737) of type 790531 for thread 5192 Aktion 15:56:11: Microsoft SQL Server 2008 R2 Express RTM (x86 & x64Wow) wird installiert. Microsoft SQL Server 2008 R2 Express RTM (x86 & x64Wow) wird installiert MSI © (4C!48) [15:56:11:096]: Closing MSIHANDLE (737) of type 790531 for thread 5192 MSI © (4C!48) [15:56:11:098]: Creating MSIHANDLE (738) of type 790531 for thread 5192 MSI © (4C!48) [15:56:11:100]: Creating MSIHANDLE (739) of type 790531 for thread 5192 MSI © (4C!48) [15:56:11:100]: Closing MSIHANDLE (738) of type 790531 for thread 5192 MSI © (4C!48) [15:56:11:100]: Closing MSIHANDLE (739) of type 790531 for thread 5192 MSI © (4C!48) [15:56:11:101]: Creating MSIHANDLE (740) of type 790531 for thread 5192 MSI © (4C!48) [15:56:11:101]: Closing MSIHANDLE (740) of type 790531 for thread 5192 MSI © (4C!48) [15:56:11:101]: Creating MSIHANDLE (741) of type 790531 for thread 5192 im SQL Log steht folgendes: 2012-08-29 17:40:26 Slp: Sco: Returning service status Running 2012-08-29 17:40:31 Slp: Sco: Returning service status Running 2012-08-29 17:40:36 Slp: Sco: Returning service status Running 2012-08-29 17:40:41 Slp: Sco: Returning service status Running 2012-08-29 17:40:46 Slp: Sco: Returning service status Running Also wartet er die ganze Zeit. Hast jemand eine Ahnung warum? |
Genau das gleiche Problem habe ich auch bei der Installation von MSSQL 2008 R2 Express Service Pack 2.
Die RTM und SP1 Installation von MSSQL 2008 R2 Express funktionieren ohne Probleme, SP2 hängt aber an dieser Stelle und wartet auf den Dienst "Windows Installer", neustarten lässt sich dieser Dienst leider nicht, da diese Funktionen deaktiviert sind.
Als Workaround hab ich mir überlegt, die PID vom Prozess msiexec.exe mit dem exakten Parameter /V herauszusuchen und danach diesen Prozess zu killen, quasi den Dienst zum Neustart zu zwingen, aber das ist wirklich die hässlichste Lösung

Das lustige daran ist, dass die Service Pack 2 Installation in Englisch ohne Probleme durchläuft und nicht auf diesen Prozess wartet WTF!!!