Free tools Windows power users keep installed
One-click scans. No signup required.
WinGet (Windows Package Manager) lets you discover, install, upgrade, remove, download, repair, and configure Windows applications from the command line. For a few repeatable installs, identify exact package IDs and run one command. For a portable app baseline, export installed packages to JSON and import that file on another PC. Use winget configure when you need application packages and machine settings to converge on a defined state.
Choose the WinGet workflow that fits your goal
| Goal | Best approach | What it controls |
|---|---|---|
| Install one application or a short list | winget install |
Package selection and installer options for the current run |
| Re-create an application baseline on another PC | winget export followed by winget import |
A JSON list of installed packages, sources, and optional versions |
| Set up a complete development or work environment | winget configure |
Packages plus machine settings through a YAML configuration and PowerShell DSC resources |
The trade-offs are scope, repeatability, interactivity, version control, and governance. A command is quickest for a one-off job; a reviewed, versioned file is easier to audit and repeat.
Check prerequisites and identify packages
WinGet is delivered through the App Installer on supported Windows editions. Before automating, verify that the client is available and check its version with:
winget --version
Configuration files require Windows 10 version 1809 (build 17763) or later, Windows 11, and WinGet version 1.6.2631 or later.
#1 Best Overall
Search for a package
Use search when you know an application name but not its package identifier:
winget search <name>
Then inspect a candidate’s publisher, version, source, installer type, and identifier:
winget show --id <package-id>
Prefer the exact identifier shown by winget show. If multiple sources contain similar entries, specify the intended source in the install command.
Install one or multiple applications
Install an exact package
The safest repeatable pattern uses an ID and exact-match mode:
Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Repair Windows errors before they cause bigger problemsFix Now →winget install --id Microsoft.PowerToys -e
The -e (exact) option prevents a broad name match from selecting the wrong package. WinGet resolves the package, downloads its installer, and runs it using the package’s manifest.
Install several packages in one invocation
Pass multiple package IDs to create a small baseline for a new PC:
winget install Microsoft.VisualStudioCode Microsoft.PowerShell Git.Git
For unattended scripts, suppress installer windows and accept package terms explicitly:
Rank #2
- EASY TO USE - The manager notebook is easy-to-use that help you keep track of shift notes, employees, etc.
- MONITOR YOUR DATAS - Using a project manager notebook to store all your data, you can track your comps, sales, payments, and customer behavior,consult your records whenever needed.
- HIGH QUALITY - The manager office supplies is used to high quality 100gsm pure white paper, elastic band and a back pocket for extra space. Make sure you have enough space for all manager plan
- UNIQUE DESIGN & A4 SIZE - Manager log book cover is lovely, golden spiral bound design, size of 8.2" x 10.5". Just the perfectly size to fit in your backpack, purse or laptop case. Without taking up your space and always helping you keep track of your small business
- THE PERFECT GIFT - Management logbook as gift for woman & man. Use it to improve your management efficiency, make efficient adjustments whenever needed
winget install Microsoft.VisualStudioCode Microsoft.PowerShell Git.Git --silent --accept-package-agreements
Review each package’s terms and your organization’s policy before enabling automatic agreement acceptance.
Recommended Free Tools
Control version, architecture, scope, and installer behavior
The install command supports options for a specific version, user or machine scope, processor architecture, installer type, silent operation, logging, and source selection. Combine only options supported by the selected manifest. Pin a version when reproducibility matters; omit it when the goal is the current version available from the trusted source.
Export an installed-app baseline
Create a JSON inventory of packages that WinGet can identify:
winget export -o apps.json
The file records package identifiers and sources and may include versions. Export can warn when an installed application has no matching manifest in a configured source. Open the JSON file, remove applications that should not be restored, and keep the edited file under change control if it is used for onboarding.
Restore the baseline on another PC
Copy the reviewed file to the destination computer and run:
winget import -i apps.json
WinGet attempts installations serially and reports packages that are unavailable or already installed. Useful controls include:
--ignore-unavailablecontinues when a package cannot be found.--ignore-versionsavoids treating a version mismatch as a reason to stop.--no-upgradeprevents import from upgrading an already installed package.--accept-package-agreementsaccepts package terms for unattended runs.--disable-interactivityprevents prompts that would block automation.
Import is a package-baseline tool, not a complete disk image. Applications absent from configured sources, packages with changed identifiers, and settings outside the exported package data require separate handling.
Rank #3
- Made in USA - Proudly produced in Ohio by a Veteran-owned business
- This Wire-O book contains spaces for managers to keep track of shift notes, employees, etc
- There are spaces to keep lists of top level items as well as daily to-do lists
- You can track your comps, sales, payments, and customer behavior
- 100 Pages, Wire-O, 8.5" x 11" Reorder SKU: LOG-100-7CW-PP(ManagerNotebook)
Use winget configure for a complete desired state
Choose configuration when setup includes both software and machine settings—for example, a development environment that requires tools, policies, and other prerequisites. A WinGet Configuration file uses YAML validated against a JSON schema and can invoke PowerShell DSC resources.
winget configure -f <path-to-file>
Microsoft describes this model as consolidating manual machine setup and project onboarding into one repeatable command. Configuration can install requirements and apply settings so a machine converges on the state declared in the file, rather than merely running a list of installers.
The Tool Desk
Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Review and validate before applying
Use the configure subcommands to test, validate, list, export, and show configurations. Read every YAML entry and inspect each referenced DSC resource before execution. Microsoft warns users to verify the trustworthiness of configuration files and associated resources; a configuration has authority to change the machine beyond installing an application.
When configure is the wrong tool
If you only need a handful of applications, a direct winget install command is simpler. If you need to move an application list but not settings, export/import produces a smaller and easier-to-review artifact.
Build reliable scripts
Make package selection deterministic
- Discover candidates with
winget search, then confirm the chosen record withwinget show. - Use exact IDs with
-ewhen a script must not match a similarly named package. - Specify a source when duplicate entries exist.
- Pin versions only where a known version is required; otherwise document that the source’s current version will be selected.
Control prompts and agreements
Combine --silent, --accept-package-agreements, and, for import jobs, --disable-interactivity when the execution context cannot answer prompts. Test these flags with the exact packages and run identity used in production; some installers expose their own limitations.
Capture logs for diagnosis
Unless redirected, WinGet install logs are written below:
%LOCALAPPDATA%PackagesMicrosoft.DesktopAppInstaller_8wekyb3d8bbweLocalStateDiagOutputDir*.log
Commands also provide --logs, --open-logs, and verbose-log options. Preserve logs with the script output when investigating a failed deployment.
Review client behavior settings
Run winget settings to open the client settings JSON editor. Settings include installation notes, configuration behavior, experimental features, and telemetry-related controls. Treat changes as managed configuration: document them, review their effect, and apply organization policy.
Stage installers and dependencies with winget download
Use the download command when an administrator needs installers and dependencies staged before deployment. This separates acquisition from installation and can help prepare a controlled deployment location. Microsoft notes that downloading Microsoft Store packaged apps and their license files may require Microsoft Entra ID authentication and appropriate directory roles. Plan those permissions before using Store packages in a staging workflow.
Troubleshoot common failures
The package cannot be found during export or import
An export warning means WinGet could not match an installed application to a manifest in a configured source. During import, confirm the package ID and source with winget show, update source data if appropriate, or remove the unavailable entry from the JSON file. Use --ignore-unavailable only when skipping missing packages is acceptable.
An existing installation is changed unexpectedly
Import may encounter an installed package and may consider version state. Use --no-upgrade when the job should not update existing applications, or use --ignore-versions when version differences should not block the rest of the import.
The job stops for a prompt
Run the relevant install with --silent and agreement flags, and add --disable-interactivity to import operations. If an installer does not support silent execution, run it interactively or select a package whose manifest supports the required mode.
You need evidence of what happened
Open the logs with --open-logs or collect the files from WinGet’s diagnostic directory. Include the command, client version, package ID, source, and log output in the deployment record.
Quick Recap
A practical decision checklist
- One or a few apps: use
winget search/show, thenwinget install --id ... -e. - New-PC app baseline: create and review
winget exportJSON, then runwinget importwith only the flags your policy allows. - Full workstation or developer setup: author and validate a trusted configuration file, then run
winget configure -f. - Offline or staged deployment: use
winget downloadand plan authentication for Store packages. - Any unattended job: define exact IDs, decide whether versions should be pinned, suppress prompts deliberately, and retain logs.
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

