diff --git a/assets/Product.wxs b/assets/Product.wxs
index f0a51dcb8a..8f2362d098 100644
--- a/assets/Product.wxs
+++ b/assets/Product.wxs
@@ -59,7 +59,7 @@
LAUNCHAPPONEXIT
-
+
@@ -74,7 +74,7 @@
-
+
@@ -84,17 +84,17 @@
-
+
-
-
+
+
-
+
-
-
+
+
diff --git a/docs/installation/windows.md b/docs/installation/windows.md
index fdb3b9d753..47a307aae8 100644
--- a/docs/installation/windows.md
+++ b/docs/installation/windows.md
@@ -14,10 +14,14 @@ There is a shortcut placed in the Start Menu upon installation.
### Prerequisites
+To enable PowerShell remoting over WinRM, the following prerequisites need to be met:
+
* Install the [Universal C Runtime](https://www.microsoft.com/download/details.aspx?id=50410) on Windows versions prior to Windows 10.
It is available via direct download or Windows Update.
Fully patched (including optional packages), supported systems will already have this installed.
-* Install the [Visual C++ Redistributable](https://www.microsoft.com/download/details.aspx?id=48145) for VS2015.
+* Install the Windows Management Framework (WMF) [4.0](https://www.microsoft.com/download/details.aspx?id=40855)
+ or newer ([5.0](https://www.microsoft.com/download/details.aspx?id=50395),
+ [5.1](https://www.microsoft.com/download/details.aspx?id=54616)) on Windows 7.
## Deploying on Nano Server
diff --git a/test/powershell/Installer/WindowsInstaller.Tests.ps1 b/test/powershell/Installer/WindowsInstaller.Tests.ps1
index 854526410f..0084671ab6 100644
--- a/test/powershell/Installer/WindowsInstaller.Tests.ps1
+++ b/test/powershell/Installer/WindowsInstaller.Tests.ps1
@@ -1,28 +1,24 @@
-$thisTestFolder = Split-Path $MyInvocation.MyCommand.Path -Parent
-$wixProductFile = Join-Path $thisTestFolder "..\..\..\assets\Product.wxs"
-
Describe "Windows Installer" -Tags "Scenario" {
BeforeAll {
- $originalDefaultParameterValues = $PSDefaultParameterValues.Clone()
- if ( ! $IsWindows ) {
- $PSDefaultParameterValues["it:skip"] = $true
- }
+ $preRequisitesLink = 'https://aka.ms/pscore6-prereq'
+ $linkCheckTestCases = @(
+ @{ Name = "Universal C Runtime"; Url = $preRequisitesLink }
+ @{ Name = "WMF 4.0"; Url = "https://www.microsoft.com/download/details.aspx?id=40855" }
+ @{ Name = "WMF 5.0"; Url = "https://www.microsoft.com/download/details.aspx?id=50395" }
+ @{ Name = "WMF 5.1"; Url = "https://www.microsoft.com/download/details.aspx?id=54616" }
+ )
}
-
- AfterAll {
- $global:PSDefaultParameterValues = $originalDefaultParameterValues
- }
-
- $preRequisitesLink = 'https://github.com/PowerShell/PowerShell/blob/master/docs/installation/windows.md#prerequisites'
It "WiX (Windows Installer XML) file contains pre-requisites link $preRequisitesLink" {
+ $wixProductFile = Join-Path -Path $PSScriptRoot -ChildPath "..\..\..\assets\Product.wxs"
(Get-Content $wixProductFile -Raw).Contains($preRequisitesLink) | Should Be $true
}
- It "Pre-Requisistes link $preRequisitesLink is reachable" -TestCases $downloadLinks -Test {
+ It "Pre-Requisistes link for '' is reachable" -TestCases $linkCheckTestCases -Test {
+ param ($Url)
+
# Because an outdated link 'https://www.microsoft.com/download/details.aspx?id=504100000' would still return a 200 reponse (due to a redirection to an error page), it only checks that it returns something
- (Invoke-WebRequest $preRequisitesLink -UseBasicParsing) | Should Not Be $null
+ (Invoke-WebRequest $Url -UseBasicParsing) | Should Not Be $null
}
-
}