How to move .dnx directory out of %USERPROFILE% - windows

DNVM installs a .dnx directory in C:\Users\myUsername\.dnx (in %USERPROFILE%).
Unfortunately, my user profile is limited to 30 MB by IT policies.
How can I move this directory to somewhere else, e.g. C:\.dnx?
I tried creating a symbolic link from C:\Users\myUsername\.dnx to C:\.dnx, but it seems like Visual Studio does not follow symlinks when building the solution, so I get build errors such as this:
Could not find a part of the path 'C:\Users\myUsername\.dnx\packages\System.IO\4.0.10-beta-22816\lib\contract\System.IO.dll'.
I'm using Visual Studio Community 2015 RC with .NET 4.6 under Windows 7 Professional.

I had an issue come up where my employer is blocking .exe files executing in user profile directories.
I moved the my C:\Users\%USERPROFILE%.dnx folder to C:\Program Files.dnx and created a symlink with the following command:
mklink /D C:\Users\%MYPROFILENAME%\.dnx "C:\Program Files\.dnx"
So far, this seems to be working and I am up and running.

I found a "temporary" workaround by making the .dnx directory non-roaming, via this registry key:
HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\ExcludeProfileDirs
You can find more details about this workaround here.

Use junction tool by MS to create alias of the directory on other volume. Download junction.exe and read the usage.

Related

Publish to AWS Lamba - Failed to find the "build-lambda-zip" utility

I'm currently trying to publish my AWS lambda functions using Visual Studio 2019 community (v4.8.03752) and leveraging the AWS Toolkit for Visual Studio (v1.20.1.0). After right clicking my project and selecting 'Publish to AWS Lambda' I receive the following error:
- Zipping publish folder C:\Users\Matt\source\repos\programName\programName\.\bin\Release\netcoreapp3.1\publish to C:\Users\Matt\AppData\Local\Temp\HelloWorld-CodeUri-Or-ImageUri-637489827969959200.zip
- Failed to find the "build-lambda-zip" utility. This program is required to maintain Linux file permissions in the zip archive.
- Error packaging up project in C:\Users\Matt\source\repos\programName\programName\. for CloudFormation resource HelloWorld: Failed to find the "build-lambda-zip" utility. This program is required to maintain Linux file permissions in the zip archive.
I've been able to deploy this MANY times over previous months, up until Friday 2/12 when I started receiving this error (after a reboot). What's even more strange is that if I uninstall the AWS Toolkit for VS, then reinstall it, I'm able to publish successfully 1 time. With my 2nd attempt, I begin to receive this error again.
Steps I've taken to attempt to resolve:
Repair Visual Studio
Uninstall/Reinstall Visual Studio
Uninstall and reinstall amazon.lambda.tools using dotnet tool install -g Amazon.Lambda.Tools
Uninstall AWS Toolkit for VS, Reinstall toolkit. (This works for first deployment, fails when trying to deploy a 2nd time)
UPDATE:
Per some comments below, it looks like this is being caused by McAfee Real-Time Scanning. In checking the logs during a deployment I noticed a "Virus or threat found" record that points directly to the build-lambda-zip.exe file. To permanently avoid this issue moving forward please follow the steps provided by user2174794 in the comments below.
I'm having the same issue. Just started happening today. It was working within the last 2 weeks.
Failed to find the "build-lambda-zip" utility. This program is required to maintain Linux file permissions in the zip archive.
Running Windows 10, Visual Studio 2019
My solution for now is to use the .NET Core CLI
https://docs.aws.amazon.com/toolkit-for-visual-studio/latest/user-guide/lambda-cli-publish.html
Specifically, the
dotnet lambda deploy-function
A recent update must have broke the AWS Toolkit For Visual Studio.
I have the same problem, it was because my antivirus detect the executable build-lambda-zip.exe, then delete it.
I restore the executable from my antivirus, or restore dotnet tools with the command :
dotnet tool update -g Amazon.Lambda.Tools
I also faced the same issue,
This is because the "build-lambda-zip.exe" file is getting removed by the McAfee Antivirus.
For the permanent fix, you need to follow the below steps.
Step 1
Go to McAfee Settings >> Quarantined Items
You will find the "build-lambda-zip.exe" file there. Restore it to the original location.
Now If you will try to publish, the error won't get displayed. But again on the next scan, the file will get removed.
Step 2
We need to Exclude this file from getting Scanned and removed. So for that,
Go to McAfee Settings >> Real-Time Scanning and Add the "build-lambda-zip.exe" file in the Excluded files list.
For the file path of "build-lambda-zip.exe" got to
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\Extensions\ and search for the file name.
Maybe you should try reinstalling the AWS Tool Kit and before you make deployments please turn off your antivirus protection. I was troubbling the same issue and my antivirus(McAfee) was deleting build-lambda-zip.exe file when I did deployment first time.
I'm curious about the state of the extension installation. Can you go to VS's extension directory in Windows explorer C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\Extensions and in the search box search for AWSToolkitPackage.dll.
Ideally it should only show one instance of that file. Assuming it finds a single instance right click on the file and select "Open File Location". Now that you are in the root folder of the AWS extension check the Resources folder and see if it contains the file build-lambda-zip.exe.
I know the question is in a windows system, but under a linux system, in my case the following command was needed:
sudo apt-get -y install zip

