Update-FSLogix is a PowerShell 5.1–compatible script to check, download, and update Microsoft FSLogix to the latest available release.
- Detects the currently installed FSLogix version (registry + file version of
frx.exe). - Resolves the official aka.ms download URL (no redirect loops, PS 5.1-safe).
- Downloads the package using BITS by default with automatic fallback to
Invoke-WebRequest. - Extracts the ZIP, finds
FSLogixAppsSetup.exe, parses its FileVersion, and compares. - Optionally performs a silent, in-place upgrade when a newer version is available.
Ideal for golden images and AVD/RDS session hosts.
- Windows with PowerShell 5.1.
- Run elevated for install/upgrade (recommended).
- Internet access to
https://aka.ms/fslogix_downloadunless using-InstallerPath. - BITS service available (default download method), otherwise the script falls back to
Invoke-WebRequest.
You can execute the script from this repository or install it into your environment. Examples below assume the script file is available as Update-FSLogix.ps1.
PowerShell -ExecutionPolicy Bypass -File .\Update-FSLogix.ps1 -ZipComparePowerShell -ExecutionPolicy Bypass -File .\Update-FSLogix.ps1 -Update -AcceptEulaPowerShell -ExecutionPolicy Bypass -File .\Update-FSLogix.ps1 -InstallerPath C:\path\to\FSLogix.zip -Update -AcceptEulaPowerShell -ExecutionPolicy Bypass -File .\Update-FSLogix.ps1 -ResolveOnlyPowerShell -ExecutionPolicy Bypass -File .\Update-FSLogix.ps1 -OnlineCompare-AcceptEulaRequired when using-Update.-UpdatePerform a silent in-place upgrade if the package is newer than installed.-ResolveOnlyResolve the aka.ms link and print the final target URL.-OnlineComparePrint a best-effort version hint parsed from the URL.-ZipCompareCompare package FileVersion vs. installed version (no install).-InstallerPath <ZIP|EXE>Use a local ZIP/EXE instead of downloading.-DownloadUrl <string>Defaults tohttps://aka.ms/fslogix_download.-UseBitsUse BITS for download (default). To forceInvoke-WebRequestinstead, pass-UseBits:$false.-NoProxyBypass system proxy for this process (via .NETDefaultWebProxy).-KeepTempKeep temp working folder for troubleshooting.-LogPath <dir>Log directory. Default:C:\ProgramData\FSLogix\Update.
- Download uses BITS by default. If BITS fails, the script automatically falls back to
Invoke-WebRequestwith-UseBasicParsingfor PS 5.1. - Version comparison is robust: the script parses numeric components from
FileVersionand normalizes to a 4-part version for comparison. - The script enables TLS 1.2 for compatibility with Microsoft endpoints.
- Logging goes to console (without polluting pipeline) and to a rolling log file in
-LogPath.
- 0.1.2
- Default to BITS for downloads with automatic fallback to
Invoke-WebRequest. - Clarified README and parameter docs.
- Minor robustness fixes for version parsing and logging.
- Default to BITS for downloads with automatic fallback to
- 0.1.1
- PowerShell 5.1 hardening and proxy handling.
- 0.1.0
- Added
-Update,-InstallerPath, version compare improvements.
- Added
- 0.0.1
- Initial release.