One of my recent interaction with a client was to assist in performing Upgrade the SQL Server 2008 R2 with service pack 2. As usual, I asked for setup logs from C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Log\ folder. There were multiple folders so I asked the one which corresponds to the time of failure. Let us see exposure how we can solve error Error: 0x80070422.
Here is what I saw in Summary.txt
Overall summary:
Final result: The patch installer has failed to update the following instance: MSSQLSERVER. To determine the reason for failure, review the log files.
Exit code (Decimal): -2068052415
Exit facility code: 1212
Exit error code: 1601
Exit message: The patch installer has failed to update the following instance: MSSQLSERVER. To determine the reason for failure, review the log files.
Start time: 2016-03-22 02:17:22
End time: 2016-03-22 02:43:58
Requested action: Patch
Instance MSSQLSERVER overall summary:
Final result: The patch installer has failed to update the shared features. To determine the reason for failure, review the log files.
Exit code (Decimal): -2068052415
Exit facility code: 1212
Exit error code: 1601
Exit message: The patch installer has failed to update the shared features. To determine the reason for failure, review the log files.
Start time: 2016-03-22 02:18:55
End time: 2016-03-22 02:43:50
Requested action: Patch
Log with failure: C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Log\20160322_021722\MSSQLSERVER\SQLSysClrTypes_Cpu64_1.log
I searched for 1212 and 1601 error via command NET HELPMSG
First message doesn’t make much sense. Second one talks about the problem with Windows Installer Service.
Then, as suggested by the Summary.txt file above, we looked into SQLSysClrTypes_Cpu64_1.log file.
=== Verbose logging started: 5/3/2015 2:37:46 Build type: SHIP UNICODE 5.00.7601.00 Calling process: c:\ff4673502d0424ff40029a6a4f4e6b60\x64\setup100.exe ===
MSI (c) (54:48) [02:37:46:962]: Resetting cached policy values
MSI (c) (54:48) [02:37:46:962]: Machine policy value ‘Debug’ is 0
MSI (c) (54:48) [02:37:46:962]: ******* RunEngine:
******* Product: {4701DEDE-1888-49E0-BAE5-857875924CA2}
******* Action:
******* CommandLine: **********
MSI (c) (54:48) [02:37:46:962]: Client-side and UI is none or basic: Running entire install on the server.
MSI (c) (54:48) [02:37:46:962]: Grabbed execution mutex.
MSI (c) (54:48) [02:37:46:962]: Failed to connect to server. Error: 0x80070422
MSI (c) (54:48) [02:37:46:962]: Failed to connect to server.
MSI (c) (54:48) [02:37:46:962]: MainEngineThread is returning 1601
=== Verbose logging stopped: 5/3/2015 2:37:46 ===
The error code, here is 0x80070422 which means ERROR_SERVICE_DISABLED.
Message Text: The service cannot be started, either because it is disabled or because it has no enabled devices associated with it.
This didn’t tell us which service its talking about. But if we combine all messages so far, it sounds like “Windows Installer” service. When I asked them to check services.msc, we could see that the Windows Installer service was in DISABLED state. Now error message makes perfect sense, although not so easy to crack.
Solution: We enabled “Windows Installer” service and tried to upgrade and it was successful.
Have you ever come across such an installation issue? Please comment and let me know.
Reference: Pinal Dave (https://blog.sqlauthority.com)