Is there a way to change the extensions folder location for Visual Studio Code?

I've put Visual Studio Code on OneDrive, for the purpose of syncing it with its settings across my devices.
However, extensions are stored in %USERPROFILE%\.vscode\extensions on Windows.
Is it possible to change this folder's location so I can put it in the main Visual Studio Code folder?
At first I thought that copying the extensions in the resources\app\extensions of Visual Studio Code folder will be a nice workaround, but that doesn't work.
I've also searched for a solution on the documentation page and in the user settings, with no results.
What I did - after installing Visual Studio Code for the first time, I checked the documentation and added at the end of 'Target' field of editor's shortcut the following (there's a space before the two dashes):
--extensions-dir="DRIVELETTER:\VSCODE\extensions"
--user-data-dir="DRIVELETTER:\VSCODE\settings"
where DRIVERLETTER and VSCODE are the corresponding drive and directory where Visual Studio Code is installed. So mine looks like this:
"D:\Microsoft VS Code\Code.exe" --extensions-dir="D:\Microsoft VS Code\extensions"
Here is for the user data directory:
"D:\Microsoft VS Code\Code.exe" --user-data-dir="D:\Microsoft VS Code\settings"
Accessing the 'Target' field is done by right-clicking the shortcut and choosing 'Properties'
Anyway, there's a simpler solution to that problem - just use the portable version of Visual Studio Code. It works under Windows, Linux, and macOS:
Enable Portable Mode
Windows and Linux
After unzipping the Visual Studio Code download, simply create a data folder within Visual Studio Code's folder:
|- VSCode-win32-x64-1.25.0-insider
| |- Code.exe (or code executable)
| |- data
| |- ...
From then on, that folder will be used to contain all Visual Studio Code data, including session state, preferences, extensions, etc.
The data folder can be moved to other Visual Studio Code installations. This is useful for updating your portable Visual Studio Code version: simply move the data folder to a newer extracted version of Visual Studio Code.
macOS
On macOS, you need to place the data folder as a sibling of the application itself. Since the folder will be alongside the application, you need to name it specifically so that Code can find it. The default folder name is code-portable-data:
|- Visual Studio Code.app
|- code-portable-data
Portable mode won't work if your application is in quarantine, which happens by default if you just downloaded Visual Studio Code. Make sure you remove the quarantine attribute, if portable mode doesn't seem to work:
xattr -dr com.apple.quarantine Visual\ Studio\ Code.app
Note: On Insiders, the folder should be named code-insiders-portable-data.
UPDATE 14.12.2021
From Visual Studio Docs
Note: Do not attempt to configure portable mode on an installation from the Windows User or System installers. Portable mode is only supported on the Windows ZIP (.zip) archive. Note as well that the Windows ZIP archive does not support auto update.
A little hack:
Create a symbolic link to the folder %USERPROFILE%\.vscode\extensions under the Visual Studio Code install path.
https://code.visualstudio.com/docs/editor/extension-gallery
code --extensions-dir 'new_directory_to_set'
Set the root path for extensions.
Follow the below steps for changing the extension path in VS.
Set "code" path in environment variable.
path = VS_CODE_INSTALL_DIRECTORY/bin;
Open VS , in VS terminal execute the below command.
code --extensions-dir "new_directory_path"
Install the required extension.
All Done.
Note:Dont forget to vote the answer
According to this page, after installing VS Code we should make a language profilers folder like this:
mkdir code_profiles
cd code_profiles
mkdir code-ruby
cd code-ruby
mkdir exts
mkdir data
For Windows, I prepared a batch file (.bat) for each language I work on, it contains this line:
Start "" "D:\programs\VSCode\code.exe" --extensions-dir D:\programs\VSCode\code_profiles\code-python\exts --user-data-dir D:\programs\VSCode\code_profiles\code-python\data .
This is for Python. If I work on PHP, I will make code-php folder, then make exts and data folders in it and prepare another batch file for PHP, just like the one I made for python.
I put this batch file on the main project folder then double click on it to run VS Code with the preferred profile.

