# abbodi1406/vcredist: the Visual C++ AIO repack, and when to use it instead of Microsoft's installers

> The VisualCppRedist AIO repack bundles every Microsoft Visual C++ Redistributable from 2005 to 2026 into one installer, strips the original setup payload, and cleans up non-compliant runtimes before installing. It is built for offline machines, deployment scripts and repair work, not for everyday desktop users.

**abbodi1406/vcredist** — AIO Repack for latest Microsoft Visual C++ Redistributable Runtimes

- Repository: https://github.com/abbodi1406/vcredist
- Stars: 8,149 · Forks: 435
- Language: VBScript
- License: Unlicense
- Published: 2026-09-22 · Updated: 2026-09-22 · Language: en
- Canonical page: https://hysenlabs.com/projects/abbodi1406-vcredist

## What the VisualCppRedist AIO repack actually replaces

Microsoft ships each Visual C++ Redistributable as its own installer: 2005, 2008, 2010, 2012, 2013, 2022 and now 2026, each in x86 and x64 builds. A machine that has run a few years of software accumulates a mix of these, some installed from the original EXE, some from MSI packages, some at older patch levels. The README describes the repack as an "AIO Repack for latest Microsoft Visual C++ Redistributable Runtimes, without the original setup bloat payload." That single sentence is the whole pitch. You get one executable, roughly one install pass, and a set of runtimes that are all at the current version instead of scattered across a decade of patch levels.

The audience is narrow and specific. It is for people who image Windows machines, run offline installs where downloading seven separate redistributables is impractical, or troubleshoot a machine where an application fails because one runtime out of the set is missing or stale. It is not aimed at a home user who double-clicks a game installer and lets Steam handle the dependency. The repack is built on VBCRedist_AIO_x86_x64.exe by @ricktendo64, and the README credits @burfadel and @thatguy91 for the original installation script. The project is VBScript and batch, which tells you what kind of tool it is: a wrapper around Microsoft's own MSI packages, not a reimplementation of them.

## How the installer cleans up before it installs

The mechanism is a Windows command script that runs hidden in the background by default. Before any package is installed, the script checks for and removes existing non-compliant Visual C++ Runtimes, including the original EXE or MSI setups and older MSI package versions. That pre-flight removal is the part that separates this from simply running Microsoft's installers one after another. If you have ever seen an old 2005 runtime block a newer install, or two entries for the same runtime in Add/Remove Programs, this is the step that addresses it.

Uninstallation works the same way in reverse. The uninstall option removes any detected VC++ runtimes except UCRT. The README is explicit about that exception, and it matters: UCRT is described as a complementary part of the VC++ 2022 redist, an inbox component for Windows 10 and 11, and an update for Vista, 7, 8 and 8.1 delivered through the Monthly Quality Rollup, KB3118401 or KB2999226. The repack will install KB3118401 if UCRT is not available. On Windows XP, UCRT is installed with the VC++ 2019 redist instead. So the script is not just a bundle of MSI files; it carries conditional logic about which OS gets which runtime and which servicing update.

One side effect is worth knowing before you run it. By design, Microsoft Windows Installer creates a restore point for each MSI package if System Restore is active. A full install touches many packages, so a machine with System Restore enabled will collect a corresponding number of restore points. That is Microsoft Installer behaviour, not something the repack adds, but the repack multiplies it because it installs everything in one pass.

## Installing the repack and running a first silent install

The README gives two routes in. You can run the downloaded executable directly, or you can extract it with 7-zip or WinRar to a short path and run Installer.cmd as administrator. The extraction route is the one to prefer if you want to inspect what is inside before it touches the system, and the short path matters because the extracted tree contains nested directories.

The simplest silent install is the /ai switch, which the README describes as quiet mode with no output shown, installing all runtime packages. Adding /gm2 disables the extraction dialog. The README's own example for this is:

```bash
VisualCppRedist_AIO_x86_x64.exe /ai /gm2
```

If you want to watch progress instead of a silent run, use /y, which the README describes as passive mode showing progress and installing all packages. Before you commit to a full install on a production machine, the debug switch is the safer first move. It creates VCpp_debug.log without installing or uninstalling any package:

```bash
VisualCppRedist_AIO_x86_x64.exe /aiD
```

The log tells you what the script detected and what it would remove. That is the step worth taking on a machine you did not build yourself, because the pre-flight cleanup deletes existing runtime entries and you should know which ones before it happens.

For a narrower install, the switches are per-version. /ai7 installs only the 2022 package, /ai9 installs only the 2026 package on Windows 10 and 11, and /ai1 is update mode, which only touches packages already installed. The README also documents combining characters after /ai to install several packages together, with /aiX23E given as the example for 2010, 2012, 2013 and the Extra VB/C package. The full switch list is available from the executable itself:

```bash
VisualCppRedist_AIO_x86_x64.exe /?
```

## Switch syntax is the failure mode you will hit first

The switch parser is strict, and the README documents the traps directly. All switches are optional and case-sensitive. If you specify several switches separately, only the last one has an effect, so /ai5 /ai8 /aiT /aiE installs only the Extra VB/C package. To install separate packages together you combine their switch characters after /ai, as in /ai58X239E. Mode switches must not be combined at all; the README labels /ai1FMU as wrong usage and says it will cause unforeseen errors. And /sfxlang must be the first switch to have effect, so /sfxlang:1031 /aiV works while the reverse order does not.

This is a real limitation, not a documentation quirk. A deployment engineer who assumes standard getopt-style parsing will write a command line that silently does something different from what they intended, and in quiet mode there is no output to tell them. The /aiD debug log is the only reliable way to confirm what a given command line will do before running it for real.

The second limitation is OS support. VC++ 2026 only supports Windows 10 and 11 and their Windows Server equivalents. VC++ 2022 is the last v14 for Windows 7, 8 and 8.1. Windows Vista and Server 2008 stop at v0.61.0, which carries VC++ 2022 version 14.32.31332.0. Windows XP (NT 5.1) and Server 2003 / XP x64 (NT 5.2) stop at v0.35.0 with VC++ 2019 version 14.28.29213.0, and the README advises using the Custom AIO v35 packs for better features and switches. If you are still supporting those platforms, the current release is the wrong tool and you need a pinned older one.

## The INF override entries and what /aiN changes

From v104 onward, the uninstall entries for VC++ Redists 2005 through 2026 are unified and simplified using an INF-based uninstaller entry. The README describes these simple INF overrides as an alternative entry for each version and architecture of the runtimes, giving a better listing with an organized and aligned naming scheme. During installation the INF override registers itself and hides the associated runtime entries. During uninstallation it uninstalls the associated runtimes and unregisters itself.

This is a cosmetic change with a functional edge. It makes Add/Remove Programs readable when fifteen runtime entries would otherwise be listed, but it also means the entries you see are not the MSI product entries Microsoft created. If your asset inventory or uninstall tooling keys off the original product names, the override will confuse it. To restore the old behaviour and show only the original runtime entries, run the repack with /aiN, or extract and run ARP.cmd and choose 2. Show. The /aiP switch is the manual counterpart for hiding or showing runtime entries by hand.

My read is that this is a reasonable default for the target audience and a mild annoyance for anyone doing software inventory. The fact that the project ships an explicit opt-out in the same release that introduced the change suggests the maintainer expected that split.

## How this differs from winget and Microsoft's own installers

The obvious alternative is installing each redistributable from Microsoft directly, or letting a package manager such as winget pull them. The difference is in what happens on a machine that is already dirty. Microsoft's installers are per-version and generally refuse or repair only their own product; they do not sweep the system for a 2005 runtime installed from an old EXE and remove it before proceeding. The repack's stated behaviour is to check and remove existing non-compliant runtimes first, which is the capability you are actually adopting.

The second difference is offline operation. A package manager needs a working network and a package source. The repack is a single executable you can carry on a USB stick into an air-gapped environment, and the README's extraction route means you can verify and inspect the contents before running anything as administrator. For imaging and field repair, that is the deciding factor.

The trade-off is trust. Microsoft's installers are signed by Microsoft. This is a third-party repack of Microsoft's own MSI packages, distributed from a GitHub repository under the Unlicense. The README does not document a signing or verification procedure for the downloaded executable, and the repository does not publish checksums. You are running a community-built wrapper with administrator rights on a machine, and the pre-flight step deletes existing runtime entries. That is a meaningful amount of trust to extend, and it is the reason the /aiD dry run matters more here than it would with a first-party installer.

## Licence, maintenance and the cost of staying current

The repository is licensed under the Unlicense, which places the code in the public domain. That is permissive in the extreme: no attribution requirement, no copyleft. It does not change the fact that the MSI packages the repack installs are Microsoft's, distributed under Microsoft's own terms, and the README notes that Visual Basic and Visual C++ are registered trademarks of Microsoft Corporation. The Unlicense covers the wrapper script, not the payload. I am not a lawyer and this is not legal advice; if you redistribute the repack inside a commercial image, the question to put to counsel is about the Microsoft packages inside it, not about the Unlicense.

On maintenance, the last push to the repository was on 2026-06-08, and the most recent release, v0.105.0, was tagged on 2026-06-06. The release before that, v0.104.0, came on 2026-04-16, and v0.103.0 on 2025-11-23. That is an irregular cadence, which fits the problem: the repack is updated when Microsoft ships new runtime versions, not on a schedule. The practical upgrade cost is low for the installer itself and non-zero for your deployment scripts, because new releases can change default behaviour. The INF override entries arrived in v104 and changed what appears in Add/Remove Programs by default, which is exactly the kind of change that breaks a documented internal procedure. Pin a version, read the release notes before moving, and keep the /aiN escape hatch in mind.

## Conclusion

Adopt it if you provision Windows machines offline, script unattended installs, or keep repairing machines where a mix of original EXE and MSI runtimes has accumulated. Skip it if you only need one runtime on one machine, or if you cannot verify the checksum of a third-party binary before running it as administrator. Before you deploy, confirm which release matches your oldest supported OS (v0.61.0 for Vista, v0.35.0 for XP), and run the installer with /aiD once to produce VCpp_debug.log and see what it would remove.

## FAQ

### What is vcredist?

It is the common shorthand for the Microsoft Visual C++ Redistributable, the runtime library set that applications built with Visual C++ need in order to run. This project repacks the latest versions of those runtimes, from 2005 through 2026, into a single installer.

### Do I need both the x86 and x64 Visual C++ Redistributable?

The repack installs both architectures: the contents list every runtime as x86/x64, with the exception of the legacy runtimes, which are x86 only. Installing all packages via the default /ai or /y switches therefore covers both.

### How do I install vcredist silently?

Run the executable with /ai for quiet mode with no output, or /y for passive mode with progress. The README's documented example for a fully silent run is VisualCppRedist_AIO_x86_x64.exe /ai /gm2, where /gm2 suppresses the extraction dialog.

### How do I check which vcredist versions are installed?

The repack does not document a query switch, but /aiD runs in debug mode and creates VCpp_debug.log without installing or uninstalling anything, which shows what the script detected. The /aiP switch manually hides or shows runtime entries in the Add/Remove Programs panel.

### Can I install vcredist on Linux or a Steam Deck?

The repack is a Windows installer built from Microsoft's MSI packages and a Windows command script, and the README describes no Linux or Steam Deck path. It documents no way to run it on those platforms.

## Sources

- [abbodi1406/vcredist on GitHub](https://github.com/abbodi1406/vcredist)
- [Issues](https://github.com/abbodi1406/vcredist/issues)
- [License: Unlicense](https://github.com/abbodi1406/vcredist/blob/master/LICENSE)
- [README](https://github.com/abbodi1406/vcredist/blob/master/README.md)
- [Releases](https://github.com/abbodi1406/vcredist/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/abbodi1406-vcredist
