Restore winget + Windows Terminal without Microsoft Store and Install Claude Code
I wanted to install Claude Code on a Windows 11 PC. Node.js was needed, and winget seemed like the easiest way to get it — so I ran winget --version. “'winget' is not recognized as an internal or external command.” Opening Microsoft Store returned “You'll need a new app to open this ms-windows-store link”. Runningwsreset.exe produced the same result. The Store simply did not exist on this machine. With winget, Windows Terminal updates, and Claude Code all blocked, I manually installed three dependency packages to restore winget and ultimately get Claude Code running. Here's the full process.
3
Packages installed manually
0
Store apps used
1
.nupkg unpacking step
4
Steps to restore winget
Diagnosing the initial state
Before attempting any fixes, I took stock of the situation. Diving in blind often makes things worse.
Checking Windows activation
Settings → System → Activation confirmed the machine was genuinely activated. This ruled out a licensing issue. The broken Store was a separate problem.
Store status
# Run → wsreset.exe # Result: "You'll need a new app to open this ms-windows-store link" # The Store app itself is not present on the system
winget status
# In PowerShell winget --version # Result: 'winget' is not recognized as an internal or external command, # operable program or batch file. Get-AppxPackage Microsoft.DesktopAppInstaller # Result: (no output) — completely absent
Diagnosis conclusion
Microsoft Store, App Installer (winget), and all DesktopAppInstaller-related packages are missing. Recovery via the Store is impossible, so the only option is to download the files directly and install them via PowerShell.
Step 1: Download the three dependency packages
Installing winget (App Installer) requires two prerequisite packages to be in place first. The order matters — installing App Installer before the dependencies will fail.
| Order | Package | Source | File type |
|---|---|---|---|
| 1 | Microsoft.UI.Xaml 2.8 | NuGet.org | .nupkg → extract .appx |
| 2 | Microsoft.VCLibs x64 | aka.ms short URL | .appx |
| 3 | App Installer (winget) | aka.ms/getwinget | .msixbundle |
Download VCLibs
Paste the following URL directly into your browser's address bar to trigger the download immediately.
https://aka.ms/Microsoft.VCLibs.x64.14.00.Desktop.appx
Download UI.Xaml 2.8
Go to NuGet and search for Microsoft.UI.Xaml. Select version 2.8.x and click “Download package” on the right side. A .nupkg file will download.
https://www.nuget.org/packages/Microsoft.UI.Xaml/
A .nupkg file cannot be installed directly
A .nupkg is a NuGet package format — which is actually a ZIP archive. It contains an x64 .appx inside that needs to be extracted first. This is covered in the next step.
Download App Installer
https://aka.ms/getwinget
This downloads an .msixbundle file. The filename will look likeMicrosoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle. Save all three files to your Downloads folder.
Step 2: Handling .nupkg files
A .nupkg file is a ZIP archive. Renaming the extension to .zip allows you to extract it normally.
Enable file name extensions
File Explorer → View → Show → File name extensions. If this is off, you won't be able to rename the extension.
Rename .nupkg → .zip
Right-click the file → Rename → change the extension to .zip. Click “Yes” when the warning dialog appears.
Extract the archive and retrieve the .appx
After extracting, several folders will appear. Navigate to the following path:
tools\AppX\x64\Release\Microsoft.UI.Xaml.2.8.appxCopy just this .appx file out to your Downloads folder.
Step 3: Install packages via PowerShell
Open PowerShell as Administrator. Right-click the Start button → select “Windows PowerShell (Admin)” or “Terminal (Admin)”.
cd $env:USERPROFILEDownloads # 1. UI.Xaml first Add-AppxPackage .Microsoft.UI.Xaml.2.8.appx # 2. VCLibs Add-AppxPackage .Microsoft.VCLibs.x64.14.00.Desktop.appx # 3. App Installer (winget) Add-AppxPackage .Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle
Expected results
UI.Xaml
Completes silently. That means success.
VCLibs
You may see an error like “A higher version (14.0.33728.0) is already installed”. This means a newer version is already present — you can safely ignore it and move on.
App Installer
Completes silently. Installation successful.
Verify the installation
Get-AppxPackage -AllUsers Microsoft.DesktopAppInstaller # Sample output: # Name : Microsoft.DesktopAppInstaller # Publisher : CN=Microsoft Corporation, ... # Architecture : X64 # ResourceId : # Version : 1.27.470.0 # ...
If a version number appears in the output, App Installer is installed. But there's one more hurdle.
Step 4: Fix the winget PATH issue
Even after App Installer is installed, winget --version may still fail. The package is installed but has not been registered in the system PATH yet.
winget --version # Still: 'winget' is not recognized as an internal or external command.
Run winget via its direct path
Locate and run the winget executable directly. It lives inside C:\Program Files\WindowsApps\.
# Adjust the version number to match your installation $wg = "C:Program FilesWindowsAppsMicrosoft.DesktopAppInstaller_1.27.470.0_x64__8wekyb3d8bbwewinget.exe" & $wg --version # Output: v1.12.470
Finding the version number in the path
Get-AppxPackage -AllUsers Microsoft.DesktopAppInstaller | Select-Object Version, InstallLocation
The InstallLocation value is the actual directory. winget.exe is located there.
Reboot to register PATH
Rebooting the PC usually resolves the PATH issue automatically. After rebooting, open a new PowerShell window and try winget --version again. If it still fails, continue using the direct path approach via the $wg variable.
Step 5: Install Windows Terminal + PowerShell
Once winget is working, the rest is straightforward. Install the latest Windows Terminal and PowerShell 7.
# When winget is on PATH winget install --id Microsoft.WindowsTerminal -e winget install --id Microsoft.PowerShell -e # When PATH isn't set yet (use the $wg variable) & $wg install --id Microsoft.WindowsTerminal -e & $wg install --id Microsoft.PowerShell -e
Once installation is complete, running a full upgrade sweep is a good idea.
winget upgrade --all
The newly installed Windows Terminal supports tabs, pane splitting, and GPU-accelerated rendering. With that in place, move on to installing Claude Code.
Installing Claude Code
Claude Code is an npm package. Start by installing Node.js.
Install Node.js
winget install --id OpenJS.NodeJS.LTS -e
After installation, close and reopen the PowerShell window for PATH changes to take effect.
node --version # v22.x.x or v24.x.x npm --version # 10.x.x
Install Claude Code
npm install -g @anthropic-ai/claude-code # Verify claude --version
First launch
# Navigate to your project folder cd C:UsersAdministratorProjectsmy-project # Start Claude Code claude
On the first run, you'll be prompted to log in to your Anthropic account. A browser window opens, and once authentication completes, you're ready to use Claude Code directly in the terminal.
Lessons learned
Here are the sticking points I hit along the way, summarized as reference cards.
.appx files can't be double-clicked
Without the Store, double-clicking .appx does nothing. You must use Add-AppxPackage in PowerShell.
.nupkg is just a ZIP
Rename the extension to .zip and extract it. The .appx you need is inside tools\AppX\x64\Release\.
The VCLibs error can be ignored
"A higher version is already installed" means success — a newer version is already there. Move on.
winget installed but command not found
This is a PATH issue. Run winget via its direct path or reboot. Storing the path in a $wg variable keeps things convenient.
RegisterByFamilyName doesn't work
Add-AppxPackage -RegisterByFamilyName fails in environments without the Store. Direct file installation is the only option.
PowerShell must run as Administrator
Add-AppxPackage will fail with an access error without elevated privileges. Always right-click → Run as Administrator.
Full procedure summary
- 1
Download UI.Xaml 2.8 .nupkg → rename to .zip → extract → retrieve .appx
- 2
Download VCLibs x64 .appx (via aka.ms short URL)
- 3
Download App Installer .msixbundle (aka.ms/getwinget)
- 4
Open PowerShell as Administrator
- 5
Run Add-AppxPackage in order: UI.Xaml → VCLibs → App Installer
- 6
Verify winget works (use $wg direct path if PATH isn't set yet)
- 7
Install Windows Terminal and PowerShell via winget
- 8
Install Node.js LTS via winget
- 9
Run: npm install -g @anthropic-ai/claude-code
Wrap-up
Restoring winget without the Store is not well documented. Microsoft's official GitHub does cover the procedure, but the .nupkg extraction step and the PATH issue are things you only learn by running into them.
The core is simple: App Installer requires three files installed in the correct order.The VCLibs error can be ignored, and if winget isn't on the PATH, run it via its direct path. A reboot fixes most of it.
If you're curious about the workflow after Claude Code is installed, check out the real-world development workflow using just one terminal. For running Claude Code on a remote SSH server without interruptions, see the tmux session management guide.
Comments
(3)Log in to leave a comment.
This is the first time I learned about renaming .nupkg to .zip. Also glad to know you can safely ignore the 'higher version already installed' error for VCLibs. Saved my winget.
I spent an hour stuck because winget was installed but commands weren't working. Running it via the direct path was the answer. After a reboot, PATH resolved itself too.
A lot of company PCs ship without the Store pre-installed. This procedure covers exactly what's needed. The App Installer manual install order is laid out clearly.
Related Posts
© 2026 TreeRU. All rights reserved.
All content is copyrighted by TreeRU. Unauthorized reproduction without attribution is prohibited.