Hello,
We have a continuous integration system which does a nightly build and install of our Visual Studio 2017 addin (among other deliverables). This Windows system does only devenv.exe command line builds and uninstalls/reinstalls our VSIX package at least twice nightly.
These are the command lines we use to run our VSIX package uninstall and install, respectively:
start /wait "" "VSIXInstaller.exe" /q /a /u:"#########Ui2017_VSIX.7ed8b0bb-5bd2-4794-a052-e12982eab279"
start /wait "" "VSIXInstaller.exe" /q /a /skuName:Professional /skuVersion:15.0 "PATH_TO_VSIX_FILE\#########Ui2017.vsix" /instanceIds:e4c51c95
When these scripts are run by our build system, the VSIX install command returns error 2003 (VSIXInstaller.NoApplicableSKUsException). If I login to the build slave and run the Visual Studio 2017 IDE between the uninstall and the install, the VSIX package install is consistently successful. Similarly, if I run the Visual Studio 2017 IDE after getting the "2003" error, and then I run the above install command, it also succeeds.
Note that I can reproduce the problem without the build system running...just using its scripts (so the Jenkins environment isn't a factor): error 2003 will occur with an uninstall followed by an install if the Visual Studio 2017 IDE is not run between the uninstall and the install.
I reviewed the logs in %temp% and found a VSIXInstaller.exe log, below. It showed me that the uninstall of the prior version of the VSIX package was failing with RunFromEnginePathLocationException, causing the install of my latest VSIX package to fail with VSIXInstaller.NoApplicableSKUsException.
Researching that uninstall failure, I have found nothing on this forum, nor via Google, with Microsoft.VisualStudio.ExtensionManager.RunFromEnginePathLocationException. I don't understand what "vsixinstaller must be restarted outside of a Visual Studio installation" means: there is no Visual Studio install running, but my installer does uninstall/install other VSIX packages (for VS 2013, 2015, and then 2017). Does anyone have ideas or information about this exception? Thanks!
----------------log file-------------------------
4/3/2018 9:27:34 AM - C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\VSIXInstaller.exe,/q,/a,/u:PaceFusionUi2017_VSIX.7ed8b0bb-5bd2-4794-a052-e12982eab279
4/3/2018 9:27:34 AM - -------------------------------------------
4/3/2018 9:27:34 AM - Microsoft.VisualStudio.ExtensionManager.RunFromEnginePathLocationException: vsixinstaller must be restarted outside of a Visual Studio installation.
at VSIXInstaller.App.OnStartup(StartupEventArgs e)
-------------------------------------------------
Thanks for any help,
Phillip
We have a continuous integration system which does a nightly build and install of our Visual Studio 2017 addin (among other deliverables). This Windows system does only devenv.exe command line builds and uninstalls/reinstalls our VSIX package at least twice nightly.
These are the command lines we use to run our VSIX package uninstall and install, respectively:
start /wait "" "VSIXInstaller.exe" /q /a /u:"#########Ui2017_VSIX.7ed8b0bb-5bd2-4794-a052-e12982eab279"
start /wait "" "VSIXInstaller.exe" /q /a /skuName:Professional /skuVersion:15.0 "PATH_TO_VSIX_FILE\#########Ui2017.vsix" /instanceIds:e4c51c95
When these scripts are run by our build system, the VSIX install command returns error 2003 (VSIXInstaller.NoApplicableSKUsException). If I login to the build slave and run the Visual Studio 2017 IDE between the uninstall and the install, the VSIX package install is consistently successful. Similarly, if I run the Visual Studio 2017 IDE after getting the "2003" error, and then I run the above install command, it also succeeds.
Note that I can reproduce the problem without the build system running...just using its scripts (so the Jenkins environment isn't a factor): error 2003 will occur with an uninstall followed by an install if the Visual Studio 2017 IDE is not run between the uninstall and the install.
I reviewed the logs in %temp% and found a VSIXInstaller.exe log, below. It showed me that the uninstall of the prior version of the VSIX package was failing with RunFromEnginePathLocationException, causing the install of my latest VSIX package to fail with VSIXInstaller.NoApplicableSKUsException.
Researching that uninstall failure, I have found nothing on this forum, nor via Google, with Microsoft.VisualStudio.ExtensionManager.RunFromEnginePathLocationException. I don't understand what "vsixinstaller must be restarted outside of a Visual Studio installation" means: there is no Visual Studio install running, but my installer does uninstall/install other VSIX packages (for VS 2013, 2015, and then 2017). Does anyone have ideas or information about this exception? Thanks!
----------------log file-------------------------
4/3/2018 9:27:34 AM - C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\VSIXInstaller.exe,/q,/a,/u:PaceFusionUi2017_VSIX.7ed8b0bb-5bd2-4794-a052-e12982eab279
4/3/2018 9:27:34 AM - -------------------------------------------
4/3/2018 9:27:34 AM - Microsoft.VisualStudio.ExtensionManager.RunFromEnginePathLocationException: vsixinstaller must be restarted outside of a Visual Studio installation.
at VSIXInstaller.App.OnStartup(StartupEventArgs e)
-------------------------------------------------
Thanks for any help,
Phillip