TL;DR: Follow these steps to fix the above error message:
- Uninstall Microsoft ODBC Driver 17 for SQL Server
- Restart the machine
Several weeks ago, I got stuck in a "reboot required" loop when trying to install SQL Server. Today, I finally got around to installing SQL Server Management Studio on that same machine. I received a different error message, but with the same root cause (and solution).
To help the search engines out, here's the text from the above error message:
Fatal error during installation (0x80070643)
Microsoft ODBC Driver 17 for SQL Server: A previous installation required a reboot of the machine for changes to take effect. To proceed, restart your computer and then run Setup again.
Just as before, restarting the computer as suggested in the error message was no use. The SSMS install kept failing with the same error message.
Will this fix work for you?
Open Apps & Features from the Windows 10 Settings app. Search for the text "SQL". If you have ODBC Driver 17 for SQL Server in your list of applications, there's a good chance this is the source of your problem.
There's obviously some sort of issue with the way the ODBC Driver 17 for SQL Server installs itself, because this is the second time a related installation has failed simply because this driver was already installed.
No need to re-install the ODBC driver
The SSMS 18.6 install includes the ODBC Driver 17 as part of its installation package, so after uninstalling the driver and installing SSMS, I did not have to go back and manually re-install the ODBC driver. Here are the before and after screenshots of my "SQL" Apps & Features.
One thing I did notice is that following the SSMS install, the ODBC Driver 17 version had increased from version 126.96.36.199 to 188.8.131.52. Perhaps that has something to do with the failed install?