User setup for Windows
Announced last release, the user setup package for Windows is now available on stable. Installing the user setup does not require Administrator privileges as the location will be under your user Local AppData (LOCALAPPDATA) folder. User setup also provides a smoother background update experience.
Download User Setup
If you are a current user of the system-wide Windows setup, you will be prompted to install user setup, which we recommend using from now on. Don't worry, all your settings and extensions will be kept during the transition. During installation, you will also be prompted to uninstall the system-wide setup.
Reference: https://code.visualstudio.com/updates/v1_26#_user-setup-for-windows
Answer from Surenthar Pitchai on Stack OverflowUser setup for Windows
Announced last release, the user setup package for Windows is now available on stable. Installing the user setup does not require Administrator privileges as the location will be under your user Local AppData (LOCALAPPDATA) folder. User setup also provides a smoother background update experience.
Download User Setup
If you are a current user of the system-wide Windows setup, you will be prompted to install user setup, which we recommend using from now on. Don't worry, all your settings and extensions will be kept during the transition. During installation, you will also be prompted to uninstall the system-wide setup.
Reference: https://code.visualstudio.com/updates/v1_26#_user-setup-for-windows
I installed the user version side-by-side with the system version with no problems. The basic differences between the two is that the system version installs on the file system like every other app. The user install is basically a click-once (or web installer) version that installs in the User folder of the machine.
The settings made to VS Code in the system version save for Everybody on the computer and the user version the settings are only for the user. I find that the behavior of the user version is a bit annoying for me because I have reasons to want to open multiple copies of VS Code at the same time and the user version only allows one instance. Otherwise, there's not really anything different between the two as far as I can tell.
I have all my software that I install installed system-wide under "Program Files", so I don't get why one program should be an exception. Why should I want user-install? Is there really no way to force system-wide install these days?
Note that I'm not looking for descriptions of differences per se between system-wide and user install. I'm looking for what the actual benefits of user install are, and what the actual disadvantages/problems with system-wide install are.
So far I'm aware of one disadvantage of user install, and that's the fact that the start menu search can't find vscode no matter what, because it's automatically installed to a location that the start menu search ignores.
Basically a user install doesn't require admin rights. This means if you want to use VSCode on your work computer you don't need to get IT to install it.
It should still show up in the start menu. Assuming you selected the option in the installer it should have a shortcut somewhere in
%appdata%\Microsoft\Windows\Start Menu\Programs`
Finally Microsoft does provide a system install version that sounds like what you are looking for. It's located on the download page: https://code.visualstudio.com/Download
you should default to user install and only use system install when necessary. principle of least power and whatnot.
i somehow always irreparably fuck up my python install on windows because of conflicts between system versions, local versions, system pip, local pip, it’s a fuckin mess. any seasoned python dev will tell you the solution is to use one version of python and only install packages locally, preferably through aggressive use of virtual environments.
the main benefit of user install is isolation and orthogonality. system programs are in program files, personal programs that you would want to keep with you across machines are to be installed locally.
this is less relevant these days now that people rarely share computers, but the idea is the same. i act as if there’s another user who uses my computer under a different account sometimes. some programs should be universal, like photo editing software, video players, etc., while it isn’t really important that everyone have access to my customized text editor or the 800 million fonts i download.
Look for the system installer instead of the user setup installer. The system installer will give you the option to: 1. Install for all users 2. Choose a directory.
Download here (oficial page): https://code.visualstudio.com/download
Can't find it? The system installer is below the big blue button to download. You'll see 3 options. The middle option will say system installer.
The current download page has a Windows icon that downloads the AMD64 user installer. You don't get an option to select the user or system installer. Interestingly, below the Windows icon there are links to multiple ARM64 installers, including the ARM64 system installer, but you don't want that one.
The link to download the AMD64 system installer file is here. This link is on the Visual Studio Code installation and setup page in the 'User setup versus system setup' section: Visual Studio Code on Windows
If you log in as an admin user and try to install the user version of vs code you get the warning. If you go ahead and install then your vs code won't be able to get update notifications or be able to auto update. If this is a problem for you the solution is to not run the install directly but to run it as follows:
runas /machine:x86 /trustlevel:0x20000 vscodeinstaller.exe
The above will run the always x86 installer exe and install your selected version as a regular user. trustlevel x20000.
Answer found at this link: How to install application as regular user if your are logged in as Administrative User
Not as simple as I had hoped. After install that avoids the warning you are still running code as admin because you are in the admin group. So... still no auto update and you still get that annoying warning.
Make a shortcut with:
C:\Windows\System32\runas.exe /machine:amd64 /trustlevel:0x20000 "C:\Users\brook\AppData\Local\Programs\Microsoft VS Code\code.exe"
Put it on your desktop and run it.
Windows will push all your "open with code" double click on files into the running version.
Stealing from this answer, I see that visualstudio.com says:
If you are a current user of the system-wide Windows setup, you will be prompted to install user setup, which we recommend using from now on.
That suggests to me that the error message we've both seen will soon be obsolete.
That is, when the installer sees you logged in as admin (which conventionally means you wouldn't be coding), it assumes you wanted this now-intended-to-be-deprecated use case where you're installing once on the system for ALL users, which the user setup won't do.
You've probably seen installers ask this: "Do you want to install for all users or just your user?" If all users, it asks you to give the installer admin permissions and installs in Program Files. If just you, it installs in a user path (like VS Code for users does: C:\Users\thySmyUserName\AppData\Local\Programs\Microsoft VS Code).
Instead of a unified system/user install, VS Code seems to have broken it into two.
Make sense? If you're installing to code when logged in as admin, like on a remote box or something, that might still be a bit of an admin smell, but the user setup sh/w/ould otherwise be fine.
If you wanted to install for every user on the box, which you could do with your fancy admin permissions, you'd need to get a different installer. That's all.
I just got a new SSD and so I decided to do a clean install of Windows.
When I went to install vscode, it was installing a "user" version, which is apparently not a new a behavior, but one I never encountered because I had not needed to do a clean install vscode in a long time, just the auto-updates.
So now I am not sure why it is preferable to install this "user" version to the user AppData folder rather than the "system" version to Program Files.
There is no NTFS file security on the user AppData folder. Any program running can modify those files without elevation, which is risky for executable code. Installing to Program Files gives an added layer of protection that the executable can't be hijacked without elevation.
What convenience does the "user" installation add that is worth giving up the extra security from the "system" version installing the executable in Program Files?
VSCode User Setup is a new installer, with a new install strategy, which installs the whole executable for VSCode and its dependencies in directories which don't require system-level / administrator permissions to modify. This allows a few things:
- Users who don't have admin privileges to their workstation can still install and use VS Code
- VS Code can perform its updates with fewer prompts (basically without the system-level privilege escalation prompts)
One tip: If you already had VSCode installed as a system-wide installation and you switch to the new installer as prompted/recommended, the User Setup installer will suggest that you uninstall the system-wide install first. I was a little nervous that I might lose my extensions doing this, but I went ahead and tried it and am happy to report that my extensions, recent projects, and other data regarding my VSCode use remained intact between uninstalling the "old" version and then proceeding with install of the new User Setup version.
(I'm a first time responder after many years.) Note there is another useful discussion on this subject at: (What is the migration procedure for moving from Windows system-wide Visual Studio Code to user setup?). I too got worried when I got unexpected messages from the install informing me that the version was already installed and asking me if I wanted to continue? I clicked NO, why continue if it is already installed. However, in the process I became aware of the distinction between 'distribution' and 'version'. It turns out that the install works pretty much flawlessly no matter how you go about it. You can delete the system-wide distribution or not. If you do delete, you can delete before the new install, (which I did). You can also delete after the new install. (I didn't read too closely but there might be an extra step if you want to use both distributions.) In hindsight, since all approaches work nearly flawlessly, a minimal amount of instruction is all that was required. But in foresight, a little extra information on what to expect would have expedited the process for several people, including me. P.S. I found the answers in this thread useful. Thanks.