Hallo zusammen,
kurz zur Ausgangssituation: Ich erstelle ein MSI-Paket mit dem Package Recorder, bei dem der Produktname einen Umlaut enthält (in diesem Fall ein ö).
Die Testausführung verlief erfolgreich. Die Datei neo42PackageConfig.json wird dabei standardmäßig in UTF-8-BOM codiert, ohne manuelle Anpassungen.
Nun möchte ich während der Installation eine Datei in einem Verzeichnis löschen, dessen Pfad den Produktnamen mit Umlaut enthält.
Dazu nutze ich im Abschnitt Nach der Installation die Funktion PowerShell:
Remove-File -Path "$env:ProgramData\ö\File.cfg"
Leider funktioniert das beim Skriptaufruf nicht, da das ö falsch interpretiert wird. In diesem Fall folgendermaßen: C:\ProgramData\ö\File.cfg
Sobald ich die Datei Deploy-Application.ps1 manuell auf UTF-8-BOM umstelle, klappt es einwandfrei.
Das ist etwas umständlich, da ich die Codierung nach jeder Neuerstellung des Pakets manuell anpassen muss.
Gibt es eine Möglichkeit, die Codierung im Package Recorder vorzugeben?
Ist die Datei neo42PackageConfig.json standardmäßig UTF-8-BOM oder erkennt der Package Recorder die Umlaute und codiert die Datei bei der Erstellung korrekt?
Gruß
Meikel
Hallo,
vielen Dank für Ihr Feedback. Wir haben das intern als Bug aufgenommen und werden dies fixen!
Viele Grüße,
Gilbert
Hallo,
vielen Dank für die Rückmeldung.
Allerdings ist mir inzwischen aufgefallen, dass das Problem doch größer ist als zunächst angenommen.
Wenn ich das ZIP-Archiv über den Package Recorder erstelle und anschließend über eine Pipeline nach Empirum importiere, werden die Werte nicht korrekt an die Setup.inf-Datei übergeben.
Empirum scheint hierbei größere Schwierigkeiten zu haben:
Jedes Mal, wenn der Agent nach neuer Software sucht, wird die Installation erneut ausgeführt. In Empirum bleibt der Status dauerhaft gelb, obwohl auf dem Client angezeigt wird, dass die Installation erfolgreich abgeschlossen wurde.
Es scheint mir nicht ausgeschlossen, dass es noch weitere Stellen gibt, an denen Umlaute falsch interpretiert werden.
Gruß
Guten Morgen @hartmann
Wir haben versucht das Problem zu reproduzieren, aber den Fehler aus dem Screenshot konnten wir nicht hervorrufen.
Bitte beschreib uns doch bitte mal genau den Ablauf incl. Version der verwendeten Tools.
Danke & Gruß
Marco
Guten Morgen,
ich verwende den neo42 Package Recorder in der Version 1.3.0 zur Paketierung.
Für die Paketierung wird eine MSI-Datei verwendet. Im Produktnamen steht:
pcBAT TVöD
Nach der Installation nehme ich manuell einige Anpassungen an den Verknüpfungen vor:
Wenn ich das Paket finalisiere und anschließend teste, erhalte ich unter anderem folgende Fehlermeldung:
[07-17-2025 08:22:28.497] [CustomInstallAndReinstallEnd] [Remove-File] :: Unable to resolve file(s) for deletion in path [C:\Users\Public\Desktop\pcBAT TVöD 2025.lnk] because path does not exist.
[07-17-2025 08:22:28.589] [CustomInstallAndReinstallEnd] [Remove-File] :: Deleting file in path [C:\Users\Public\Desktop\pcLohnsteuer2025.lnk]...
[07-17-2025 08:22:28.605] [CustomInstallAndReinstallEnd] [Copy-File] :: Copying file in path [C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Decker Verlag\pcBAT TVöD 2025\pcBAT TVöD 2025.lnk] to destination [C:\Users\Public\Desktop\pcBAT TVöD 2025.lnk].
[07-17-2025 08:22:28.697] [CustomInstallAndReinstallEnd] [Copy-File] :: Failed to copy file(s) in path [C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Decker Verlag\pcBAT TVöD 2025\pcBAT TVöD 2025.lnk] to destination [C:\Users\Public\Desktop\pcBAT TVöD 2025.lnk].
Error Record:
-------------
Message : Der Pfad "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Decker Verlag\pcBAT TVöD 2025\pcBAT TVöD 2025.lnk" kann nicht gefunden werden, da er nicht vorhanden ist.
InnerException :
FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.CopyItemCommand
ScriptStackTrace : bei Copy-File<Process>, C:\Temp\Package Recorder\Packages\Decker Verlag\pcBAT TVöD\2025.2\AppDeployToolkit\AppDeployToolkitMain.ps1: Zeile 5407
bei CustomInstallAndReinstallEnd, C:\Temp\Package Recorder\Packages\Decker Verlag\pcBAT TVöD\2025.2\Deploy-Application.ps1: Zeile 870
bei Main, C:\Temp\Package Recorder\Packages\Decker Verlag\pcBAT TVöD\2025.2\Deploy-Application.ps1: Zeile 538
bei <ScriptBlock>, C:\Temp\Package Recorder\Packages\Decker Verlag\pcBAT TVöD\2025.2\Deploy-Application.ps1: Zeile 1003
PositionMessage : In C:\Temp\Package Recorder\Packages\Decker Verlag\pcBAT TVöD\2025.2\AppDeployToolkit\AppDeployToolkitMain.ps1:5407 Zeichen:37
+ ... $null = Copy-Item -Path $srcPath -Destination $Destination -Force ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Wenn ich die Deploy-Application.ps1 manuell von UTF-8 in UTF-8 mit BOM konvertiere, funktioniert die Ausführung korrekt:
[07-17-2025 08:25:55.530] [CustomInstallAndReinstallEnd] [Remove-File] :: Deleting file in path [C:\Users\Public\Desktop\pcBAT TVöD 2025.lnk]...
[07-17-2025 08:25:55.550] [CustomInstallAndReinstallEnd] [Remove-File] :: Deleting file in path [C:\Users\Public\Desktop\pcLohnsteuer2025.lnk]...
[07-17-2025 08:25:55.577] [CustomInstallAndReinstallEnd] [Copy-File] :: Copying file in path [C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Decker Verlag\pcBAT TVöD 2025\pcBAT TVöD 2025.lnk] to destination [C:\Users\Public\Desktop\pcBAT TVöD 2025.lnk].
[07-17-2025 08:25:55.595] [CustomInstallAndReinstallEnd] [Copy-File] :: File copy completed successfully.
[07-17-2025 08:25:55.620] [CustomInstallAndReinstallEnd] [Copy-File] :: Copying file in path [C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Decker Verlag\pcBAT TVöD 2025\pcLohnsteuer2025.lnk] to destination [C:\Users\Public\Desktop\pcBAT Lohnsteuer 2025.lnk].
[07-17-2025 08:25:55.645] [CustomInstallAndReinstallEnd] [Copy-File] :: File copy completed successfully.
[07-17-2025 08:25:55.662] [CustomInstallAndReinstallEnd] [Copy-File] :: Copying file in path [C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Decker Verlag\pcBAT TVöD 2025\pcBAT TVöD 2025.lnk] to destination [C:\ProgramData\Microsoft\Windows\Start Menu\Programs\pcBAT TVöD 2025.lnk].
[07-17-2025 08:25:55.678] [CustomInstallAndReinstallEnd] [Copy-File] :: File copy completed successfully.
[07-17-2025 08:25:55.696] [CustomInstallAndReinstallEnd] [Copy-File] :: Copying file in path [C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Decker Verlag\pcBAT TVöD 2025\pcLohnsteuer2025.lnk] to destination [C:\ProgramData\Microsoft\Windows\Start Menu\Programs\pcBAT Lohnsteuer 2025.lnk].
[07-17-2025 08:25:55.709] [CustomInstallAndReinstallEnd] [Copy-File] :: File copy completed successfully.
[07-17-2025 08:25:55.739] [CustomInstallAndReinstallEnd] [Remove-Folder] :: Deleting folder [C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Decker Verlag] recursively...
Der Import in Empirum erfolgt über eine Pipeline im APD. Hier ist die Konfiguration des Setup.inf-Wrappers (neo42 Management Service: Frontend 1.5.0.0, Backend 4.3.2.0):
Die daraus generierte Setup.inf, die im Verzeichnis „Packages“ auf dem Empirum-Server abgelegt wird, entspricht dem Screenshot des vorherigen Kommentars.
Hoffe es ist verständlich und nachvollziehbar.
Gruß
Mir wird gerade bewusst, dass ich die Änderung der Codierung der Deploy-Application.ps1 nur lokal auf dem Client vorgenommen habe.
Im Package Recorder nutze ich die Funktion, dass das gezippte Paket direkt auf dem Netzlaufwerk gespeichert wird, welches anschließend von der Pipeline verwendet wird.
Liegt der Fehler also daran, dass die Deploy-Application.ps1 beim Wrappen nicht in UTF-8-BOM codiert ist?
Guten Morgen @hartmann,
ich habe versucht, das Problem zu reproduzieren, konnte jedoch nicht feststellen, dass die Setup.inf am Ende der Pipeline falsche Umlaute ausgibt.
Was ich hingegen nachvollziehen konnte, ist, dass der von Ihnen genutzte PowerShell-Task aktuell keine Umlaute unterstützt. Dies wirkte sich in meinem Test allerdings nicht auf das Paket aus.
Daher würde ich Sie bitten, hierzu ein Ticket bei uns unter neosupport@neo42.de zu eröffnen.
In diesem Ticket wäre es hilfreich, wenn Sie das vollständige Log der Paketinstallation, die Deploy-Application.ps1 sowie die neo42PackageConfig.json anhängen könnten. So kann ich das Problem eingehender untersuchen.
Mit freundlichen Grüßen
Martin Hubert
Das Problem wurde behoben, indem innerhalb der Pipelines eine neue Version des Setup.inf‑Wrappers ausgerollt wurde.
1 „Gefällt mir“
Hallo @MHT.neo42,
heute wollte ich die aktuelle Version von pcBAT TVöD mit den neuen PSAppDeployToolkitExtensions paketieren, allerdings funktioniert die Verarbeitung der Umlaute leider noch nicht vollständig.
Beim Ausführen der Deploy-Application.ps1 über VSCode erhalte ich folgende Meldung:
[10-06-2025 09:34:18.362] [Initialization] [PSAppDeployToolkit] :: *******************************************************************************
[10-06-2025 09:34:18.388] [Initialization] [PSAppDeployToolkit] :: [DeckerVerlag_pcBATTVöD_2025.3] setup started.
[10-06-2025 09:34:18.461] [Initialization] [PSAppDeployToolkit] :: Script [C:\neoPackage\Decker Verlag\pcBAT TVöD\2025.3\AppDeployToolkit\AppDeployToolkitMain.ps1] dot-source invoked by [C:\neoPackage\Decker Verlag\pcBAT TVöD\2025.3\Deploy-Application.ps1]
[10-06-2025 09:34:19.029] [Initialization] [N42PSAppDeployToolkitExt] :: Script [C:\neoPackage\Decker Verlag\pcBAT TVöD\2025.3\AppDeployToolkit\AppDeployToolkitExtensions.ps1] dot-source invoked by [C:\neoPackage\Decker Verlag\pcBAT TVöD\2025.3\AppDeployToolkit\AppDeployToolkitMain.ps1]
[10-06-2025 09:34:19.051] [Initialization] [PSAppDeployToolkit] :: [Deploy Application] script version is [2025.09.16.74]
[10-06-2025 09:34:19.060] [Initialization] [PSAppDeployToolkit] :: [App Deploy Toolkit Main] script version is [3.10.2]
[10-06-2025 09:34:19.068] [Initialization] [PSAppDeployToolkit] :: [neo42 App Deploy Toolkit Extensions] version is [2025.09.16.74]
[10-06-2025 09:34:19.078] [Initialization] [PSAppDeployToolkit] :: Computer Name is [VDI-PACKAGING1.STADT-NW.DE]
[10-06-2025 09:34:19.090] [Initialization] [PSAppDeployToolkit] :: Current User is [STADT-NW\m42.hartmann]
[10-06-2025 09:34:19.107] [Initialization] [PSAppDeployToolkit] :: OS Version is [Microsoft Windows 11 Pro 64-bit 10.0.26100.6584]
[10-06-2025 09:34:19.117] [Initialization] [PSAppDeployToolkit] :: OS Type is [Workstation]
[10-06-2025 09:34:19.127] [Initialization] [PSAppDeployToolkit] :: Current Culture is [de-DE], language is [DE] and UI language is [DE]
[10-06-2025 09:34:19.282] [Initialization] [Get-HardwarePlatform] :: Retrieving hardware platform information.
[10-06-2025 09:34:19.724] [Initialization] [PSAppDeployToolkit] :: Hardware Platform is [Virtual:VMWare]
[10-06-2025 09:34:19.737] [Initialization] [PSAppDeployToolkit] :: PowerShell Host is [Visual Studio Code Host] with version [2025.2.0]
[10-06-2025 09:34:19.744] [Initialization] [PSAppDeployToolkit] :: PowerShell Version is [5.1.26100.6584 x64]
[10-06-2025 09:34:19.751] [Initialization] [PSAppDeployToolkit] :: PowerShell CLR (.NET) version is [4.0.30319.42000]
[10-06-2025 09:34:19.759] [Initialization] [PSAppDeployToolkit] :: *******************************************************************************
Das „Ö“ wird als „öD“ wiedergegeben.
Wenn ich die Codierung der neo42PackageConfig.json ebenfalls auf UTF-8-BOM ändere, lässt sich die Installation korrekt durchführen.
Jetzt habe ich allerdings ein weiteres Problem: Ich möchte z. B. die Desktopverknüpfung über den Befehl Remove-File -Path "$envCommonDesktop\pcBAT TVöD 2025.lnk löschen.
Führe ich den Befehl in VSCode aus, funktioniert er problemlos.
Starte ich die Deploy-Application.ps1 im Systemkontext, funktionieren die Umlaute in der Funktion nicht.
[CustomInstallAndReinstallEnd] [Remove-File] :: Unable to resolve file(s) for deletion in path [C:\Users\Public\Desktop\pcBAT TVöD 2025.lnk] because path does not exist.
Prinzipiell funktionieren die Umlaute in der Deploy-Application.ps1 jedoch auch im Systemkontext.
Vom Gefühl her vermute ich, dass das Problem daher rührt, dass die PSADT-Funktionen die Umlaute nicht korrekt verarbeiten.
Ob sich das einfach beheben ließe, indem man die Codierung dieser Dateien ebenfalls anpasst, habe ich bisher nicht getestet. Ich bin mir außerdem nicht sicher, welche Nebenwirkungen das haben könnte.
Gruß
Hallo @hartmann , Bitte aktualisieren sie Ihren Package Recorder, dieser Fehler wurde in der Version 1.3.1 behoben.
Bugfix: Deploy-Application.ps1 wird jetzt in UTF-8 mit BOM enkodiert
Ein ausführliches Change Log finden Sie hier:
Package Recorder Changelog 1.3.1
Vielen Dank und mit freundlichen Grüßen
Nils Kreter
Hallo @NKR.neo42,
in diesem Fall habe ich den Test nicht über den Package Recorder, sondern direkt über den PackageConfigEditor durchgeführt.
Verwendet wurde die PSAppDeployToolkitExtensions in der Version 2025.09.16.74.
Nach meinem Verständnis liegt das Problem jedoch nicht mehr an der Deploy-Application.ps1,
sondern an der neo42PackageConfig.json, die ich manuell anpassen musste, sowie an den PSADT-Komponenten.
Gruß
Hallo @hartmann,
beim Test erschien folgende Meldung:
[CustomInstallAndReinstallEnd] [Remove-File] :: Unable to resolve file(s) for deletion in path [C:\Users\Public\Desktop\pcBAT TVöD 2025.lnk] because path does not exist.
Im Package Recorder ist das Verhalten ab Version 1.3.1 bereits behoben; dort werden Umlaute generell korrekt verarbeitet.
Wird jedoch der PackageConfigEditor verwendet, tritt dieses Problem zumindest auf:
[10-06-2025 09:34:18.388] [Initialization] [PSAppDeployToolkit] :: [DeckerVerlag_pcBATTVöD_2025.3] setup started.
Aktueller Stand:
-
Der PackageConfigEditor kann derzeit noch nicht mit Umlauten umgehen.
-
Die Korrektur ist für die nächste Version 1.1.17 vorgesehen.
-
Ein Veröffentlichungsdatum kann ich aktuell nicht nennen, sollte aber nicht all zu lange dauern.
Hallo @hartmann ,
die Package Config Editor Version 1.1.17.0 steht nun im Application Package Center zur Verfügung. Wird diese Version noch nicht angezeigt, dann bitte den SYNC STATUS einmal starten.
Gruß
Holger Sundermann