Added ability to choose install location, issue #1135
This commit is contained in:
parent
033280956c
commit
1c5cd64251
@ -37,10 +37,7 @@
|
|||||||
<MediaTemplate EmbedCab="yes" />
|
<MediaTemplate EmbedCab="yes" />
|
||||||
|
|
||||||
<!-- In Your Wix Setup Project, Add A Reference To WixUIExtension.dll -->
|
<!-- In Your Wix Setup Project, Add A Reference To WixUIExtension.dll -->
|
||||||
<!-- This is a minimal User Interface. In fact, it only displays a license -->
|
<UIRef Id="WixUI_InstallDir" />
|
||||||
<!-- acceptance dialog. It doesn’t do anything else except provide -->
|
|
||||||
<!-- basic status during installation. -->
|
|
||||||
<UIRef Id="WixUI_Minimal" />
|
|
||||||
|
|
||||||
<!-- Features are mandatory. Need At Least One. -->
|
<!-- Features are mandatory. Need At Least One. -->
|
||||||
<Feature Id="ProductFeature" Title="PowerShell" Level="1">
|
<Feature Id="ProductFeature" Title="PowerShell" Level="1">
|
||||||
@ -49,8 +46,8 @@
|
|||||||
<ComponentRef Id="ApplicationProgramsMenuShortcut"/>
|
<ComponentRef Id="ApplicationProgramsMenuShortcut"/>
|
||||||
</Feature>
|
</Feature>
|
||||||
|
|
||||||
<!--We need to show EULA, but not provide option to customize download location-->
|
<!--We need to show EULA, and provide option to customize download location-->
|
||||||
<Property Id="WixUI_Minimal" Value="$(var.ProductVersionWithName)" />
|
<Property Id="WIXUI_INSTALLDIR" Value="INSTALLFOLDER" />
|
||||||
|
|
||||||
<Directory Id="TARGETDIR" Name="SourceDir">
|
<Directory Id="TARGETDIR" Name="SourceDir">
|
||||||
<Directory Id="ProgramFiles64Folder">
|
<Directory Id="ProgramFiles64Folder">
|
||||||
|
44
build.psm1
44
build.psm1
@ -1341,6 +1341,36 @@ internal class {0} {{
|
|||||||
return $resultCode -replace "`r`n?|`n","`r`n"
|
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
|
function New-MSIPackage
|
||||||
{
|
{
|
||||||
[CmdletBinding()]
|
[CmdletBinding()]
|
||||||
@ -1388,12 +1418,7 @@ function New-MSIPackage
|
|||||||
$wixCandleExePath = Join-Path $wixToolsetBinPath "Candle.exe"
|
$wixCandleExePath = Join-Path $wixToolsetBinPath "Candle.exe"
|
||||||
$wixLightExePath = Join-Path $wixToolsetBinPath "Light.exe"
|
$wixLightExePath = Join-Path $wixToolsetBinPath "Light.exe"
|
||||||
|
|
||||||
Write-Verbose "Extract the version in the form of a.b.c.d for $ProductVersion"
|
$ProductVersion = Get-PackageVersionAsMajorMinorBuildRevision -Version $ProductVersion -Verbose
|
||||||
$ProductVersionTokens = $ProductVersion.Split('-')
|
|
||||||
$ProductVersion = ([regex]::matches($ProductVersion, "\d+(\.\d+)+"))[0].value
|
|
||||||
|
|
||||||
# Need to add the last version field for makeappx
|
|
||||||
$ProductVersion = $ProductVersion + '.' + $ProductVersionTokens[1]
|
|
||||||
|
|
||||||
$assetsInSourcePath = "$ProductSourcePath" + '\assets'
|
$assetsInSourcePath = "$ProductSourcePath" + '\assets'
|
||||||
New-Item $assetsInSourcePath -type directory -Force | Write-Verbose
|
New-Item $assetsInSourcePath -type directory -Force | Write-Verbose
|
||||||
@ -1455,12 +1480,7 @@ function New-AppxPackage
|
|||||||
[string] $AssetsPath
|
[string] $AssetsPath
|
||||||
)
|
)
|
||||||
|
|
||||||
Write-Verbose "Extract the version in the form of a.b.c.d for $PackageVersion"
|
$PackageVersion = Get-PackageVersionAsMajorMinorBuildRevision -Version $PackageVersion -Verbose
|
||||||
$PackageVersionTokens = $PackageVersion.Split('-')
|
|
||||||
$PackageVersion = ([regex]::matches($PackageVersion, "\d+(\.\d+)+"))[0].value
|
|
||||||
|
|
||||||
# Need to add the last version field for makeappx
|
|
||||||
$PackageVersion = $PackageVersion + '.' + $PackageVersionTokens[1]
|
|
||||||
Write-Verbose "Package Version is $PackageVersion"
|
Write-Verbose "Package Version is $PackageVersion"
|
||||||
|
|
||||||
$win10sdkBinPath = "${env:ProgramFiles(x86)}\Windows Kits\10\bin\x64"
|
$win10sdkBinPath = "${env:ProgramFiles(x86)}\Windows Kits\10\bin\x64"
|
||||||
|
Loading…
Reference in New Issue
Block a user