diff --git a/assets/Product.wxs b/assets/Product.wxs
index ea1b7f3a7a..d436e8e90b 100644
--- a/assets/Product.wxs
+++ b/assets/Product.wxs
@@ -36,11 +36,8 @@
-
-
-
-
-
+
+
@@ -49,8 +46,8 @@
-
-
+
+
diff --git a/build.psm1 b/build.psm1
index e6b414955e..d48eb97a8d 100644
--- a/build.psm1
+++ b/build.psm1
@@ -1341,6 +1341,36 @@ internal class {0} {{
return $resultCode -replace "`r`n?|`n","`r`n"
}
+# Builds coming out of this project can have version number as 'a.b.c' OR 'a.b.c-d-f'
+# This function converts the above version into major.minor[.build[.revision]] format
+function Get-PackageVersionAsMajorMinorBuildRevision
+{
+ [CmdletBinding()]
+ param (
+ # Version of the Package
+ [Parameter(Mandatory = $true)]
+ [ValidateNotNullOrEmpty()]
+ [string] $Version
+ )
+
+ Write-Verbose "Extract the version in the form of major.minor[.build[.revision]] for $Version"
+ $packageVersionTokens = $Version.Split('-')
+ $packageVersion = ([regex]::matches($Version, "\d+(\.\d+)+"))[0].value
+
+ if (1 -eq $packageVersionTokens.Count)
+ {
+ # In case the input is of the form a.b.c, add a '0' at the end for revision field
+ $packageVersion = $packageVersion + '.0'
+ }
+ elseif (1 -lt $packageVersionTokens.Count)
+ {
+ # We have all the four fields
+ $packageVersion = $packageVersion + '.' + $packageVersionTokens[1]
+ }
+
+ return $packageVersion
+}
+
function New-MSIPackage
{
[CmdletBinding()]
@@ -1388,12 +1418,7 @@ function New-MSIPackage
$wixCandleExePath = Join-Path $wixToolsetBinPath "Candle.exe"
$wixLightExePath = Join-Path $wixToolsetBinPath "Light.exe"
- Write-Verbose "Extract the version in the form of a.b.c.d for $ProductVersion"
- $ProductVersionTokens = $ProductVersion.Split('-')
- $ProductVersion = ([regex]::matches($ProductVersion, "\d+(\.\d+)+"))[0].value
-
- # Need to add the last version field for makeappx
- $ProductVersion = $ProductVersion + '.' + $ProductVersionTokens[1]
+ $ProductVersion = Get-PackageVersionAsMajorMinorBuildRevision -Version $ProductVersion -Verbose
$assetsInSourcePath = "$ProductSourcePath" + '\assets'
New-Item $assetsInSourcePath -type directory -Force | Write-Verbose
@@ -1454,13 +1479,8 @@ function New-AppxPackage
[ValidateNotNullOrEmpty()]
[string] $AssetsPath
)
-
- Write-Verbose "Extract the version in the form of a.b.c.d for $PackageVersion"
- $PackageVersionTokens = $PackageVersion.Split('-')
- $PackageVersion = ([regex]::matches($PackageVersion, "\d+(\.\d+)+"))[0].value
-
- # Need to add the last version field for makeappx
- $PackageVersion = $PackageVersion + '.' + $PackageVersionTokens[1]
+
+ $PackageVersion = Get-PackageVersionAsMajorMinorBuildRevision -Version $PackageVersion -Verbose
Write-Verbose "Package Version is $PackageVersion"
$win10sdkBinPath = "${env:ProgramFiles(x86)}\Windows Kits\10\bin\x64"