Karakun OpenWebStart 1.11.1 - Verteilung Anwendung + Benutzerkonfiguration

Hallo,
ich hänge leider an einem Problem beim neo42-Paket „Karakun OpenWebStart 1.11.1“ mit InstallUserPart:

In der Funktion „CustomInstallUserPartBegin“ fehlte beim Quell-Pfad zum Kopieren das Zwischenverzeichnis „User\“. Das habe ich schon korrigiert.

	[string]$fileLocal = "deployment.properties"
	[string]$srcFolderLocal = "$dirSupportFiles\User\"
	[string]$trgFolderLocal = "$envUserProfile\.config\icedtea-web\"
	[string]$srcFileLocal = "$($srcFolderLocal)$($fileLocal)"
	[string]$trgFileLocal = "$($trgFolderLocal)$($fileLocal)"
	Write-Log -Message "`"$($srcFileLocal)`" existing: $(Test-Path -Path $srcFileLocal)" -Source $deployAppScriptFriendlyName
	Write-Log -Message "`"$($trgFileLocal)`" existing: $(Test-Path -Path $trgFileLocal)" -Source $deployAppScriptFriendlyName
	if ($false -eq (Test-Path -Path $trgFileLocal)) {
		Write-Log -Message "Invoking `"Copy-File -Path $srcFileLocal -Destination $trgFolderLocal`"." -Source $deployAppScriptFriendlyName
		Copy-File -Path $srcFileLocal -Destination $trgFolderLocal
	}
	else {
		Write-Log -Message "Invoking `"Get-Content -Path $srcFileLocal | Add-Content -Path $trgFileLocal`"." -Source $deployAppScriptFriendlyName
		Get-Content -Path $srcFileLocal | Add-Content -Path $trgFileLocal
	}

Sodann habe ich die Setup.inf angepasst und dabei die PSADT-Installation mit DeploymentType = InstallUserPart ergänzt.
Da gibt es doch bestimmt einen einfacheren Weg, oder?

Aber selbst dann geht der Kopiervorgang nach "C:\Windows\system32\config\systemprofile" anstatt in die Benutzerverzeichnisse.

Was mache ich falsch?

Meine Notfall-Lösung wäre ein eigenes, kleines Skript zum Kopieren in die User-Verzeichnisse, aber das sollte es ja eigentlich nicht sein.

# Get user folders
Write-Host "Looking for userfolders ..."
$userfolders = Get-ChildItem -Path "$($env:SystemDrive)\Users" -Directory -Force -Exclude "Admin","All Users","Public"
if ($userfolders.GetType().Name -notlike "*[[]]") {$userfolders = @($userfolders)}
Write-Host "Found $($userfolders.Count) userfolders."
Write-Host ''

# Loop through user folders
foreach ($userfolder in $userfolders) {
    [string]$userfolderpath = $userfolder.FullName

}

Hallo @s.spanknebel ,
beim UserPart Bereich verhält es sich wie folgt:
im Paket Ordner SupportFiles\User befindliche Dateien werden im Systemteil für den UserPart so kopiert, dass diese bei Ausführung im UserPart mit $dirSupportFiles (ohne Unterordner User) angesprochen werden können!

Wenn der UserPart für einen User bereits durchlaufen wurde, so muss man für eine erneute Ausführung die UserPartRevision in der neo42PackageConfig.json erhöhen oder den ActiveSetup Eintrag für das Paket in der Registry des Users löschen.

1 „Gefällt mir“

Uff, danke für die Antwort. Das ist schon ziemlich komplex.
Da OpenWebStart noch weitere Möglichkeiten bietet, habe ich es jetzt so gelöst:

Changed neo42PackageConfig.json:

"InstPara": "-q -varfile response.varfile -overwrite -Dinstall4j.alternativeLogfile=\"$($global:PackageConfig.InstLogFile)\"",

Created „.\Files\response.varfile“ with content:

# install4j response file for OpenWebStart 1.11.1
installationDate$Long=1741794701417
sys.adminRights$Boolean=true
sys.fileAssociation.extensions$StringArray="jnlp","jnlpx"
sys.fileAssociation.launchers$StringArray="313","313"
sys.installationDir=C\:\\Program Files\\OpenWebStart
sys.languageId=de
userMode$Integer=1
ows.jvm.manager.updateStrategy=NO_REMOTE
ows.jvm.manager.searchLocalAtStartup=true
ows.update.activated=false
ows.update.activated.locked=true
ows.checkUpdate.locked=true
deployment.proxy.type=4