Adds Import-VcIntuneApplication to import the Visual C++ Redistributable into a target Microsoft Intune tenant. For this release, adding assignments to the application via Import-VcIntuneApplication is not supported. The function will return the Intune application objects that can be used to add assignments with the Add-IntuneWin32AppAssignmentAllDevices function in IntuneWin32App
Adds private function New-TemporaryFolder
Updates tests for new functions
Updates documentation for Import-VcIntuneApplication
Fixes an issue with Import-VcConfigMgrApplication that produces an error String 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 and Update-VcMdtBundle to use the short date/time format of the current session when creating or updating the bundle
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 by Save-VcRedist
Update Uninstall-VcRedist for pipeline support correctly. This enables commands such as Get-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 with Save-VcRedist). This allows for individual installers to be imported with only the content required for each version
Adds parameter -NoProgress to Save-VcRedist to allow for suppressing Invoke-WebRequest download progress while using the -Verbose parameter. Download speed if affected when Invoke-WebRequest displays the download progress
Updates inline help across various functions
Various clean-up of code for robustness, error checking and spelling
Fixes an issue where Get-InstalledVcRedist was not returning installed VcRedists due to incorrect RegEx match. Improve code that filters output with the ExportAll parameter
Import-MdtModule - simplify code and ensure exception is thrown when module cannot be loaded
Get-InstalledVcRedist - update filtering for Redistributables and update code style
Save-VcRedist.ps1 - update inline help, remove use of Start-BitsTransfer (now only uses Invoke-WebRequest), force use of TLS 1.2, fix reference to ProxyCredential parameter, fix output of downloaded VcRedists to the pipeline
Update-VcMdtApplication.ps1 - ensure correct path in verbose output, fix issue with VcRedist executables not being copied to the MDT deployment share
Update-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
Add default path for -Path parameter in Save-VcRedist and Install-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 and Update-VcMdtBundle and address #53
Add function Uninstall-VcRedist to manage uninstalling VcRedists
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 to Save-VcRedist
Rename Import-VcCmApp to Import-VcConfigMgrApplication
Rename function Export-VcXml to Export-VcManifest
Rename Import-VcMdtApp to Import-VcMdtApplication
Split function Import-VcMdtApplication into Import-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 including Release and Architecture
Update function Get-VcList with -Export parameter for All, Supported, Unsupported
Add ability to filter Get-VcList output with -Release and -Architecture
Fix pipeline support for Install-VcRedist, Import-VcMdtApplication and Import-VcConfigMgrApplication to accept output from Get-VcList on the pipeline
Remove -Release and -Architecture parameters from Install-VcRedist, Import-VcMdtApplication and Import-VcConfigMgrApplication. Use Get-VcList to filter for release and architecture instead
Update Pester tests for public and private functions
Update manifests for latest 2017 release, version 14.15.26706.0
Update manifests with silent install command line arguments
Added -Silent switch to Install-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 in Install-VcRedist, Import-VcMdtApp & Import-VcCmApp. Passing output from Get-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 for Install-VcRedist, Import-VcMdtApp & Import-VcCmApp functions to avoid installing 2015 then 2017 Redistributables that are the same major release version
Added UninstallString to function Get-InstalledVcRedist output
Get-VcList will attempt to match the VcRedist version in the manifest to the Product 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 retrieving Product Version from downloaded file
Update logic in Install-VcRedist when querying for installed VcRedists
Add Get-InstalledVcRedist, using private function Get-InstalledSoftware. Closing issue #18 with feature request for this function. Get-InstallSoftware function by Adam Bertram
Add -Bundle to Import-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