Synchronize the client and select installed language packs (#3)
The launcher synchronizes the current native client, retains manifest-listed ruRU archives and launches the game with WOW_LOCALE=auto. Includes the prepared cleanup of obsolete Extentions directories in both client roots while preserving manifest-required files and unrelated user state. Version: 1.0.7+10. Deployment now judges native OpenSSL commands by their exit codes while retaining key and signature verification. Verified on Windows through FVM: full format/analyze, all 76 tests, production dry run, x64 runtime imports and DSA installer signature. The original dirty checkout was preserved. Publication follows the localized client release.
This commit was merged in pull request #3.
This commit is contained in:
@@ -94,9 +94,19 @@ function Invoke-RequiredCommand {
|
||||
[Parameter(Mandatory = $true)][string[]]$Arguments
|
||||
)
|
||||
|
||||
& $Command @Arguments
|
||||
if ($LASTEXITCODE -ne 0) {
|
||||
throw "Command failed with exit code ${LASTEXITCODE}: $Command"
|
||||
# Windows PowerShell represents native stderr as error records even on exit 0.
|
||||
# OpenSSL writes its normal key-reading notices there; the exit code is the verdict.
|
||||
$previousPreference = $ErrorActionPreference
|
||||
try {
|
||||
$ErrorActionPreference = 'Continue'
|
||||
& $Command @Arguments
|
||||
$commandExitCode = $LASTEXITCODE
|
||||
}
|
||||
finally {
|
||||
$ErrorActionPreference = $previousPreference
|
||||
}
|
||||
if ($commandExitCode -ne 0) {
|
||||
throw "Command failed with exit code ${commandExitCode}: $Command"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -559,12 +569,9 @@ try {
|
||||
$previousPath = $env:PATH
|
||||
try {
|
||||
$env:PATH = "$gitOpenSslDirectory;$env:PATH"
|
||||
$signOutput = & $dart run auto_updater:sign_update `
|
||||
$installerPath `
|
||||
$privateKey 2>&1
|
||||
if ($LASTEXITCODE -ne 0) {
|
||||
throw "Could not sign the installer: $signOutput"
|
||||
}
|
||||
$signOutput = Invoke-RequiredCommand -Command $dart -Arguments @(
|
||||
'run', 'auto_updater:sign_update', $installerPath, $privateKey
|
||||
) 2>&1
|
||||
}
|
||||
finally {
|
||||
$env:PATH = $previousPath
|
||||
|
||||
Reference in New Issue
Block a user