Requirement
I wish to install SSMS 18.0 GA (https://docs.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-ssms?view=sql-server-2017), on Windows 10 but get error:
Uninstall Preview
Attempt to uninstall 18.0 preview via Add/Remove programs:
Uninstall fails with:
"The feature you are trying to use is on a network resource that is unavailable"
"Click OK to try again, or enter an alternate path to a folder containing the installation package 'vs2017_isoshell_for_ssms.msi' in the box below"
Use source C:\ProgramData\Package Cache{D620DE9C-8A83-4BA5-83A8-E709A4150A47}v15.0.27248.2015\redist\
vs2017_isoshell_for_ssms.msi does not exist on my machine.
Other fixes attempted
I attempted to remove via other means:
- I have run MicrosoftProgram_Install_and_Uninstall.meta.diagcab from https://support.microsoft.com/en-us/help/17588/windows-fix-problems-that-block-programs-being-installed-or-removed
And removed everything with SSMS or management studio in the name. After that, SSMS 18.0 preview still appears in add/remove programs and an uninstall gives the same error as above. - msiexec /x “{D620DE9C-8A83-4BA5-83A8-E709A4150A47}” brings up the same dialog so I cannot progress:
- Reinstall SSMS 18.0 Public Preview 6 works fine from https://go.microsoft.com/fwlink/?linkid=2052501
- Try and install SSMS 18 GA again and get a different error of:
- Remove SSMS 18 preview 6 via Add/Remove programs, and get the same error:
Question
How can I remove SSMS 18 preview? I don’t have vs2017_isoshell_for_ssms.msi, a web search for this file gives nothing and a re-install of the preview version does not provide it.
Best Answer
From the command line, I was able to uninstall a different 18.0 preview (I don't have 6 anywhere):
But I did not have the error about the shell msi, and I'm not sure if the CLSID changed, so I'm not sure that will work for you. (I'm not convinced the GUID in the dialog you're getting is the one you need for SSMS.)
Stolen shamelessly from my own blog post about uninstalling Evaluation Edition which fails if the product has expired.