Today my team had to install SQL Server 2008 client tools on an instance running SQL Server 2005. Since this instance hosted one of the critical databases of the client, everyone hoped that nothing should go wrong. It was not the case to be. Yet again Murphy’s Law was in action.
While trying to install the SQL Server 2008 Native Client, it would prompt the error that it setup is unable to find sqlncli_x64.msi file.
The reaction to this error is to look for the sqlncli_x64.msi file in the SQL Server install media which was copied to one of the local drives. It was not there. SQL Server 2008 has sqlncli.msi in it no sqlncli_x64.msi. Hence the DBA had no choice but to hit cancel. After hitting the cancel button, setup would fail stating that the installation of the Client Components had failed.
Setup’s Detail.txt log file had this information.
MSI Error: 1706 An installation package for the product Microsoft SQL Server 2008 Native Client cannot be found. Try the installation again using a valid copy of the installation package 'sqlncli_x64.msi'.
Since it was asking for the file which did not exist, we tried to outsmart SQL Server. SQL Server 2005 uses a file with this name to install SQL Server Native Client not SQL Server 2008 setup. Since the setup was looking for sqlncli_x64.msi, we made a copy of the sqlncli.msi and renamed it as sqlncli_x64.msi.
Even renaming the file did not had any effect on it. Setup would continue to look for that file until we hit the cancel button. Now it had to be more than just a missing file. The next place to look for was the Add/Remove Programs applet in Control Panel. Surprise! Some of the components of SQL Server 2008 were already listed there.
Then a little journey down the memory lane, made us recollect that our team had tried installing the same last week and had to cancel it because the Server required a reboot. Since this is a tightly controlled environment, a Change Control to the System Admin team is required to do it. Because of all this, that attempt was cancelled. But what the DBA at that time forgot was that he had to uninstall whatever he had installed, if the Change Control was to be rolled back.
Alright. Now its time to clean up the mess. Since the last install of Native Client Tools was not properly done, it was kind of a half-baked installation. During the new setup it was looking for a .msi file of SQL Server 2005. The resolution was simple. Uninstall all the components of SQL Server 2008 and then try to install the Client Components. Luckily we were able to uninstall it without any issues. Then tried the installation again, no error and all the components got installed successfully.