Skip to content

Conversation

@Romanitho
Copy link
Owner

Refactored the prerequisite check for Microsoft Visual C++ 2015-2022 Redistributable to use architecture-specific registry paths and version checks. The script now determines the OS architecture dynamically, checks for the required minimum version, and only downloads and installs the redistributable if necessary. Improved logging and error handling for better clarity.

Refactored the prerequisite check for Microsoft Visual C++ 2015-2022 Redistributable to use architecture-specific registry paths and version checks. The script now determines the OS architecture dynamically, checks for the required minimum version, and only downloads and installs the redistributable if necessary. Improved logging and error handling for better clarity.
Copilot AI review requested due to automatic review settings December 19, 2025 00:32
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR refactors the Visual C++ Redistributable prerequisite check to use a more robust architecture-specific approach. The refactored code dynamically detects OS architecture, performs version checking against registry values, and only installs the redistributable when necessary.

Key Changes:

  • Replaced generic DisplayName-based registry search with architecture-specific registry path lookups using RuntimeInformation::OSArchitecture
  • Updated minimum version requirement from 14.40.0.0 to 14.50.0.0
  • Improved logging messages and error handling with more concise output

@github-actions
Copy link
Contributor

MegaLinter analysis: Error

Descriptor Linter Files Fixed Errors Warnings Elapsed time
✅ COPYPASTE jscpd yes no no 2.36s
✅ POWERSHELL powershell 1 0 0 2.04s
✅ POWERSHELL powershell_formatter 1 0 0 1.59s
⚠️ REPOSITORY checkov yes 3 no 13.88s
⚠️ REPOSITORY devskim yes 1 8 1.38s
✅ REPOSITORY dustilock yes no no 0.01s
❌ REPOSITORY gitleaks yes 2 no 0.75s
✅ REPOSITORY git_diff yes no no 0.01s
✅ REPOSITORY grype yes no no 26.15s
✅ REPOSITORY kics yes no no 1.62s
✅ REPOSITORY secretlint yes no no 0.5s
✅ REPOSITORY syft yes no no 0.92s
✅ REPOSITORY trivy yes no no 6.75s
✅ REPOSITORY trivy-sbom yes no no 0.1s
✅ REPOSITORY trufflehog yes no no 2.15s
⚠️ SPELL cspell 2 6 0 3.77s

Detailed Issues

❌ REPOSITORY / gitleaks - 2 errors

Linter output file not found

⚠️ REPOSITORY / checkov - 3 errors

Linter output file not found

⚠️ SPELL / cspell - 6 errors

Linter output file not found

⚠️ REPOSITORY / devskim - 1 error

Linter output file not found

See detailed reports in MegaLinter artifacts
Set VALIDATE_ALL_CODEBASE: true in mega-linter.yml to validate all sources, not only the diff

MegaLinter is graciously provided by OX Security

@Romanitho Romanitho merged commit a78c49a into develop Dec 19, 2025
1 of 2 checks passed
@Romanitho Romanitho deleted the fix-visual-c++ branch December 19, 2025 00:42
@Romanitho
Copy link
Owner Author

closes #1089

Romanitho added a commit that referenced this pull request Dec 19, 2025
Improve VC++ Redistributable installation logic
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants