mirror of
https://github.com/pbatard/Fido.git
synced 2025-09-16 22:28:02 +02:00
Compare commits
7 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
85a29fa2ae | ||
![]() |
a99f8a10d3 | ||
![]() |
146eec8673 | ||
![]() |
e9a0a367d9 | ||
![]() |
0b0643abc8 | ||
![]() |
1d88deac7c | ||
![]() |
9025d258e8 |
498
Fido.ps1
498
Fido.ps1
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Fido v1.44 - Feature ISO Downloader, for retail Windows images and UEFI Shell
|
||||
# Fido v1.48 - Feature ISO Downloader, for retail Windows images and UEFI Shell
|
||||
# Copyright © 2019-2023 Pete Batard <pete@akeo.ie>
|
||||
# Command line support: Copyright © 2021 flx5
|
||||
# ConvertTo-ImageSource: Copyright © 2016 Chris Carter
|
||||
@@ -27,6 +27,8 @@ param(
|
||||
[string]$AppTitle = "Fido - Feature ISO Downloader",
|
||||
# (Optional) '|' separated UI localization strings.
|
||||
[string]$LocData,
|
||||
# (Optional) Forced locale
|
||||
[string]$Locale = "en-US",
|
||||
# (Optional) Path to a file that should be used for the UI icon.
|
||||
[string]$Icon,
|
||||
# (Optional) Name of a pipe the download URL should be sent to.
|
||||
@@ -43,9 +45,9 @@ param(
|
||||
# (Optional) Specify Windows architecture [Toggles commandline mode]
|
||||
[string]$Arch,
|
||||
# (Optional) Only display the download URL [Toggles commandline mode]
|
||||
[switch]$GetUrl = $False,
|
||||
[switch]$GetUrl = $false,
|
||||
# (Optional) Increase verbosity
|
||||
[switch]$Verbose = $False
|
||||
[switch]$Verbose = $false
|
||||
)
|
||||
#endregion
|
||||
|
||||
@@ -53,9 +55,9 @@ try {
|
||||
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
|
||||
} catch {}
|
||||
|
||||
$Cmd = $False
|
||||
$Cmd = $false
|
||||
if ($Win -or $Rel -or $Ed -or $Lang -or $Arch -or $GetUrl) {
|
||||
$Cmd = $True
|
||||
$Cmd = $true
|
||||
}
|
||||
|
||||
# Return a decimal Windows version that we can then check for platform support.
|
||||
@@ -81,36 +83,50 @@ if ($winver -lt 10.0) {
|
||||
}
|
||||
|
||||
#region Assembly Types
|
||||
$code = @"
|
||||
[DllImport("shell32.dll", CharSet = CharSet.Auto, SetLastError = true, BestFitMapping = false, ThrowOnUnmappableChar = true)]
|
||||
internal static extern int ExtractIconEx(string sFile, int iIndex, out IntPtr piLargeVersion, out IntPtr piSmallVersion, int amountIcons);
|
||||
[DllImport("user32.dll")]
|
||||
public static extern bool ShowWindow(IntPtr handle, int state);
|
||||
$Drawing_Assembly = "System.Drawing"
|
||||
# PowerShell 7 altered the name of the Drawing assembly...
|
||||
if ($host.version -ge "7.0") {
|
||||
$Drawing_Assembly += ".Common"
|
||||
}
|
||||
|
||||
// Extract an icon from a DLL
|
||||
public static Icon ExtractIcon(string file, int number, bool largeIcon)
|
||||
{
|
||||
IntPtr large, small;
|
||||
ExtractIconEx(file, number, out large, out small, 1);
|
||||
try {
|
||||
return Icon.FromHandle(largeIcon ? large : small);
|
||||
} catch {
|
||||
return null;
|
||||
$Signature = @{
|
||||
Namespace = "WinAPI"
|
||||
Name = "Utils"
|
||||
Language = "CSharp"
|
||||
UsingNamespace = "System.Runtime", "System.IO", "System.Text", "System.Drawing", "System.Globalization"
|
||||
ReferencedAssemblies = $Drawing_Assembly
|
||||
ErrorAction = "Stop"
|
||||
WarningAction = "Ignore"
|
||||
MemberDefinition = @"
|
||||
[DllImport("shell32.dll", CharSet = CharSet.Auto, SetLastError = true, BestFitMapping = false, ThrowOnUnmappableChar = true)]
|
||||
internal static extern int ExtractIconEx(string sFile, int iIndex, out IntPtr piLargeVersion, out IntPtr piSmallVersion, int amountIcons);
|
||||
|
||||
[DllImport("user32.dll")]
|
||||
public static extern bool ShowWindow(IntPtr handle, int state);
|
||||
// Extract an icon from a DLL
|
||||
public static Icon ExtractIcon(string file, int number, bool largeIcon) {
|
||||
IntPtr large, small;
|
||||
ExtractIconEx(file, number, out large, out small, 1);
|
||||
try {
|
||||
return Icon.FromHandle(largeIcon ? large : small);
|
||||
} catch {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
"@
|
||||
}
|
||||
|
||||
if (!$Cmd) {
|
||||
Write-Host Please Wait...
|
||||
$Drawing_Assembly = "System.Drawing"
|
||||
# PowerShell 7 altered the name of the Drawing assembly...
|
||||
if ($host.version -ge "7.0") {
|
||||
$Drawing_Assembly += ".Common"
|
||||
|
||||
if (!("WinAPI.Utils" -as [type]))
|
||||
{
|
||||
Add-Type @Signature
|
||||
}
|
||||
Add-Type -ErrorAction Stop -WarningAction Ignore -IgnoreWarnings -MemberDefinition $code -Namespace Gui -UsingNamespace System.Runtime, System.IO, System.Text, System.Drawing, System.Globalization -ReferencedAssemblies $Drawing_Assembly -Name Utils
|
||||
Add-Type -AssemblyName PresentationFramework
|
||||
|
||||
# Hide the powershell window: https://stackoverflow.com/a/27992426/1069307
|
||||
[Gui.Utils]::ShowWindow(([System.Diagnostics.Process]::GetCurrentProcess() | Get-Process).MainWindowHandle, 0) | Out-Null
|
||||
[WinAPI.Utils]::ShowWindow(([System.Diagnostics.Process]::GetCurrentProcess() | Get-Process).MainWindowHandle, 0) | Out-Null
|
||||
}
|
||||
#endregion
|
||||
|
||||
@@ -121,19 +137,9 @@ $WindowsVersions = @(
|
||||
@(
|
||||
@("Windows 11", "windows11"),
|
||||
@(
|
||||
"22H2 v1 (Build 22621.525 - 2022.10)",
|
||||
@("Windows 11 Home/Pro/Edu", 2370),
|
||||
@("Windows 11 Home China ", ($zh + 2371))
|
||||
),
|
||||
@(
|
||||
"21H2 v1 (Build 22000.318 - 2021.11)",
|
||||
@("Windows 11 Home/Pro/Edu", 2093),
|
||||
@("Windows 11 Home China ", ($zh + 2094))
|
||||
),
|
||||
@(
|
||||
"21H2 (Build 22000.194 - 2021.10)",
|
||||
@("Windows 11 Home/Pro/Edu", 2069),
|
||||
@("Windows 11 Home China ", ($zh + 2070))
|
||||
"22H2 v2 (Build 22621.1702 - 2023.05)",
|
||||
@("Windows 11 Home/Pro/Edu", 2616),
|
||||
@("Windows 11 Home China ", ($zh + 2617))
|
||||
)
|
||||
),
|
||||
@(
|
||||
@@ -142,148 +148,8 @@ $WindowsVersions = @(
|
||||
"22H2 (Build 19045.2006 - 2022.10)",
|
||||
@("Windows 10 Home/Pro/Edu", 2377),
|
||||
@("Windows 10 Home China ", ($zh + 2378))
|
||||
),
|
||||
@(
|
||||
"21H2 (Build 19044.1288 - 2021.11)",
|
||||
@("Windows 10 Home/Pro/Edu", 2084),
|
||||
@("Windows 10 Home China ", ($zh + 2085))
|
||||
),
|
||||
@(
|
||||
"21H1 (Build 19043.985 - 2021.05)",
|
||||
@("Windows 10 Home/Pro", 2033),
|
||||
@("Windows 10 Education", 2032),
|
||||
@("Windows 10 Home China ", ($zh + 2034))
|
||||
),
|
||||
@(
|
||||
"20H2 (Build 19042.631 - 2020.12)",
|
||||
@("Windows 10 Home/Pro", 1882),
|
||||
@("Windows 10 Education", 1884),
|
||||
@("Windows 10 Home China ", ($zh + 1883))
|
||||
),
|
||||
@(
|
||||
"20H2 (Build 19042.508 - 2020.10)",
|
||||
@("Windows 10 Home/Pro", 1807),
|
||||
@("Windows 10 Education", 1805),
|
||||
@("Windows 10 Home China ", ($zh + 1806))
|
||||
),
|
||||
@(
|
||||
"20H1 (Build 19041.264 - 2020.05)",
|
||||
@("Windows 10 Home/Pro", 1626),
|
||||
@("Windows 10 Education", 1625),
|
||||
@("Windows 10 Home China ", ($zh + 1627))
|
||||
),
|
||||
@(
|
||||
"19H2 (Build 18363.418 - 2019.11)",
|
||||
@("Windows 10 Home/Pro", 1429),
|
||||
@("Windows 10 Education", 1431),
|
||||
@("Windows 10 Home China ", ($zh + 1430))
|
||||
),
|
||||
@(
|
||||
"19H1 (Build 18362.356 - 2019.09)",
|
||||
@("Windows 10 Home/Pro", 1384),
|
||||
@("Windows 10 Education", 1386),
|
||||
@("Windows 10 Home China ", ($zh + 1385))
|
||||
),
|
||||
@(
|
||||
"19H1 (Build 18362.30 - 2019.05)",
|
||||
@("Windows 10 Home/Pro", 1214),
|
||||
@("Windows 10 Education", 1216),
|
||||
@("Windows 10 Home China ", ($zh + 1215))
|
||||
),
|
||||
@(
|
||||
"1809 R3 (Build 17763.379 - 2019.03)",
|
||||
@("Windows 10 Home/Pro", 1203),
|
||||
@("Windows 10 Education", 1202),
|
||||
@("Windows 10 Home China ", ($zh + 1204))
|
||||
),
|
||||
@(
|
||||
"1809 R2 (Build 17763.107 - 2018.10)",
|
||||
@("Windows 10 Home/Pro", 1060),
|
||||
@("Windows 10 Education", 1056),
|
||||
@("Windows 10 Home China ", ($zh + 1061))
|
||||
),
|
||||
@(
|
||||
"1809 R1 (Build 17763.1 - 2018.09)",
|
||||
@("Windows 10 Home/Pro", 1019),
|
||||
@("Windows 10 Education", 1021),
|
||||
@("Windows 10 Home China ", ($zh + 1020))
|
||||
),
|
||||
@(
|
||||
"1803 (Build 17134.1 - 2018.04)",
|
||||
@("Windows 10 Home/Pro", 651),
|
||||
@("Windows 10 Education", 655),
|
||||
@("Windows 10 1803", 637),
|
||||
@("Windows 10 Home China", ($zh + 652))
|
||||
),
|
||||
@(
|
||||
"1709 (Build 16299.15 - 2017.09)",
|
||||
@("Windows 10 Home/Pro", 484),
|
||||
@("Windows 10 Education", 488),
|
||||
@("Windows 10 Home China", ($zh + 485))
|
||||
),
|
||||
@(
|
||||
"1703 [Redstone 2] (Build 15063.0 - 2017.03)",
|
||||
@("Windows 10 Home/Pro", 361),
|
||||
@("Windows 10 Home/Pro N", 362),
|
||||
@("Windows 10 Single Language", 363),
|
||||
@("Windows 10 Education", 423),
|
||||
@("Windows 10 Education N", 424),
|
||||
@("Windows 10 Home China", ($zh + 364))
|
||||
),
|
||||
@(
|
||||
"1607 [Redstone 1] (Build 14393.0 - 2016.07)",
|
||||
@("Windows 10 Home/Pro", 244),
|
||||
@("Windows 10 Home/Pro N", 245),
|
||||
@("Windows 10 Single Language", 246),
|
||||
@("Windows 10 Education", 242),
|
||||
@("Windows 10 Education N", 243),
|
||||
@("Windows 10 China Get Genuine", ($zh + 247))
|
||||
),
|
||||
@(
|
||||
"1511 R3 [Threshold 2] (Build 10586.164 - 2016.04)",
|
||||
@("Windows 10 Home/Pro", 178),
|
||||
@("Windows 10 Home/Pro N", 183),
|
||||
@("Windows 10 Single Language", 184),
|
||||
@("Windows 10 Education", 179),
|
||||
@("Windows 10 Education N", 181),
|
||||
@("Windows 10 KN", ($ko + 182)),
|
||||
@("Windows 10 Education KN", ($ko + 180)),
|
||||
@("Windows 10 China Get Genuine", ($zh + 185))
|
||||
),
|
||||
@(
|
||||
"1511 R2 [Threshold 2] (Build 10586.104 - 2016.02)",
|
||||
@("Windows 10 Home/Pro", 109),
|
||||
@("Windows 10 Home/Pro N", 115),
|
||||
@("Windows 10 Single Language", 116),
|
||||
@("Windows 10 Education", 110),
|
||||
@("Windows 10 Education N", 112),
|
||||
@("Windows 10 KN", ($ko + 114)),
|
||||
@("Windows 10 Education KN", ($ko + 111)),
|
||||
@("Windows 10 China Get Genuine", ($zh + 113))
|
||||
),
|
||||
@(
|
||||
"1511 R1 [Threshold 2] (Build 10586.0 - 2015.11)",
|
||||
@("Windows 10 Home/Pro", 99),
|
||||
@("Windows 10 Home/Pro N", 105),
|
||||
@("Windows 10 Single Language", 106),
|
||||
@("Windows 10 Education", 100),
|
||||
@("Windows 10 Education N", 102),
|
||||
@("Windows 10 KN", ($ko + 104)),
|
||||
@("Windows 10 Education KN", ($ko + 101)),
|
||||
@("Windows 10 China Get Genuine", ($zh + 103))
|
||||
),
|
||||
@(
|
||||
"1507 [Threshold 1] (Build 10240.16384 - 2015.07)",
|
||||
@("Windows 10 Home/Pro", 79),
|
||||
@("Windows 10 Home/Pro N", 81),
|
||||
@("Windows 10 Single Language", 82),
|
||||
@("Windows 10 Education", 75)
|
||||
@("Windows 10 Education N", 77),
|
||||
@("Windows 10 KN", ($ko + 80)),
|
||||
@("Windows 10 Education KN", ($ko + 76)),
|
||||
@("Windows 10 China Get Genuine", ($zh + 78))
|
||||
)
|
||||
),
|
||||
)
|
||||
@(
|
||||
@("Windows 8.1", "windows8ISO"),
|
||||
@(
|
||||
@@ -295,15 +161,6 @@ $WindowsVersions = @(
|
||||
@("Windows 8.1 KN", ($ko + 62))
|
||||
)
|
||||
),
|
||||
@(
|
||||
@("Windows 7", "WIN7"),
|
||||
@(
|
||||
"with SP1 (build 7601)",
|
||||
@("Windows 7 Ultimate", 0),
|
||||
@("Windows 7 Professional", 1),
|
||||
@("Windows 7 Home Premium", 2)
|
||||
)
|
||||
),
|
||||
@(
|
||||
@("UEFI Shell 2.2", "UEFI_SHELL 2.2"),
|
||||
@(
|
||||
@@ -340,42 +197,6 @@ $WindowsVersions = @(
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
$Windows7Versions = @(
|
||||
# 0: Windows 7 Ultimate
|
||||
@(
|
||||
# Need a dummy to prevent PS from coalescing single array entries
|
||||
@(""),
|
||||
@("English (US)", "en-us",
|
||||
@(
|
||||
@("x64", "https://download.microsoft.com/download/5/1/9/5195A765-3A41-4A72-87D8-200D897CBE21/7601.24214.180801-1700.win7sp1_ldr_escrow_CLIENT_ULTIMATE_x64FRE_en-us.iso"),
|
||||
@("x86", "https://download.microsoft.com/download/1/E/6/1E6B4803-DD2A-49DF-8468-69C0E6E36218/7601.24214.180801-1700.win7sp1_ldr_escrow_CLIENT_ULTIMATE_x86FRE_en-us.iso")
|
||||
)
|
||||
)
|
||||
),
|
||||
# 1: Windows 7 Profesional
|
||||
@(
|
||||
@(""),
|
||||
@("English (US)", "en-us",
|
||||
@(
|
||||
@("x64", "https://download.microsoft.com/download/0/6/3/06365375-C346-4D65-87C7-EE41F55F736B/7601.24214.180801-1700.win7sp1_ldr_escrow_CLIENT_PROFESSIONAL_x64FRE_en-us.iso"),
|
||||
@("x86", "https://download.microsoft.com/download/C/0/6/C067D0CD-3785-4727-898E-60DC3120BB14/7601.24214.180801-1700.win7sp1_ldr_escrow_CLIENT_PROFESSIONAL_x86FRE_en-us.iso")
|
||||
)
|
||||
)
|
||||
),
|
||||
# 2: Windows 7 Home Premium
|
||||
@(
|
||||
@(""),
|
||||
@("English (US)", "en-us",
|
||||
@(
|
||||
@("x64", "https://download.microsoft.com/download/E/A/8/EA804D86-C3DF-4719-9966-6A66C9306598/7601.24214.180801-1700.win7sp1_ldr_escrow_CLIENT_HOMEPREMIUM_x64FRE_en-us.iso"),
|
||||
@("x86", "https://download.microsoft.com/download/E/D/A/EDA6B508-7663-4E30-86F9-949932F443D0/7601.24214.180801-1700.win7sp1_ldr_escrow_CLIENT_HOMEPREMIUM_x86FRE_en-us.iso")
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
)
|
||||
#endregion
|
||||
|
||||
#region Functions
|
||||
@@ -425,9 +246,9 @@ function Select-Language([string]$LangName)
|
||||
($SysLocale.StartsWith("tr") -and $LangName -like "*Turk*") -or `
|
||||
($SysLocale.StartsWith("uk") -and $LangName -like "*Ukrain*") -or `
|
||||
($SysLocale.StartsWith("vi") -and $LangName -like "*Vietnam*")) {
|
||||
return $True
|
||||
return $true
|
||||
}
|
||||
return $False
|
||||
return $false
|
||||
}
|
||||
|
||||
function Add-Entry([int]$pos, [string]$Name, [array]$Items, [string]$DisplayName)
|
||||
@@ -520,7 +341,7 @@ function ConvertTo-ImageSource
|
||||
function Throw-Error([object]$Req, [string]$Alt)
|
||||
{
|
||||
$Err = $(GetElementById -Request $Req -Id "errorModalMessage").innerText -replace "<[^>]+>" -replace "\s+", " "
|
||||
if (-not $Err) {
|
||||
if (!$Err) {
|
||||
$Err = $Alt
|
||||
} else {
|
||||
$Err = [System.Text.Encoding]::UTF8.GetString([byte[]][char[]]$Err)
|
||||
@@ -531,7 +352,7 @@ function Throw-Error([object]$Req, [string]$Alt)
|
||||
# Translate a message string
|
||||
function Get-Translation([string]$Text)
|
||||
{
|
||||
if (-not $English -contains $Text) {
|
||||
if (!($English -contains $Text)) {
|
||||
Write-Host "Error: '$Text' is not a translatable string"
|
||||
return "(Untranslated)"
|
||||
}
|
||||
@@ -569,7 +390,7 @@ function Error([string]$ErrorMessage)
|
||||
if (!$Cmd) {
|
||||
$XMLForm.Title = $(Get-Translation("Error")) + ": " + $ErrorMessage
|
||||
Refresh-Control($XMLForm)
|
||||
$XMLGrid.Children[2 * $script:Stage + 1].IsEnabled = $True
|
||||
$XMLGrid.Children[2 * $script:Stage + 1].IsEnabled = $true
|
||||
$UserInput = [System.Windows.MessageBox]::Show($XMLForm.Title, $(Get-Translation("Error")), "OK", "Error")
|
||||
$script:ExitCode = $script:Stage--
|
||||
} else {
|
||||
@@ -615,7 +436,7 @@ if ($Cmd) {
|
||||
$MaxStage = 4
|
||||
$SessionId = [guid]::NewGuid()
|
||||
$ExitCode = 100
|
||||
$Locale = "en-US"
|
||||
$Locale = $Locale
|
||||
$RequestData = @{}
|
||||
# This GUID applies to all visitors, regardless of their locale
|
||||
$RequestData["GetLangs"] = @("a8f8f489-4c7f-463a-9ca6-5cff94d8d041", "getskuinformationbyproductedition" )
|
||||
@@ -642,7 +463,7 @@ $EnglishMessages = "en-US|Version|Release|Edition|Language|Architecture|Download
|
||||
"This feature is not available on this platform."
|
||||
[string[]]$English = $EnglishMessages.Split('|')
|
||||
[string[]]$Localized = $null
|
||||
if ($LocData -and (-not $LocData.StartsWith("en-US"))) {
|
||||
if ($LocData -and !$LocData.StartsWith("en-US")) {
|
||||
$Localized = $LocData.Split('|')
|
||||
# Adjust the $Localized array if we have more or fewer strings than in $EnglishMessages
|
||||
if ($Localized.Length -lt $English.Length) {
|
||||
@@ -843,10 +664,11 @@ function Get-Windows-Download-Links([int]$SelectedVersion, [int]$SelectedRelease
|
||||
$ref = "https://www.microsoft.com/software-download/windows11"
|
||||
$r = Invoke-WebRequest -Method Post -Headers @{ "Referer" = $ref } -UseBasicParsing -UserAgent $UserAgent -WebSession $Session $url
|
||||
if ($r -match "errorModalMessage") {
|
||||
$Alt = [regex]::Match($r, '<p id="errorModalMessage">(.+?)<\/p>').Groups[1].Value -replace "<[^>]+>" -replace "\s+", " " -replace "\?\?\?", "-"
|
||||
if (-not $Alt) {
|
||||
$Alt = [regex]::Match($r.Content, '<p id="errorModalMessage">(.+?)<\/p>').Groups[1].Value -replace "<[^>]+>" -replace "\s+", " " -replace "\?\?\?", "-"
|
||||
$Alt = [System.Text.Encoding]::UTF8.GetString([byte[]][char[]]$Alt)
|
||||
if (!$Alt) {
|
||||
$Alt = "Could not retrieve architectures from server"
|
||||
} else {
|
||||
} elseif ($Alt -match "715-123130") {
|
||||
$Alt += " " + $SessionId + "."
|
||||
}
|
||||
Throw-Error -Req $r -Alt $Alt
|
||||
@@ -864,7 +686,7 @@ function Get-Windows-Download-Links([int]$SelectedVersion, [int]$SelectedRelease
|
||||
foreach ($var in $xml.inputs.input) {
|
||||
$json = $var.value | ConvertFrom-Json;
|
||||
if ($json) {
|
||||
if (($Is64 -and $json.DownloadType -eq "x64") -or (-not $Is64 -and $json.DownloadType -eq "x86")) {
|
||||
if (($Is64 -and $json.DownloadType -eq "x64") -or (!$Is64 -and $json.DownloadType -eq "x86")) {
|
||||
$script:SelectedIndex = $i
|
||||
}
|
||||
$links += @(New-Object PsObject -Property @{ Type = $json.DownloadType; Link = $json.Uri })
|
||||
@@ -886,7 +708,7 @@ function Get-Windows-Download-Links([int]$SelectedVersion, [int]$SelectedRelease
|
||||
function Process-Download-Link([string]$Url)
|
||||
{
|
||||
try {
|
||||
if ($PipeName -and -not $Check.IsChecked) {
|
||||
if ($PipeName -and !$Check.IsChecked) {
|
||||
Send-Message -PipeName $PipeName -Message $Url
|
||||
} else {
|
||||
if ($Cmd) {
|
||||
@@ -1082,7 +904,7 @@ $XMLForm.Title = $AppTitle
|
||||
if ($Icon) {
|
||||
$XMLForm.Icon = $Icon
|
||||
} else {
|
||||
$XMLForm.Icon = [Gui.Utils]::ExtractIcon("imageres.dll", -5205, $true) | ConvertTo-ImageSource
|
||||
$XMLForm.Icon = [WinAPI.Utils]::ExtractIcon("imageres.dll", -5205, $true) | ConvertTo-ImageSource
|
||||
}
|
||||
if ($Locale.StartsWith("ar") -or $Locale.StartsWith("fa") -or $Locale.StartsWith("he")) {
|
||||
$XMLForm.FlowDirection = "RightToLeft"
|
||||
@@ -1110,9 +932,9 @@ $WindowsVersion.DisplayMemberPath = "Version"
|
||||
# Button Action
|
||||
$Continue.add_click({
|
||||
$script:Stage++
|
||||
$XMLGrid.Children[2 * $Stage + 1].IsEnabled = $False
|
||||
$Continue.IsEnabled = $False
|
||||
$Back.IsEnabled = $False
|
||||
$XMLGrid.Children[2 * $Stage + 1].IsEnabled = $false
|
||||
$Continue.IsEnabled = $false
|
||||
$Back.IsEnabled = $false
|
||||
Refresh-Control($Continue)
|
||||
Refresh-Control($Back)
|
||||
|
||||
@@ -1121,7 +943,7 @@ $Continue.add_click({
|
||||
1 { # Windows Version selection
|
||||
$XMLForm.Title = Get-Translation($English[12])
|
||||
Refresh-Control($XMLForm)
|
||||
if ($WindowsVersion.SelectedValue.Version.StartsWith("Windows") -and $WindowsVersion.SelectedValue.Version -ne "Windows 7") {
|
||||
if ($WindowsVersion.SelectedValue.Version.StartsWith("Windows")) {
|
||||
Check-Locale
|
||||
}
|
||||
$releases = Get-Windows-Releases $WindowsVersion.SelectedValue.Index
|
||||
@@ -1180,9 +1002,9 @@ $Continue.add_click({
|
||||
$XMLForm.Close()
|
||||
}
|
||||
}
|
||||
$Continue.IsEnabled = $True
|
||||
$Continue.IsEnabled = $true
|
||||
if ($Stage -ge 0) {
|
||||
$Back.IsEnabled = $True
|
||||
$Back.IsEnabled = $true
|
||||
}
|
||||
})
|
||||
|
||||
@@ -1192,7 +1014,7 @@ $Back.add_click({
|
||||
} else {
|
||||
$XMLGrid.Children.RemoveAt(2 * $Stage + 3)
|
||||
$XMLGrid.Children.RemoveAt(2 * $Stage + 2)
|
||||
$XMLGrid.Children[2 * $Stage + 1].IsEnabled = $True
|
||||
$XMLGrid.Children[2 * $Stage + 1].IsEnabled = $true
|
||||
$dh2 = $dh
|
||||
if ($Stage -eq 4 -and $PipeName) {
|
||||
$Check.Visibility = "Collapsed"
|
||||
@@ -1217,17 +1039,17 @@ $Back.add_click({
|
||||
})
|
||||
|
||||
# Display the dialog
|
||||
$XMLForm.Add_Loaded( { $XMLForm.Activate() } )
|
||||
$XMLForm.Add_Loaded({$XMLForm.Activate()})
|
||||
$XMLForm.ShowDialog() | Out-Null
|
||||
|
||||
# Clean up & exit
|
||||
exit $ExitCode
|
||||
|
||||
# SIG # Begin signature block
|
||||
# MIIkWQYJKoZIhvcNAQcCoIIkSjCCJEYCAQExDzANBglghkgBZQMEAgEFADB5Bgor
|
||||
# MIIkWAYJKoZIhvcNAQcCoIIkSTCCJEUCAQExDzANBglghkgBZQMEAgEFADB5Bgor
|
||||
# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG
|
||||
# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCDCpZpntjuU2uHY
|
||||
# z3/0OsY2UtUKjz1UjCN6T8dRzpny96CCElkwggVvMIIEV6ADAgECAhBI/JO0YFWU
|
||||
# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCAKGhYjDheH+4Sn
|
||||
# 5iG1+mYZH/3+X0FEa7Q/82dpZOd6k6CCElkwggVvMIIEV6ADAgECAhBI/JO0YFWU
|
||||
# jTanyYqJ1pQWMA0GCSqGSIb3DQEBDAUAMHsxCzAJBgNVBAYTAkdCMRswGQYDVQQI
|
||||
# DBJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAOBgNVBAcMB1NhbGZvcmQxGjAYBgNVBAoM
|
||||
# EUNvbW9kbyBDQSBMaW1pdGVkMSEwHwYDVQQDDBhBQUEgQ2VydGlmaWNhdGUgU2Vy
|
||||
@@ -1325,97 +1147,97 @@ exit $ExitCode
|
||||
# QTYOb9goARWPNlkKbyF9bndu5kLWIlZcOS7IIznOcS4y1J5ZJewBRH4kbuNfCbSl
|
||||
# HMZS/rmpFprXXFdje6TRXwgvBs6UOR1zTe5ycumyo5FYBVEFGR1Ps6ZC3z62yLPk
|
||||
# pb5YSma1/ut/KplOxOnK74ELd/vTS2i10qmsqP5+m+U2jznmCEwm8g8V1mg94acL
|
||||
# iyM9uR5+U3y6OrVRkMnG9K9ZuTGCEVYwghFSAgEBMGwwVzELMAkGA1UEBhMCR0Ix
|
||||
# iyM9uR5+U3y6OrVRkMnG9K9ZuTGCEVUwghFRAgEBMGwwVzELMAkGA1UEBhMCR0Ix
|
||||
# GDAWBgNVBAoTD1NlY3RpZ28gTGltaXRlZDEuMCwGA1UEAxMlU2VjdGlnbyBQdWJs
|
||||
# aWMgQ29kZSBTaWduaW5nIENBIEVWIFIzNgIRAL+xUAG79ZLUlip3l+pzb6MwDQYJ
|
||||
# YIZIAWUDBAIBBQCgfDAQBgorBgEEAYI3AgEMMQIwADAZBgkqhkiG9w0BCQMxDAYK
|
||||
# KwYBBAGCNwIBBDAcBgorBgEEAYI3AgELMQ4wDAYKKwYBBAGCNwIBFTAvBgkqhkiG
|
||||
# 9w0BCQQxIgQgH+Kly8R4u5iFMlpWglzfc5lMDQgs38C2FS0CujFgfdMwDQYJKoZI
|
||||
# hvcNAQEBBQAEggIAqDdE38CiBnf6ksVoNbp+EAUi5M1rD/b885OIuaXqUUjCMOaR
|
||||
# R34hPylb/Lc9CbCJ1aiqjhyap/hnNryeXBSkr+HIfP5UyDGXjCsfFFwyPVyRPd72
|
||||
# BKM8tYfuUvZbIvWmsFUJfe24VTEGTbh5XTM5s6RgQCQZ4V/M6ePCH6LxiHuIufWL
|
||||
# DCaKS6/AO0icPkF0CtQQiGk/z0nlrp6T6IppDkGS7yAYip5/flBxmQsRCkNlL9mw
|
||||
# XTL63kd1ar9cZTR1knAXwM2qXfkkOxGX8OGQ04P01/wWjEBMoYBUmUbHIWKgcg1T
|
||||
# QmXZEObFJHRkNMfPU+F+oc/kDwd4SXCv6x7E6XOgxB4C9B9sE88ZEOOv26FTS4fa
|
||||
# +VVFPffxfmdQT+pKch8j3h/OGgJM2OAqnEoK8KTZYlCoJO781YfAjertrewXKHv/
|
||||
# HzlJ7gu5t3Ji7WrzoCusHEszv+LYl3TupZ2VZNmQDY57/br3LxNHOxRmjFAigI6z
|
||||
# 3OyVwOx6L+onBr+jg5LGkA+XPhTjdAhBJ2bI9ayUYURKv5/jNUbyk6RZHUncTKUj
|
||||
# Oze0eaX15F/UpGbJZaR9wCCj28jCk4zxbqSTqQcSjxM8zfp23fcxd2NICtd8UhFt
|
||||
# pGfR1jleAJsKuDJts+k8WcfT2SaEGQmmklM/wIusRaIWn6KHr8wAFBgz8huhgg49
|
||||
# MIIOOQYKKwYBBAGCNwMDATGCDikwgg4lBgkqhkiG9w0BBwKggg4WMIIOEgIBAzEN
|
||||
# MAsGCWCGSAFlAwQCATCCAQ8GCyqGSIb3DQEJEAEEoIH/BIH8MIH5AgEBBgtghkgB
|
||||
# hvhFAQcXAzAxMA0GCWCGSAFlAwQCAQUABCBIdB9A36e59U63AWbaDgc60655s3pE
|
||||
# PaBLt9XKx9DWuQIVAKmmRn4m0Gad1QsRv95QHHuKDBOzGA8yMDIzMDMwNzEyMTEz
|
||||
# MFowAwIBHqCBhqSBgzCBgDELMAkGA1UEBhMCVVMxHTAbBgNVBAoTFFN5bWFudGVj
|
||||
# IENvcnBvcmF0aW9uMR8wHQYDVQQLExZTeW1hbnRlYyBUcnVzdCBOZXR3b3JrMTEw
|
||||
# LwYDVQQDEyhTeW1hbnRlYyBTSEEyNTYgVGltZVN0YW1waW5nIFNpZ25lciAtIEcz
|
||||
# oIIKizCCBTgwggQgoAMCAQICEHsFsdRJaFFE98mJ0pwZnRIwDQYJKoZIhvcNAQEL
|
||||
# BQAwgb0xCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjEfMB0G
|
||||
# A1UECxMWVmVyaVNpZ24gVHJ1c3QgTmV0d29yazE6MDgGA1UECxMxKGMpIDIwMDgg
|
||||
# VmVyaVNpZ24sIEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTE4MDYGA1UE
|
||||
# AxMvVmVyaVNpZ24gVW5pdmVyc2FsIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3Jp
|
||||
# dHkwHhcNMTYwMTEyMDAwMDAwWhcNMzEwMTExMjM1OTU5WjB3MQswCQYDVQQGEwJV
|
||||
# UzEdMBsGA1UEChMUU3ltYW50ZWMgQ29ycG9yYXRpb24xHzAdBgNVBAsTFlN5bWFu
|
||||
# dGVjIFRydXN0IE5ldHdvcmsxKDAmBgNVBAMTH1N5bWFudGVjIFNIQTI1NiBUaW1l
|
||||
# U3RhbXBpbmcgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC7WZ1Z
|
||||
# VU+djHJdGoGi61XzsAGtPHGsMo8Fa4aaJwAyl2pNyWQUSym7wtkpuS7sY7Phzz8L
|
||||
# VpD4Yht+66YH4t5/Xm1AONSRBudBfHkcy8utG7/YlZHz8O5s+K2WOS5/wSe4eDnF
|
||||
# hKXt7a+Hjs6Nx23q0pi1Oh8eOZ3D9Jqo9IThxNF8ccYGKbQ/5IMNJsN7CD5N+Qq3
|
||||
# M0n/yjvU9bKbS+GImRr1wOkzFNbfx4Dbke7+vJJXcnf0zajM/gn1kze+lYhqxdz0
|
||||
# sUvUzugJkV+1hHk1inisGTKPI8EyQRtZDqk+scz51ivvt9jk1R1tETqS9pPJnONI
|
||||
# 7rtTDtQ2l4Z4xaE3AgMBAAGjggF3MIIBczAOBgNVHQ8BAf8EBAMCAQYwEgYDVR0T
|
||||
# AQH/BAgwBgEB/wIBADBmBgNVHSAEXzBdMFsGC2CGSAGG+EUBBxcDMEwwIwYIKwYB
|
||||
# BQUHAgEWF2h0dHBzOi8vZC5zeW1jYi5jb20vY3BzMCUGCCsGAQUFBwICMBkaF2h0
|
||||
# dHBzOi8vZC5zeW1jYi5jb20vcnBhMC4GCCsGAQUFBwEBBCIwIDAeBggrBgEFBQcw
|
||||
# AYYSaHR0cDovL3Muc3ltY2QuY29tMDYGA1UdHwQvMC0wK6ApoCeGJWh0dHA6Ly9z
|
||||
# LnN5bWNiLmNvbS91bml2ZXJzYWwtcm9vdC5jcmwwEwYDVR0lBAwwCgYIKwYBBQUH
|
||||
# AwgwKAYDVR0RBCEwH6QdMBsxGTAXBgNVBAMTEFRpbWVTdGFtcC0yMDQ4LTMwHQYD
|
||||
# VR0OBBYEFK9j1sqjToVy4Ke8QfMpojh/gHViMB8GA1UdIwQYMBaAFLZ3+mlIR59T
|
||||
# EtXC6gcydgfRlwcZMA0GCSqGSIb3DQEBCwUAA4IBAQB16rAt1TQZXDJF/g7h1E+m
|
||||
# eMFv1+rd3E/zociBiPenjxXmQCmt5l30otlWZIRxMCrdHmEXZiBWBpgZjV1x8viX
|
||||
# vAn9HJFHyeLojQP7zJAv1gpsTjPs1rSTyEyQY0g5QCHE3dZuiZg8tZiX6KkGtwnJ
|
||||
# j1NXQZAv4R5NTtzKEHhsQm7wtsX4YVxS9U72a433Snq+8839A9fZ9gOoD+NT9wp1
|
||||
# 7MZ1LqpmhQSZt/gGV+HGDvbor9rsmxgfqrnjOgC/zoqUywHbnsc4uw9Sq9HjlANg
|
||||
# Ck2g/idtFDL8P5dA4b+ZidvkORS92uTTw+orWrOVWFUEfcea7CMDjYUq0v+uqWGB
|
||||
# MIIFSzCCBDOgAwIBAgIQe9Tlr7rMBz+hASMEIkFNEjANBgkqhkiG9w0BAQsFADB3
|
||||
# MQswCQYDVQQGEwJVUzEdMBsGA1UEChMUU3ltYW50ZWMgQ29ycG9yYXRpb24xHzAd
|
||||
# BgNVBAsTFlN5bWFudGVjIFRydXN0IE5ldHdvcmsxKDAmBgNVBAMTH1N5bWFudGVj
|
||||
# IFNIQTI1NiBUaW1lU3RhbXBpbmcgQ0EwHhcNMTcxMjIzMDAwMDAwWhcNMjkwMzIy
|
||||
# MjM1OTU5WjCBgDELMAkGA1UEBhMCVVMxHTAbBgNVBAoTFFN5bWFudGVjIENvcnBv
|
||||
# cmF0aW9uMR8wHQYDVQQLExZTeW1hbnRlYyBUcnVzdCBOZXR3b3JrMTEwLwYDVQQD
|
||||
# EyhTeW1hbnRlYyBTSEEyNTYgVGltZVN0YW1waW5nIFNpZ25lciAtIEczMIIBIjAN
|
||||
# BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArw6Kqvjcv2l7VBdxRwm9jTyB+HQV
|
||||
# d2eQnP3eTgKeS3b25TY+ZdUkIG0w+d0dg+k/J0ozTm0WiuSNQI0iqr6nCxvSB7Y8
|
||||
# tRokKPgbclE9yAmIJgg6+fpDI3VHcAyzX1uPCB1ySFdlTa8CPED39N0yOJM/5Sym
|
||||
# 81kjy4DeE035EMmqChhsVWFX0fECLMS1q/JsI9KfDQ8ZbK2FYmn9ToXBilIxq1vY
|
||||
# yXRS41dsIr9Vf2/KBqs/SrcidmXs7DbylpWBJiz9u5iqATjTryVAmwlT8ClXhVhe
|
||||
# 6oVIQSGH5d600yaye0BTWHmOUjEGTZQDRcTOPAPstwDyOiLFtG/l77CKmwIDAQAB
|
||||
# o4IBxzCCAcMwDAYDVR0TAQH/BAIwADBmBgNVHSAEXzBdMFsGC2CGSAGG+EUBBxcD
|
||||
# MEwwIwYIKwYBBQUHAgEWF2h0dHBzOi8vZC5zeW1jYi5jb20vY3BzMCUGCCsGAQUF
|
||||
# BwICMBkaF2h0dHBzOi8vZC5zeW1jYi5jb20vcnBhMEAGA1UdHwQ5MDcwNaAzoDGG
|
||||
# L2h0dHA6Ly90cy1jcmwud3Muc3ltYW50ZWMuY29tL3NoYTI1Ni10c3MtY2EuY3Js
|
||||
# MBYGA1UdJQEB/wQMMAoGCCsGAQUFBwMIMA4GA1UdDwEB/wQEAwIHgDB3BggrBgEF
|
||||
# BQcBAQRrMGkwKgYIKwYBBQUHMAGGHmh0dHA6Ly90cy1vY3NwLndzLnN5bWFudGVj
|
||||
# LmNvbTA7BggrBgEFBQcwAoYvaHR0cDovL3RzLWFpYS53cy5zeW1hbnRlYy5jb20v
|
||||
# c2hhMjU2LXRzcy1jYS5jZXIwKAYDVR0RBCEwH6QdMBsxGTAXBgNVBAMTEFRpbWVT
|
||||
# dGFtcC0yMDQ4LTYwHQYDVR0OBBYEFKUTAamfhcwbbhYeXzsxqnk2AHsdMB8GA1Ud
|
||||
# IwQYMBaAFK9j1sqjToVy4Ke8QfMpojh/gHViMA0GCSqGSIb3DQEBCwUAA4IBAQBG
|
||||
# nq/wuKJfoplIz6gnSyHNsrmmcnBjL+NVKXs5Rk7nfmUGWIu8V4qSDQjYELo2JPoK
|
||||
# e/s702K/SpQV5oLbilRt/yj+Z89xP+YzCdmiWRD0Hkr+Zcze1GvjUil1AEorpczL
|
||||
# m+ipTfe0F1mSQcO3P4bm9sB/RDxGXBda46Q71Wkm1SF94YBnfmKst04uFZrlnCOv
|
||||
# WxHqcalB+Q15OKmhDc+0sdo+mnrHIsV0zd9HCYbE/JElshuW6YUI6N3qdGBuYKVW
|
||||
# eg3IRFjc5vlIFJ7lv94AvXexmBRyFCTfxxEsHwA/w0sUxmcczB4Go5BfXFSLPuMz
|
||||
# W4IPxbeGAk5xn+lmRT92MYICWjCCAlYCAQEwgYswdzELMAkGA1UEBhMCVVMxHTAb
|
||||
# BgNVBAoTFFN5bWFudGVjIENvcnBvcmF0aW9uMR8wHQYDVQQLExZTeW1hbnRlYyBU
|
||||
# cnVzdCBOZXR3b3JrMSgwJgYDVQQDEx9TeW1hbnRlYyBTSEEyNTYgVGltZVN0YW1w
|
||||
# aW5nIENBAhB71OWvuswHP6EBIwQiQU0SMAsGCWCGSAFlAwQCAaCBpDAaBgkqhkiG
|
||||
# 9w0BCQMxDQYLKoZIhvcNAQkQAQQwHAYJKoZIhvcNAQkFMQ8XDTIzMDMwNzEyMTEz
|
||||
# MFowLwYJKoZIhvcNAQkEMSIEIBi+xZssYhAdmjF0gLXZv2WCNOM3iW02zqjWyiHi
|
||||
# 3ZVhMDcGCyqGSIb3DQEJEAIvMSgwJjAkMCIEIMR0znYAfQI5Tg2l5N58FMaA+eKC
|
||||
# ATz+9lPvXbcf32H4MAsGCSqGSIb3DQEBAQSCAQAQ/Kq0P6rLFJ66lXNqtLxRuZtB
|
||||
# MUMdYUhBiKy3RCJwf1SMi4nhV/aHEw43hQz+GsxrxENwy24VFfxOg6kguqI1Qm0b
|
||||
# w5+rCqFykHUntTAsIND27MthzzXn69wkoFv0n2IKjq05KuUEXgEy+eemStG1G0tU
|
||||
# efXWl2eFR+8ItErCzAi7Dt7R76vhRG7Sj1Ik2PlltdnK0+SuSdLfeVbTrrYQ2Kub
|
||||
# ueVJWMFFE4CX0LvFJ6fdytVVqTD8GXNj/bdt2La5zLEobYoQXHzXwJHXGY+Nj9d8
|
||||
# 5fiYgMP7RA04944Xjkoc761EySwFWPHNJjg8DTSAz+NKrnFdvb9K3hoik1wT
|
||||
# 9w0BCQQxIgQgcYaUzPH3jsRKIrG/n3A3OFwAFKTe/NoG/ABSRewp+BcwDQYJKoZI
|
||||
# hvcNAQEBBQAEggIAgWLrOaqzYCqj9Gk2IzrDi+r0VVEGp6R0decBATAD75hVjuD1
|
||||
# beFLkz9oOUu2f0mfz9S81g3LZ4Bv4ppYHWpJbR8xtq1O3Rg3eseQmNZhbQ9uCx1K
|
||||
# mXGMMjCKu3WGfQfAF6XBJjLPkACa21DPTMqn5DHaEh3bosuaLZKhXkrAH6TvIAzU
|
||||
# /YCFNJMQ+H4/GXe1oLSrauh/VXvvDZN4i3nEfisylrtLOI7e9G9w8g5rw0fGY8zr
|
||||
# Lp+2HtoOvSMdHuuUH1Lrsv40rXc/Dp008fN87S27Rbs7SQ+iD5dyqfjcSMoOv28q
|
||||
# JyL5svep2RAGsPysnkS3e1O7DJhQeNVs+QMuA88x6MmW8NG2Z9JkHr88E5RiSRff
|
||||
# 2WHd633xzoD4heMz+RbF8Fjcfpu+Vn17rWNBvw7USLHSjIQFie/aFp1JYvJu7Ydr
|
||||
# o/NAvnZQRwuoJfx7882RhzSx07oQX4M7CS0kMs6X+goTYOIvpx55rEQWi+Jcu2it
|
||||
# BlMXcSUc2tdRy8VRqoBxSuHeE8ghnYWH/EAuFGCWFAlsgM8XUIlc6EFhCMGAi4sE
|
||||
# xVdAWFQcVBimp2zyneR+CPhqT3yobPAbZ3SYzjkcUA0gScvaaOgxBhMxKXzH/f8R
|
||||
# BCxZZjJFt++r62RxEWmn7VcFnfm2YUIhDPkO+hcfRZC/Z7bId/D9blLy1GOhgg48
|
||||
# MIIOOAYKKwYBBAGCNwMDATGCDigwgg4kBgkqhkiG9w0BBwKggg4VMIIOEQIBAzEN
|
||||
# MAsGCWCGSAFlAwQCATCCAQ4GCyqGSIb3DQEJEAEEoIH+BIH7MIH4AgEBBgtghkgB
|
||||
# hvhFAQcXAzAxMA0GCWCGSAFlAwQCAQUABCDo0n7/LkB+elhn+KS65PmM68p0YJCI
|
||||
# ONHaDWAROD/9tAIUUU8TBxq9v5aMjQKFe24ZtdTtxY4YDzIwMjMwNTIzMjMzMDI2
|
||||
# WjADAgEeoIGGpIGDMIGAMQswCQYDVQQGEwJVUzEdMBsGA1UEChMUU3ltYW50ZWMg
|
||||
# Q29ycG9yYXRpb24xHzAdBgNVBAsTFlN5bWFudGVjIFRydXN0IE5ldHdvcmsxMTAv
|
||||
# BgNVBAMTKFN5bWFudGVjIFNIQTI1NiBUaW1lU3RhbXBpbmcgU2lnbmVyIC0gRzOg
|
||||
# ggqLMIIFODCCBCCgAwIBAgIQewWx1EloUUT3yYnSnBmdEjANBgkqhkiG9w0BAQsF
|
||||
# ADCBvTELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYD
|
||||
# VQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwOCBW
|
||||
# ZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MTgwNgYDVQQD
|
||||
# Ey9WZXJpU2lnbiBVbml2ZXJzYWwgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0
|
||||
# eTAeFw0xNjAxMTIwMDAwMDBaFw0zMTAxMTEyMzU5NTlaMHcxCzAJBgNVBAYTAlVT
|
||||
# MR0wGwYDVQQKExRTeW1hbnRlYyBDb3Jwb3JhdGlvbjEfMB0GA1UECxMWU3ltYW50
|
||||
# ZWMgVHJ1c3QgTmV0d29yazEoMCYGA1UEAxMfU3ltYW50ZWMgU0hBMjU2IFRpbWVT
|
||||
# dGFtcGluZyBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALtZnVlV
|
||||
# T52Mcl0agaLrVfOwAa08cawyjwVrhponADKXak3JZBRLKbvC2Sm5Luxjs+HPPwtW
|
||||
# kPhiG37rpgfi3n9ebUA41JEG50F8eRzLy60bv9iVkfPw7mz4rZY5Ln/BJ7h4OcWE
|
||||
# pe3tr4eOzo3HberSmLU6Hx45ncP0mqj0hOHE0XxxxgYptD/kgw0mw3sIPk35Crcz
|
||||
# Sf/KO9T1sptL4YiZGvXA6TMU1t/HgNuR7v68kldyd/TNqMz+CfWTN76ViGrF3PSx
|
||||
# S9TO6AmRX7WEeTWKeKwZMo8jwTJBG1kOqT6xzPnWK++32OTVHW0ROpL2k8mc40ju
|
||||
# u1MO1DaXhnjFoTcCAwEAAaOCAXcwggFzMA4GA1UdDwEB/wQEAwIBBjASBgNVHRMB
|
||||
# Af8ECDAGAQH/AgEAMGYGA1UdIARfMF0wWwYLYIZIAYb4RQEHFwMwTDAjBggrBgEF
|
||||
# BQcCARYXaHR0cHM6Ly9kLnN5bWNiLmNvbS9jcHMwJQYIKwYBBQUHAgIwGRoXaHR0
|
||||
# cHM6Ly9kLnN5bWNiLmNvbS9ycGEwLgYIKwYBBQUHAQEEIjAgMB4GCCsGAQUFBzAB
|
||||
# hhJodHRwOi8vcy5zeW1jZC5jb20wNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDovL3Mu
|
||||
# c3ltY2IuY29tL3VuaXZlcnNhbC1yb290LmNybDATBgNVHSUEDDAKBggrBgEFBQcD
|
||||
# CDAoBgNVHREEITAfpB0wGzEZMBcGA1UEAxMQVGltZVN0YW1wLTIwNDgtMzAdBgNV
|
||||
# HQ4EFgQUr2PWyqNOhXLgp7xB8ymiOH+AdWIwHwYDVR0jBBgwFoAUtnf6aUhHn1MS
|
||||
# 1cLqBzJ2B9GXBxkwDQYJKoZIhvcNAQELBQADggEBAHXqsC3VNBlcMkX+DuHUT6Z4
|
||||
# wW/X6t3cT/OhyIGI96ePFeZAKa3mXfSi2VZkhHEwKt0eYRdmIFYGmBmNXXHy+Je8
|
||||
# Cf0ckUfJ4uiNA/vMkC/WCmxOM+zWtJPITJBjSDlAIcTd1m6JmDy1mJfoqQa3CcmP
|
||||
# U1dBkC/hHk1O3MoQeGxCbvC2xfhhXFL1TvZrjfdKer7zzf0D19n2A6gP41P3CnXs
|
||||
# xnUuqmaFBJm3+AZX4cYO9uiv2uybGB+queM6AL/OipTLAduexzi7D1Kr0eOUA2AK
|
||||
# TaD+J20UMvw/l0Dhv5mJ2+Q5FL3a5NPD6itas5VYVQR9x5rsIwONhSrS/66pYYEw
|
||||
# ggVLMIIEM6ADAgECAhB71OWvuswHP6EBIwQiQU0SMA0GCSqGSIb3DQEBCwUAMHcx
|
||||
# CzAJBgNVBAYTAlVTMR0wGwYDVQQKExRTeW1hbnRlYyBDb3Jwb3JhdGlvbjEfMB0G
|
||||
# A1UECxMWU3ltYW50ZWMgVHJ1c3QgTmV0d29yazEoMCYGA1UEAxMfU3ltYW50ZWMg
|
||||
# U0hBMjU2IFRpbWVTdGFtcGluZyBDQTAeFw0xNzEyMjMwMDAwMDBaFw0yOTAzMjIy
|
||||
# MzU5NTlaMIGAMQswCQYDVQQGEwJVUzEdMBsGA1UEChMUU3ltYW50ZWMgQ29ycG9y
|
||||
# YXRpb24xHzAdBgNVBAsTFlN5bWFudGVjIFRydXN0IE5ldHdvcmsxMTAvBgNVBAMT
|
||||
# KFN5bWFudGVjIFNIQTI1NiBUaW1lU3RhbXBpbmcgU2lnbmVyIC0gRzMwggEiMA0G
|
||||
# CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvDoqq+Ny/aXtUF3FHCb2NPIH4dBV3
|
||||
# Z5Cc/d5OAp5LdvblNj5l1SQgbTD53R2D6T8nSjNObRaK5I1AjSKqvqcLG9IHtjy1
|
||||
# GiQo+BtyUT3ICYgmCDr5+kMjdUdwDLNfW48IHXJIV2VNrwI8QPf03TI4kz/lLKbz
|
||||
# WSPLgN4TTfkQyaoKGGxVYVfR8QIsxLWr8mwj0p8NDxlsrYViaf1OhcGKUjGrW9jJ
|
||||
# dFLjV2wiv1V/b8oGqz9KtyJ2ZezsNvKWlYEmLP27mKoBONOvJUCbCVPwKVeFWF7q
|
||||
# hUhBIYfl3rTTJrJ7QFNYeY5SMQZNlANFxM48A+y3API6IsW0b+XvsIqbAgMBAAGj
|
||||
# ggHHMIIBwzAMBgNVHRMBAf8EAjAAMGYGA1UdIARfMF0wWwYLYIZIAYb4RQEHFwMw
|
||||
# TDAjBggrBgEFBQcCARYXaHR0cHM6Ly9kLnN5bWNiLmNvbS9jcHMwJQYIKwYBBQUH
|
||||
# AgIwGRoXaHR0cHM6Ly9kLnN5bWNiLmNvbS9ycGEwQAYDVR0fBDkwNzA1oDOgMYYv
|
||||
# aHR0cDovL3RzLWNybC53cy5zeW1hbnRlYy5jb20vc2hhMjU2LXRzcy1jYS5jcmww
|
||||
# FgYDVR0lAQH/BAwwCgYIKwYBBQUHAwgwDgYDVR0PAQH/BAQDAgeAMHcGCCsGAQUF
|
||||
# BwEBBGswaTAqBggrBgEFBQcwAYYeaHR0cDovL3RzLW9jc3Aud3Muc3ltYW50ZWMu
|
||||
# Y29tMDsGCCsGAQUFBzAChi9odHRwOi8vdHMtYWlhLndzLnN5bWFudGVjLmNvbS9z
|
||||
# aGEyNTYtdHNzLWNhLmNlcjAoBgNVHREEITAfpB0wGzEZMBcGA1UEAxMQVGltZVN0
|
||||
# YW1wLTIwNDgtNjAdBgNVHQ4EFgQUpRMBqZ+FzBtuFh5fOzGqeTYAex0wHwYDVR0j
|
||||
# BBgwFoAUr2PWyqNOhXLgp7xB8ymiOH+AdWIwDQYJKoZIhvcNAQELBQADggEBAEae
|
||||
# r/C4ol+imUjPqCdLIc2yuaZycGMv41UpezlGTud+ZQZYi7xXipINCNgQujYk+gp7
|
||||
# +zvTYr9KlBXmgtuKVG3/KP5nz3E/5jMJ2aJZEPQeSv5lzN7Ua+NSKXUASiulzMub
|
||||
# 6KlN97QXWZJBw7c/hub2wH9EPEZcF1rjpDvVaSbVIX3hgGd+Yqy3Ti4VmuWcI69b
|
||||
# EepxqUH5DXk4qaENz7Sx2j6aescixXTN30cJhsT8kSWyG5bphQjo3ep0YG5gpVZ6
|
||||
# DchEWNzm+UgUnuW/3gC9d7GYFHIUJN/HESwfAD/DSxTGZxzMHgajkF9cVIs+4zNb
|
||||
# gg/Ft4YCTnGf6WZFP3YxggJaMIICVgIBATCBizB3MQswCQYDVQQGEwJVUzEdMBsG
|
||||
# A1UEChMUU3ltYW50ZWMgQ29ycG9yYXRpb24xHzAdBgNVBAsTFlN5bWFudGVjIFRy
|
||||
# dXN0IE5ldHdvcmsxKDAmBgNVBAMTH1N5bWFudGVjIFNIQTI1NiBUaW1lU3RhbXBp
|
||||
# bmcgQ0ECEHvU5a+6zAc/oQEjBCJBTRIwCwYJYIZIAWUDBAIBoIGkMBoGCSqGSIb3
|
||||
# DQEJAzENBgsqhkiG9w0BCRABBDAcBgkqhkiG9w0BCQUxDxcNMjMwNTIzMjMzMDI2
|
||||
# WjAvBgkqhkiG9w0BCQQxIgQgITXB9+hUZRvo8hu+No0lT5xxI5YCLlTcSst1GDff
|
||||
# 2pAwNwYLKoZIhvcNAQkQAi8xKDAmMCQwIgQgxHTOdgB9AjlODaXk3nwUxoD54oIB
|
||||
# PP72U+9dtx/fYfgwCwYJKoZIhvcNAQEBBIIBAFhLCYo/lz3YiK8qq+4DxI+DqU90
|
||||
# eBdYlybdPg8ywxsPxI6lseTFL3/Lfsd9ajT9lXIB6kDQ4Hu3mPB5U2loiUnMJt76
|
||||
# ue52k2lnErcjZCuevWcTBE6k5akwO/acFQpIeWvbwULVb3Bgmn0ZughXWcMtf+k5
|
||||
# zjJMoXtcB7o54QZ/V7QJLNHWUI/KChAJa2AbZcwdxS+YvAf8+y0cNgdowDJZNjYy
|
||||
# DLLy1WcrMEu53eaAopcfyBhZVRcmACjVptu4my7R4gbRoB8OH9c12sVwcFvg5xYa
|
||||
# 672w54LYIrEZIeKkGR6LxTv0NIEQUM/ChcSTZ3qjDe4iLg8cfuZ0a0sOF7A=
|
||||
# SIG # End signature block
|
||||
|
18
README.md
18
README.md
@@ -56,12 +56,7 @@ the actual download links, for all the architectures available for that language
|
||||
Requirements
|
||||
------------
|
||||
|
||||
PowerShell 3.0 or later is required. However the script should detect if you are using an older version and point you to
|
||||
the relevant PowerShell 3.0 download page if needed (which should only ever occur if you are running a vanilla version
|
||||
of Windows 7).
|
||||
|
||||
Note that the current version of the script does not need Internet Explorer to be installed and should also work with
|
||||
PowerShell 7.
|
||||
Windows 8 or later with PowerShell. Windows 7 is __not__ supported.
|
||||
|
||||
Commandline mode
|
||||
----------------
|
||||
@@ -69,19 +64,22 @@ Commandline mode
|
||||
Fido supports commandline mode whereas, whenever one of the following options is provided, a GUI is not instantiated
|
||||
and you can instead generate the ISO download from within a PowerShell console or script.
|
||||
|
||||
Note however that, as of 2023.05, Microsoft has removed access to older releases of Windows ISOs and as a result, the
|
||||
list of releases that can be downloaded from Fido has had to be reduced to only the latest for each version.
|
||||
|
||||
The options are:
|
||||
- `Win`: Specify Windows version (e.g. _"Windows 10"_). Abbreviated version should work as well (e.g `-Win 10`) as long
|
||||
as it is unique enough. If this option isn't specified, the most recent version of Windows is automatically selected.
|
||||
as it is unique enough. If this option isn't specified, the most recent version of Windows is automatically selected.
|
||||
You can obtain a list of supported versions by specifying `-Win List`.
|
||||
- `Rel`: Specify Windows release (e.g. _"21H1"_). If this option isn't specified, the most recent release for the chosen
|
||||
version of Windows is automatically selected. You can also use `-Rel Latest` to force the most recent to be used.
|
||||
You can obtain a list of supported versions by specifying `-Rel List`.
|
||||
- `Ed`: Specify Windows edition (e.g. _"Pro/Home"_). Abbreviated editions should work as well (e.g `-Ed Pro`) as long
|
||||
as it is unique enough. If this option isn't specified, the most recent version of Windows is automatically selected.
|
||||
as it is unique enough. If this option isn't specified, the most recent version of Windows is automatically selected.
|
||||
You can obtain a list of supported versions by specifying `-Ed List`.
|
||||
- `Lang`: Specify Windows language (e.g. _"Arabic"_). Abbreviated or part of a language (e.g. `-Lang Int` for
|
||||
`English International`) should work as long as it's unique enough. If this option isn't specified, the script attempts
|
||||
to select the same language as the system locale.
|
||||
to select the same language as the system locale.
|
||||
You can obtain a list of supported languages by specifying `-Lang List`.
|
||||
- `Arch`: Specify Windows architecture (e.g. _"x64"_). If this option isn't specified, the script attempts to use the same
|
||||
architecture as the one from the current system.
|
||||
@@ -126,7 +124,7 @@ Additional Notes
|
||||
|
||||
Because of its intended usage with Rufus, this script is not designed to cover every possible retail ISO downloads.
|
||||
Instead we mostly chose the ones that the general public is likely to request. For instance, we currently have no plan
|
||||
to add support for LTSB/LTSC Windows 10 ISOs downloads.
|
||||
to add support for LTSB/LTSC Windows ISOs downloads.
|
||||
|
||||
If you are interested in such downloads, then you are kindly invited to visit the relevant download pages from Microsoft
|
||||
such as [this one](https://www.microsoft.com/evalcenter/evaluate-windows-10-enterprise) for LTSC versions.
|
||||
|
Reference in New Issue
Block a user