How to force Visual Studio NOT to install components into C:\ (System Drive)

During a Visual Studio instalation (2015 offline download), I specifically set the installaltion directory as D:\V.Studio, but still Visual Studio goes on to install most of the components into C:\ !
How can I force the Visual Studio components to get installed into a drive NOT C:\?
Most of the Visual Studio components are always installed to the System drive including things like .NET, MSBuild, Windows 8.1 SDK, Windows 10 SDK, etc.
Symbolic links can be created in the command line with a special command that was first introduced in Vista. It is called Mklink (described in more detail here) and here is how it works for a folder:
Before doing anything, make sure you have a backup of your system
Move (not copy) the desired folder (let’s call it ExistingName) by the usual methods to its new destination on the X:\ volume. Give it whatever name you choose. Let’s call it NewName but it can retain ExistingName if you wish. At this point programs and Registry references may be broken. It is necessary to move the folder first since otherwise no symbolic link can be created on the C.\ drive
Next open a command prompt with elevated privileges. (This previous tip explains how.)
Enter the command mklink /d C:\ExistingName X:\NewName The switch /d indicates that we are linking folders (directories). No switch would be used if a file was being linked. If your folder name has spaces, you have to enclose the path name in quotes.
If a link is successfully made, the command line will show a message “symbolic link created for ExistingName <<===>> X:\NewName”.
Close the command prompt
That's all it takes. All of the previous Registry or other references to C:\ExistingName will continue to work. The command creates a small object on the C:\ drive that retains the previous folder name and behaves as if it has the contents of the folder that is really over on the X:\ drive.
It’s the magic of symbolic links.

Visual Studio Code install location

I installed Visual Studio Code a few days ago, and now I can't find the executable on my machine. Where is it?
I have checked Programs and Features. I have also checked my PATH. For some reason it isn't in either.
Update 10.11.2018
If you do a complete re-install, including uninstalling prior versions of code installed on your machine the new version will be installed at
C:\Users\{UserName}\AppData\Local\Programs\Microsoft VS Code
Update 06.07.2018
Since Version 1.25 VS Code supports portable mode.
Instructions on how to use this are documented here.
You will need the ZIP file download version - not the installer.
After unzipping the contents of the archive, create a data folder inside the folder, where code.exe is located. All settings will now be saved there and can be brought along with you.
|- VSCode-win32-x64-1.25.0-insider
| |- Code.exe (or code executable)
| |- data
| |- ...
On macOS, the folder must be named code-portable-data and has to be a sibling of the app itself. Not inside the app.
|- Visual Studio Code.app
|- code-portable-data
The reasoning behind this can be read here: What is VSCode User Setup for Windows?
Update
If you are using the x64 version, the path is:
C:\Program Files\Microsoft VS Code\
C:\Program Files\Microsoft VS Code\Code.exe
Original answer
At this point and time (Version 1.19.2) Vs code no longer resides in your AppData folder, but under
C:\Program Files (x86)\Microsoft VS Code\
C:\Program Files (x86)\Microsoft VS Code\Code.exe
There are two types of installer available for VSCode.
Go to link to find type of installer you want.
If you are using/going for User Installer, the version will be installed at:
C:\Users\{UserName}\AppData\Local\Programs\Microsoft VS Code
If you are using/going for 64bit System installer, the version will be installed at:
C:\Program Files\Microsoft VS Code\
If you are using/going for 32bit System installer, the version will be installed at:
C:\Program Files (x86)\Microsoft VS Code\
I used the new VSCode User Setup installer on Windows 10, and found the executable here:
C:\Users\my-username\AppData\Local\Programs\Microsoft VS Code\
Okay. I found it in the docs.
C:\Users\my.user\AppData\Local\Code\app-0.1.0
The way I find most intuitive and easy to remember is:
Search for Visual Studio Code in the Windows 10 search bar -> right-click -> Open File Location
For me this goes directly to:
C:\Users\{YOUR_NAME}\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Visual Studio Code
Right-click on the shortcut -> Properties -> Start in:
"C:\Users\{YOUR_NAME}\AppData\Local\Programs\Microsoft VS Code"
If you prefer username-agnostic path strings:
folder: %HOMEPATH%\AppData\Local\Programs\Microsoft VS Code\
executable: %HOMEPATH%\AppData\Local\Programs\Microsoft VS Code\bin\code
If you also want to use those path strings inside C#/C++ code:
folder: "\"%HOMEPATH%\\AppData\\Local\\Programs\\Microsoft VS Code\\\""
executable: "\"%HOMEPATH%\\AppData\\Local\\Programs\\Microsoft VS Code\\bin\\code\""
If for some reason none of the other answers work, try this:
Go into your vscode settings
Find any setting that has 'Edit in settings.json' (for example - Color Customizations)
Press ctrl+shift+s
Go one folder up
Copy + paste the file location (on the top for windows) into into another file explorer
Profit
The difference is:
System Installer will install VSC in C:\Program Files\Microsoft VS Code\
User Installer will install VSC in %HOMEPATH%\AppData\Local\Programs\Microsoft VS Code\
Search for the files with respect the version installed.
Why default your program would be installed here..
C:\Program Files\Microsoft VS Code\
If you have chosen different directory while installing it you can get it by:
1. Go to the icon location
2. Right click open properties
3. Check target
I found it at
C:\Users\%username%\source\repos\Notes\%VSCode-folder%\bin\Debug\
Where %username% is the user and %VSCode-folder% is the VSCode project

How to delete installation directory when program is uninstalled by visual studio installer project?

I have created an installer using visual studio 2010 installer project. The program installs correctly and works fine for all the features.
But the problem is in uninstallation, when I uninstall the program it does not delete the application directory from file system but deletes the contents of it.
Suppose I am installing the program in C:\Program Files\MyApp, it deletes the contents of MyApp folder but doesn't delete the folder it self.
Any way to do this? If there is a way then how to do this?
Does your application create files in this directory after it's been installed? If so, you might want your app to move that user-data to a more user-data-centric location like %PROGRAMDATA% so that application files and user-data are separated.
It also helps to make sure uninstall cleans up everything, and it's easier to persist user-data across upgrades.
Relevant thread - http://www.itninja.com/question/delete-folders-after-uninstall

Resources