I’m trying to update my VSCode to the new version so I can communicate with my roboRIO, however, installing it messed it up. I’m trying to uninstall WPI’s version of VSCode but the problem is that it does not show up in the App & Features. I tried finding the registry key and delete it by putting regedit in Run but I couldn’t find it. Is there a way?
Delete the directory it’s installed to.
I had the same question about uninstalling VSCode but just be sure I’m on the same page, here is the state of my install on Windows 10.
I installed the NI package first followed by the separate VSCode installer as indicated in the instructions. At the time I didn’t pay attention to where VSCode got installed until I went to uninstall everything.
The NI uninstaller worked fine, if you don’t count the miscellaneous directory fragments it leaves behind. (Rhetorical Question: Why in this day and age can’t the creator of a software package perform a complete uninstall?)
Then as airbornehurdle noted, there is no uninstaller visible to Apps & Features and nothing to found in the Registry. In fact my install placed VSCode and the various FRC utilities in \Users\Public\frc2019. There was no uninstaller to be found anywhere there either. I don’t recall the installer asking where I wanted to place the software, but it seems strange to have picked Users\Public.
I find that very odd that VSCode (a Microsoft product) does not make use of the Registry. However, it appears this install was just a big drop of software in a directory. Perhaps this is the side effect of the WPI packaging(?). As such I guess I’ll just delete the directory as suggested and cross my fingers there is no residual cruft lying about.
When VS Code is installed through the WPILib installer, it actually installs its own separate portable copy into /Users/Public/frc2019. We actually do that on purpose for multiple reasons, mostly so we can have easy side by side installs every year, and to not interfere with a user’s already installed VS Code, as we want to set some FRC specific settings, and we don’t want to interfere with anything the user has done.
Thats also the reason nothing shows up in the registry. We use the portable mode of VS Code rather then the installed mode, so it runs completely independently.
Our installer doesn’t add anything to Apps and Features, because getting that set up for the giant mix of stuff we have is actually kind of difficult. But, everything is self contained in that \Users\Public\frc2019 folder, so delete that and everything installed will be deleted. There will be some shortcuts left which I want to build a script to delete, but thats all. All actual code and exectuables are self contained in the frc2019 folder.
The reason for \Users\Public\frc2019 is that it can be installed to without admin permissions, yet seen from any user account. That is important to a large number of our users, so that was the way to solve that issue.
Thanks for confirming the necessary actions to remove the WPI VSCode related materials, and the detailed explanation of how the VSCode install is structured. I think initially I missed the subtlety of this being a WPI managed install of VSCode; I just thought it was some finessing of the MS licensing for install.
With the season at an end I wanted to clean up my computer by removing all the huge NI and WPI files. I did remove the frc2019 directory and I will scour the file system for residual stuff to manually remove.
Based on your description of the VSCode install organization it does make one wonder about the general pros of such an approach. I realize there are other reasons for installing the Windows Registry way, but there is some food for thought.
Again, thanks for the detailed explanation; I always like a detailed explanation.
It possible to change the install location as well to make that portable? Our team has access to a large number of workstations, but we are not really able to install software on them and the disks are often wiped and re-imaged. We would like to be able to run our software development off of USB sticks. Is that possible?
Yes it is, see this thread: