- Update Redistributables
2022
to14.40.33810.0
- Fix an issue with
Import-VcIntuneApplication
where it would not accept output fromSave-VcRedist
#149
- Update Redistributables
2022
to14.38.33135.0
- Fix an issue where Redistributables imported into MDT do not install #144
- Fix an issue when importing the Redistributables into an MDT deployment share
- Update Redistributables
2019
to14.29.30153.0
- Update Redistributables
2022
to14.38.33130.0
- Change
MinimumRequiredOperatingSystem
default value toW10_1809
due to change in Intune expected valued #132
-
Updates
Install-VcRedist
,Import-VcConfigMgrApplication
,Import-VcMdtApplication
, andImport-VcIntuneApplication
to use the output fromSave-VcRedist
, removing the need for the-Path
parameter #123 -
Removes the following Redistributables from the manifest as they are no longer available for download from Microsoft #114:
- Visual C++ 2005 SP1 Redistributable Package 8.0.56336
- Visual C++ 2005 SP1 Redistributable Package 8.0.50727.42
- Visual C++ 2008 Redistributable Package 9.0.21022
- Visual C++ 2008 Redistributable Package 9.0.21022.218
- Visual C++ 2008 Redistributable Package 9.0.30729
- Visual C++ 2008 Redistributable Package 9.0.21022
- Update for VcRedist 2022 version
14.34.31938.0
- This update is primarily a result of code improvements through implementing additional testing and code coverage reports
- Includes general code improvements including simplifying routines and consistent throwing behavior in the event of errors
- Changes the output from
Uninstall-VcRedist
to return status codes for uninstall results - Updates
Export-VcManifest
to output aSystem.IO.FileSystemInfo
object instead of a string - Fixes an issue with
Get-InstalledVcRedist
where is was not exporting only the installed Redistributables by default - Renames
Test-VcRedistDownload
toTest-VcRedistUri
to better align with function purpose - Changes the
Download
property toURI
in the Visual C++ Redistributable manifest - Fixes install command lines in the Visual C++ Redistributable manifest that were using
noreboot
instead ofnorestart
- Adds internal validation when creating a drive mapping to an MDT deployment share
- Removes private functions that were not being used or providing critical functionality
- Update for VcRedist 2022 version
14.34.31931.0
- Adds
Test-VcRedistDownload
- tests whether the download URLs from exist VcRedist passed fromGet-VcList
are available - Fixes an issue in
Update-VcMdtApplication
where is was not correctly updating the existing applications with the new version properties
- Update for VcRedist 2022 version
14.32.31332.0
- Update for VcRedist 2022 version
14.32.31326.0
- Adds
Import-VcIntuneApplication
to import the Visual C++ Redistributable into a target Microsoft Intune tenant. For this release, adding assignments to the application viaImport-VcIntuneApplication
is not supported. The function will return the Intune application objects that can be used to add assignments with theAdd-IntuneWin32AppAssignmentAllDevices
function inIntuneWin32App
- Adds private function
New-TemporaryFolder
- Updates tests for new functions
- Updates documentation for
Import-VcIntuneApplication
- Update for VcRedist 2022 version
14.31.31103.0
- Update for VcRedist 2022 version
14.30.30708.0
- Update for VcRedist 2019 version
14.29.30139.0
- Updated online help pages to https://vcredist.com/
- Maintenance release - addresses issues identified by PSScriptAnalyzer and code style improvements
- Adds support for Visual C++ Redistributable for Visual Studio 2022, version
14.30.30704.0
- Moves the
Visual C++ 2010 Service Pack 1 Redistributable Package MFC Security Update
to the unsupported list of Redistributables
- Update for VcRedist 2019 version
14.29.30135.0
- Update for VcRedist 2019 version
14.29.30133.0
- Fixes an issue with
Import-VcConfigMgrApplication
that produces an errorString was not recognized as a valid DateTime
. Function now uses the short date/time format of the current session when importing the application - Updated
New-VcMdtBundle
andUpdate-VcMdtBundle
to use the short date/time format of the current session when creating or updating the bundle
- Update for VcRedist 2019 version
14.29.30040.0
- Update for VcRedist 2019 version
14.29.30037.0
- Updates module to use external help MAML-based help with platyPS to make updating help content easier
- General code improvements across various functions
- Update module for documentation site updates
- Updates the VcRedist manifest for VcRedist 2019
14.28.29914.0
- Adds
Path
property to output fromSave-VcRedist
that includes the path to the downloaded VcRedist
- IMPORTANT: This release moves the Visual C++ Redistributable 2008 to the list of unsupported Redistributables and therefore will not be returned by default by
Get-VcList
. See the documentation on how to retrieve the supported and unsupported list of Redistributables - Fixes an issue when passing the list of Redistributables to
Install-VcRedist
via the pipeline #77 - Fixes an issue with the output from
Save-VcRedist
where it would fail to return the list of Redistributables to the pipeline when run a second time
- Fix an issue in
Get-VcList
where it fails when exporting an unsupported Visual C++ Redistributable - Sort the list of Visual C++ Redistributables passed to
Install-VcRedist
by version number so that Redistributables are installed in order from oldest to newest - Update
Save-VcRedist
to not throw when attempting to download a Visual C++ Redistributable URL that returns a 404, so that it will continue to download the remaining Redistributables. See the known issues for Redistributables that are no longer available for download - Update
Install-VcRedist
to not throw when a Redistributable installer is unavailable in the target path and continue to install the remaining Redistributables. This allows this function to continue the install process when specific Redistributables are not downloaded bySave-VcRedist
- Update
Uninstall-VcRedist
for pipeline support correctly. This enables commands such asGet-InstalledVcRedist | Uninstall-VcRedist
- Updates the major version to 3 due to the introduction of a breaking change
- Changes the folder structure used when downloading VcRedists and importing into MDT or ConfigMgr. Structure is now:
Release\Version\Architecture
. For example:2019\14.28.29913.0\x64
. This change has been introduced to allow importing VcRedist installers into ConfigMgr and Microsoft Intune as distinct application versions that can be used to supersede earlier versions and upgrade target PCs - Updates
Import-VcMdtApplication
to import VcRedist applications with new folder structure and naming convention. Applications will be created in the following format:Visual C++ Redistributable Release Architecture Version
, for example:Visual C++ Redistributable 2019 x86 14.28.29913.0
- Validates previous changes in
Import-VcConfigMgrApplication
that import VcRedist applications with new folder structure and naming convention. Applications will be created in the following format:Visual C++ Redistributable Release Architecture Version
, for example:Visual C++ Redistributable 2019 x86 14.28.29913.0
- Fixes an issue in
Import-VcConfigMgrApplication
when copying the VcRedist setup executable into the ConfigMgr deployment share via robocopy that reported an error even where it had successfully copied the target executable. Addresses issue: #63 - Updates
Import-VcConfigMgrApplication
to copy the VcRedist setup executables individually instead of copying the entire VcRedist download folder (saved withSave-VcRedist
). This allows for individual installers to be imported with only the content required for each version - Adds parameter
-NoProgress
toSave-VcRedist
to allow for suppressingInvoke-WebRequest
download progress while using the-Verbose
parameter. Download speed if affected whenInvoke-WebRequest
displays the download progress - Updates inline help across various functions
- Various clean-up of code for robustness, error checking and spelling
- Updates the VcRedist manifest for VcRedist 2019
14.28.29913.0
- Adds the
UninstallKey
property to the VcRedist manifest for use with adding detection methods for 32-bit or 64-bit Registry keys - Adds the
UninstallKey
toGet-InstalledVcRedist
to assist with determining application detection methods (e.g. with ConfigMgr, Intune etc.) - Updates
Import-VcConfigMgrApplication
with:- Updates application name in the format:
Visual C++ Redistributable 2010 x64 10.0.40219.325
- Updates application detection method to detect target Registry key (in the correct 32-bit or 64-bit Registry). Addresses issue: #58
- Adds parameter
-NoCopy
to allow import of VcRedist applications into without needing to copy content to the ConfigMgr deployment share
- Updates application name in the format:
- Various clean-up of code and spelling
- Update VcRedist
2019
to14.28.29325.2
- Fix an issue where
Save-VcRedist
was not returning downloaded VcRedists details to the pipeline - Adds private function
Get-DigitalSignature
to return digital signature / certificate info from VcRedist installers viaGet-FileMetadata
- Update VcRedist
2019
to14.27.29112.0
- Update VcRedist
2017
to14.16.27033.0
- Update
Import-VcConfigMgrApplication
to support spaces in paths with ROBOCOPY - Rename
Master
branch toMain
- Update VcRedist
2019
to14.27.29016.0
- Update
Uninstall-VcRedist
to ensure a VcRedist uninstall does not trigger a reboot
- Update for VcRedist
2019
version14.26.28720
- Automate updating the
VcRedist
manifest for new2019
releases - Update functions with new evaluations from
PSScriptAnalyzer
- Fixes an issue where
Get-InstalledVcRedist
was not returning installed VcRedists due to incorrect RegEx match. Improve code that filters output with theExportAll
parameter
Import-MdtModule
- simplify code and ensure exception is thrown when module cannot be loadedGet-InstalledVcRedist
- update filtering for Redistributables and update code styleSave-VcRedist.ps1
- update inline help, remove use ofStart-BitsTransfer
(now only usesInvoke-WebRequest
), force use of TLS 1.2, fix reference toProxyCredential
parameter, fix output of downloaded VcRedists to the pipelineUpdate-VcMdtApplication.ps1
- ensure correct path in verbose output, fix issue with VcRedist executables not being copied to the MDT deployment shareUpdate-VcMdtBundle
- update inline help, update approach to finding the existing VcRedist bundle to fix an issue where the bundle isn't in the default location, update approach to updating bundle properties- Update Pester tests for public functions
- Add
$ProgressPreference = "SilentlyContinue"
to `Save-VcRedist for faster downloads - Update manifest to support VcRedist 2019
14.25.28508.3
- Update module description
- Export variable
VcManifest
for future use
- Updates the manifest for VcRedist 2019
14.24.28127.4
- Updates to
Import-VcConfigMgrApplication
for UNC path and ConfigMgr module validation - Updates to
Export-VcManifest
to export entire manifest. Working toward automatic updates to the manifest with new VcRedist releases
- Update the manifest for VcRedist 2019 version
14.23.27820.0
for Visual Studio 201916.3
- VcRedists imported into the MDT deployment share don't have the
Hide this application in the Deployment Wizard
option enabled - Added
-DontHide
parameter toImport-VcMdtApplication
to not hide applications in the MDT Deployment Wizard
- Add default path for
-Path
parameter inSave-VcRedist
andInstall-VcRedist
to address #53 and ensure function works when parameter is not specified - Add Begin,Process,End to fix pipeline support in
Save-VcRedist
,Install-VcRedist
,Import-VcConfigMgrApplication
,Import-VcMdtApplication
,Update-VcMdtApplication
andUpdate-VcMdtBundle
and address #53 - Add function
Uninstall-VcRedist
to manage uninstalling VcRedists - Update Pester tests for Public functions
- Add basic proxy support to
Save-VcRedist
- Update output for
Import-VcMdtApplication
,New-VcMdtBundle
,Update-VcMdtApplication
,Update-VcMdtBundle
to export all application properties - General code formatting and quality updates - use of full type names and cmdlet/function parameters, parameter splatting
- Update verbose output messages
- Consistent parameter declaration on Public functions
- Additional Try/Catch statements for better handling of exceptions
- Remove Begin/Process/End statements from functions that don't need to support multiple objects on the pipeline
- Move module manifest location from
/Manifest
to top level module folder and updateGet-VcList
to reflect new location - Update AppVeyor integration and scripts layout
- Update the manifest for VcRedist
2019
version14.21.27702.2
for Visual Studio 201916.1
- Fixed issue #45 Blank Dependency entry on Apps imported from Import-VcMdtApplication
- Fixing issue when importing VcRedists into ConfigMgr #47
- Simplify version semantics to major.minor.build
- Add VcRedist
2019
to the manifest - Convert the manifest to JSON for easier management and simpler code
- Update function
Get-VcList
to support JSON manifest format - Combine VcRedists into a single manifest
- Rename
Get-VcRedist
toSave-VcRedist
- Rename
Import-VcCmApp
toImport-VcConfigMgrApplication
- Rename function
Export-VcXml
toExport-VcManifest
- Rename
Import-VcMdtApp
toImport-VcMdtApplication
- Split function
Import-VcMdtApplication
intoImport-VcMdtApplication
,Update-VcMdtApplication
,New-VcMdtBundle
,Update-VcMdtBundle
to simplify code and provide more robust functions - Update HelpUri property on each function
- Update
Get-InstalledVcRedist
to export additional properties includingRelease
andArchitecture
- Add private functions
New-MdtApplicationFolder
,New-MdtDrive
- Update function
Get-VcList
with-Export
parameter forAll, Supported, Unsupported
- Add ability to filter
Get-VcList
output with-Release
and-Architecture
- Fix pipeline support for
Install-VcRedist
,Import-VcMdtApplication
andImport-VcConfigMgrApplication
to accept output fromGet-VcList
on the pipeline - Remove
-Release
and-Architecture
parameters fromInstall-VcRedist
,Import-VcMdtApplication
andImport-VcConfigMgrApplication
. UseGet-VcList
to filter for release and architecture instead - Update Pester tests for public and private functions
- Update manifests with correct details for VcRedist 2017
14.16.27027.1
. v1.5.1.95 included the incorrect manifest commit.
- Update manifests with VcRedist 2017
14.16.27024.1
- Update module to export alias
Save-VcRedist
forGet-VcRedist
. Next major version will renameGet-VcRedist
toSave-VcRedist
- Change
-VcList
to use[PSCustomObject]
instead of[array]
inImport-VcCmApp
andImport-VcMdtApp
- Update module icon to use new Visual Studio 2019 icon
- Added private function
Import-MdtModule
to improve MDT module loading code - Update
Import-VcMdtApp
for more robust error checking - Update private function
Get-ValidPath
to avoid errors on invalid path - Update manifest with VcRedist 2017 version
14.16.27024.1
- Fix private function
Get-Bitness
to ensure only single output when using no parameters or with-Architecture
- Fixed incorrect working directory when importing VcRedists into MDT in
Import-VcMdtApp
- Add private function
Invoke-Process
(by Adam Bertram) - Update
Install-VcRedist
to useInvoke-Process
for betterStart-Process
handling - Fix Resolve-Path / TrimEnd in private function
Get-ValidPath
- Fix relative path issue in
Import-VcCmApp
* closes issue #24 - Bundle added to MDT now adds Redistributables as dependencies in order from oldest to newest
- Splatting arguments in
Install-VcRedist
,Import-VcMdtApp
,Import-VcCmApp
- Code formatting updates
- Documentation updates
- Update manifests for latest
2017
release, version14.15.26706.0
- Update manifests with silent install command line arguments
- Added
-Silent
switch toInstall-VcRedist
,Import-VcMdtApp
&Import-VcCmApp
to support optional silent install command line arguments - Added private function
Get-Bitness
to support determining processor architecture of current OS - Update
Install-VcRedist
to avoid installing 64-bit Redistributables on 32-bit Windows - Removed pipeline support for
-VcRedist
parameter inInstall-VcRedist
,Import-VcMdtApp
&Import-VcCmApp
. Passing output fromGet-VcList
to these commands is not working correctly. Pipeline support may be added back in a future release - Removed
2015
Redistributables from default value for-Release
parameter forInstall-VcRedist
,Import-VcMdtApp
&Import-VcCmApp
functions to avoid installing2015
then2017
Redistributables that are the same major release version
- Update manifests with
2013
, version12.0.40664
- Added
UninstallString
to functionGet-InstalledVcRedist
output Get-VcList
will attempt to match the VcRedist version in the manifest to theProduct Version
property on an existing downloaded file. If the manifest has a higher version, the file will be re-downloaded- Added private function
Get-FileMetadata
to support retrievingProduct Version
from downloaded file - Update logic in
Install-VcRedist
when querying for installed VcRedists
- Add
Get-InstalledVcRedist
, using private functionGet-InstalledSoftware
. Closing issue #18 with feature request for this function.Get-InstallSoftware
function by Adam Bertram - Update manifests with correct ProductCodes
- Update documentation
- Update manifests with
2017
, version14.14
- Update manifests with
<Version></Version>
to enable better install logic e.g. skipping installing2015
over2017
- Fix import of Redistributables with correct
x86
,x64
platform selection in MDT application inImport-VcMdtApp
- Fix import of Redistributables into a folder specified by -AppFolder where the folder already exists in
Import-VcMdtApp
- Update manifests with
2017
14.13.26020
release - Update module
ReleaseNotes
property with a link to changelog https://vcredist.com/change-log - Update functions with explicit
Write-Output
- Code formatting updates
- Use
Join-Path
to build folder/file paths to better work on PSCore - Pester tests updates
- Version update to better align with feature changes
- Fixes to ConfigMgr application import
- Add
-Bundle
toImport-VcMdtApp
to create an Application Bundle with the Redistributables as dependencies. Redistributables will be hidden so that only the Bundle is selectable in the deployment wizard - Updating simple Pester tests and getting Appveyor integration working
- Cleanup inline help
- Generated external help with platyPS
- Added function
Import-VcCmApp
for importing Visual C++ Redistributables into ConfigMgr.
- Refactored into a PowerShell module to simplify coding and publishing to the PowerShell Gallery.