Skip to content

Releases: AspiringKnowItAll/MSI-Deployment-Script

v1.1.2

05 Mar 13:51
94c0d05

Choose a tag to compare

What's Changed

Full Changelog: v1.1.1...v1.1.2

v1.1.1

04 Mar 12:26
ce90d6a

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v1.1...v1.1.1

v1.1

02 Mar 19:53

Choose a tag to compare

Summary

This PR upgrades the deployment script from v1.0 (single-host MSI install) to v1.1 (single + batch MSI/MSIX deployment) with stronger validation, retry handling, and run-level reporting.


Key Differences (v1.0 → v1.1)

1) Scope and Execution Model

  • v1.0: Single remote machine workflow.
  • v1.1: Supports:
    • Single-machine mode
    • Batch mode from .txt / .csv machine lists
  • Adds chunked/throttled execution for multi-machine deployments.

2) PowerShell Runtime Handling

  • Adds PowerShell 7 detection/bootstrap logic.
  • Supports relaunch into pwsh for parallel execution support.
  • Optional install attempt for PowerShell 7 via configured Windows Update service.
  • Falls back to sequential behavior when PS7 parallelism is unavailable.

3) Input and Validation

  • Adds hostname sanitization (ConvertTo-Hostname).
  • Adds batch file discovery in script directory.
  • Batch parsing now ignores blank/commented lines and removes duplicates.
  • Adds pre-validation pipeline for batch machines:
    • AD lookup (with DNS fallback if AD module is unavailable)
    • online/reachability checks

4) Credential Validation

  • Adds probe-machine credential validation before wider execution.
  • Verifies remote admin access early.
  • Retains bounded credential retry attempts.

5) Resilience and Retry Behavior

  • Adds transfer retry delays: 5s, 10s, 30s, 60s.
  • Adds interactive retry options for failed machines:
    • Retry failed machine
    • Skip machine
    • Abort run
  • Retry rounds target only failures (not full batch replay).

6) Reboot Requirement Detection

  • Improves logic from simple post-install check to before/after reboot state comparison plus MSI exit code handling (1641, 3010).
  • Reports reboot requirement attributable to the installation event.

7) Logging and Reporting

  • v1.0: Primarily per-machine style outcomes.
  • v1.1: Single aggregated run log (Deployment_<timestamp>.log) with optional -RunLogPath.
  • Adds structured result objects and final summary output (status, attempts, exit, reboot flag, duration).
  • Adds explicit failed-machine detail in summary logging.

8) Batch File Rerun Ergonomics

  • Adds in-place batch file update:
    • successful entries are commented out to simplify reruns.

9) New Parameters

  • -NonInteractive
  • -RunLogPath

Operational Impact

  • Expands from one-off remote installs to controlled batch deployment workflows.
  • Improves reliability and troubleshooting via retries, validation, and richer logging.
  • Reduces rerun effort with selective retry handling and success-marking in batch files.

v1.0

02 Mar 12:28

Choose a tag to compare

This release supports the single entry of a machine name for execution. Upon completion, the script ends.