Hi Patrick,
es reicht, wenn die neo42PackageConfig.json vor dem Setup.inf Wrapper angepasst wird.
Hierfür gibt es auch einen Communityeintrag:
Das Skript von meinem Kollegen muss also nur um die Abfrage der Variable erweitert werden:
[CmdletBinding()]
[OutputType([void])]
param (
[Parameter(Mandatory = $true)]
[string]$Path,
[Parameter(Mandatory = $true)]
[ValidateSet(0,1)]
[int]$AskUninstallOld
)
if (-not (Test-Path $Path)) {
throw "Datei nicht gefunden: $Path"
}
$jsonData = Get-Content -Raw -Path $Path | ConvertFrom-Json
$jsonData.UninstallOld = [bool]$AskUninstallOld
$jsonData | ConvertTo-Json -Depth 100 | Set-Content -Path $Path -Encoding UTF8
Das Skript abspeichern und z.B. im GeneralDirectory ablegen. Anschließend kann die Pipeline wie folgt angepasst werden:
- Eine neue Variable innerhalb der Pipeline anlegen (z.B. AskUninstallOld)
- Nach dem Entpacken das Skript ausführen lassen:
Skript:
<Global.GeneralDirectory>\AskUninstallOld.ps1
Parameter: -Path „<Phase.PackagePath><Run.Version>\neo42PackageConfig.json“ -AskUninstallOld <Phase.AskUninstallOld> - Package Config refresh Task nachfolgend einreihen:
Beim Ausführen der Pipeline kann die Variable mit 0 oder 1 gesteuert werden.
Das war jetzt einfach eine Quick&Dirty Lösung, um den Wert in der Json anzupassen - es gibt keine Prüfung, welcher Wert vorher gesetzt wurde! Daher das Ganze nur als Ansporn ![]()


