diff --git a/AutoTx-Updater/Update-Service.ps1 b/AutoTx-Updater/Update-Service.ps1 index d08e3b73e2018ddbaa99b93336bce9717fb33cea..db8e71c5525e750c191591a6611cbb6d01c0b7a6 100644 --- a/AutoTx-Updater/Update-Service.ps1 +++ b/AutoTx-Updater/Update-Service.ps1 @@ -206,7 +206,7 @@ function Update-Configuration { function Copy-ServiceFiles { try { Copy-Item -Recurse -Force -ErrorAction Stop ` - -Path "$($UpdateBinariesPath)\*" ` + -Path "$($UpdateBinariesPath)\$($ServiceName)\*" ` -Destination "$InstallationPath" } catch { diff --git a/AutoTx/Resources/Provide-UpdaterPackage.ps1 b/AutoTx/Resources/Provide-UpdaterPackage.ps1 new file mode 100644 index 0000000000000000000000000000000000000000..85b20fde9c73c02747c80d293caa7f954eca2f70 --- /dev/null +++ b/AutoTx/Resources/Provide-UpdaterPackage.ps1 @@ -0,0 +1,44 @@ +[CmdletBinding()] +Param( + [Parameter(Mandatory=$True)][String] $UpdaterSettings +) + +try { + . $UpdaterSettings +} +catch { + $ex = $_.Exception.Message + Write-Host "Error reading settings file: '$($UpdaterSettings)' [$($ex)]" + Exit +} + + +$UpdateBinariesPath = "$($UpdateSourcePath)\Service\Binaries" +$Pattern = 'build_[0-9]{4}-[0-9]{2}-[0-9]{2}_' + +$PackageDir = Get-ChildItem -Directory -Name | + Where-Object {$_ -match $Pattern} | + Sort-Object | + Select-Object -Last 1 + +if ([string]::IsNullOrEmpty($PackageDir)) { + Write-Host "ERROR: couldn't find any directories matching '$($Pattern)'!" + Exit +} + + +try { + # exclude some files not be distributed: + $Exclude = @("ScriptsConfig.ps1", "Install-Service.ps1") + Copy-Item -Recurse -Force -ErrorAction Stop ` + -Path $PackageDir ` + -Exclude $Exclude ` + -Destination $UpdateBinariesPath + Write-Host "Copied package [$($PackageDir)] to [$($UpdateBinariesPath)]." +} +catch { + $ex = $_.Exception.Message + Write-Host "Error copying service package: $($ex)" + Exit +} +