WinstSkin bringt bestimmte WINST Funktion(en) zum Absturz

Antworten
tb-killa
Beiträge: 76
Registriert: 22 Okt 2017, 16:59

WinstSkin bringt bestimmte WINST Funktion(en) zum Absturz

Beitrag von tb-killa »

Hallo zusammen,
nachdem wir in den letzten Tagen vermehr Probleme hatten mit dem Ausrollen der Agenten und den danach nicht mehr funktionierenden [Files_XXX] Kommandos, hatten wir zuerst die UAC bei Windows 10 im Verdacht:

Fehlerbild:

Code: Alles auswählen

[opsi-configed] Execution of: Files_Copy_Configed
[opsi-configed] 
[opsi-configed]     path C:\Program Files (x86)\opsi.org\configed\ created
[opsi-configed]   Copying  o:\opsi-configed\files.configed\*.* -----> C:\Program Files (x86)\opsi.org\configed\
[opsi-configed]     11 File(s) found
[opsi-configed]     Exception in CreateAndProcessScript: Handling Aktionsliste: Access violation
[opsi-configed] ___________________
[opsi-configed] script finished: failed

Wie sich bei einem zufälligen Kombinationstest herausgestellt hat, lag das zuvor beschriebene Problem bei uns an einer ganz anderen Stelle :shock:

Wir haben im Rahmen einer internen Anfrage den Winst-Skin überarbeitet, damit Look and Feel mehr zum Firmenbild passt.

Dabei funktionierte dieser ohne Probleme, nur nicht sobald die [Files_Sektionen] genutzt werden mussten / sollten:

Als Auslöser haben wir anschließend die [ProgressBar] Sektion ausfindig machen können:

Original (Auslöser des oben genannten Fehlers):

Code: Alles auswählen

[ProgressBar]
Alignment=Center
Left = 5
Top = 377
Width = 600
Height = 20
BarColor = clLime
StartColor = clGreen
FinalColor = clGreen
ShapeColor = clRed
Shaped = false
ShowFullBlock = false
RoundCorner = false
BlockSize = 1
SpaceSize = 1
Cylinder = false
Glass = false
Als wir in diesem Rahmen die Zeilen

Code: Alles auswählen

BarColor = clLime
StartColor = clLime
FinalColor = clLime
ShapeColor = clLime
gleichstellten, funktionierten die [Filex_xx] Sektionen auch wieder ohne den oben genannten Fehler.

Schade war hier, dass die winst32.exe keinerlei Debug-Informationen hierzu ausgeben konnte, dann wäre der Fehler wahrscheinlich schneller gefunden worden.

Trotzdem einige schlaflose Nächte weniger ;)

Bitte nachstellen und fixen, vielleicht auch einen Hinweis irgendwo ablegen, dass mitunter ein Fehler innerhalb des Skriptes möglicherweise auf den WINST-Skin (sofern nicht der originale genutzt wird) gemünzt werden kann. :idea:

Beste Grüße
tb-killa
Beiträge: 76
Registriert: 22 Okt 2017, 16:59

Re: WinstSkin bringt bestimmte WINST Funktion(en) zum Absturz

Beitrag von tb-killa »

Nachdem ich mir die Abhängigkeiten innerhalb der "osbatchgui.pas" angeschaut habe,
bin ich auf die "TQProgressBar" aufmerksam geworden: http://mapage.noos.fr/qnno/pages/delphi ... rogressBar

Innerhalb der readme.txt war der entsprechende Hinweis:
property barColor : TColor;
// Allows to define a single color bar in one shot :
// Using "myBar.barColor := clLime;" is equivalent to :
// "myBar.startColor := clLime; myBar.finalColor := clLime;"
Daher wäre der Vorschlag: prüfen ob es innerhalb der Section [ProgressBar] die Value "BarColor" gibt, dann die Values "StartColor" und "FinalColor" ignorieren,sofern angegeben: (am besten logging Eintrag mit ausgeben).

@Herr Oertel: Wäre diese Idee für einen Fix in ihrem Interesse ?

Grüße
Benutzeravatar
n.wenselowski
Ex-uib-Team
Beiträge: 3194
Registriert: 04 Apr 2013, 12:15

Re: WinstSkin bringt bestimmte WINST Funktion(en) zum Absturz

Beitrag von n.wenselowski »

Hi,

vielen Dank für den ausführlichen Report!

Zum einfachen Nachstellen bei uns: welche Version von opsi-script ist im Einsatz?
Und was müssen wir zum Nachstellen abgesehen von der Skin-Anpassung machen - irgendein Paket installieren?
Habe ich das korrekt gelesen, dass der Fehler bei allen Files-Sektionen auftritt?


Gruß

Niko

Code: Alles auswählen

import OPSI
tb-killa
Beiträge: 76
Registriert: 22 Okt 2017, 16:59

Re: WinstSkin bringt bestimmte WINST Funktion(en) zum Absturz

Beitrag von tb-killa »

Hallo Niko,

vielen Dank für deine Rückmeldung.

Zum Nachstellen:
[*]Win10Profx64 als Core Betriebssystem
[*]opsi-client-agent_4.1.0.0-24.opsi
[*]opsi-winst_4.12.0.32-1.opsi
[*]opsi-script-test_4.12.0.27-2.opsi

in der opsi-winst\winstskin\skin.ini Datei (Standard-Skin)
die Zeile für [ProgressBar]

BarColor = $00E7E7E7 gegen etwas anderes als die drei Start,Final,Shape-Color Einträge ändern!
z.B. BarColor = clBlue

Danach am besten einmal das opsi-script-test_4.12.0.27-2 laufen lassen (install)
-> Er reicht nur die Property: files auf on zu stellen, alles andere auf off.

Der Winst Prozess fängt an zu laden, kurze Zeit später bricht er einfach weg, im
opsi-script-part-XXXXXXX.log sieht man weiter unten die Zeile mit dem Fehlerbild vom Post#1

Somit bricht er sobald die erste [filex_xxx] Sektion kommt weg.

Grüße
mte
Beiträge: 21
Registriert: 03 Mai 2019, 10:06

Re: WinstSkin bringt bestimmte WINST Funktion(en) zum Absturz

Beitrag von mte »

Moin,

gibts schonen einen Fix hierzu?

Gruß
Max
Benutzeravatar
n.wenselowski
Ex-uib-Team
Beiträge: 3194
Registriert: 04 Apr 2013, 12:15

Re: WinstSkin bringt bestimmte WINST Funktion(en) zum Absturz

Beitrag von n.wenselowski »

Hi Max,

aktuell meines Wissens nach noch nicht.


Gruß

Niko

PS: Wenn es dir wichtig ist, kannst du über einen Supportvetrag den Fix bei uns höher priorisieren lassen. Außerdem sind wir offen für Patches!

Code: Alles auswählen

import OPSI
tb-killa
Beiträge: 76
Registriert: 22 Okt 2017, 16:59

Re: WinstSkin bringt bestimmte WINST Funktion(en) zum Absturz

Beitrag von tb-killa »

Guten Tag,

gibt es einen aktuellen Stand ?

Solange der Fehler "bekannt" ist, kann man drum herum "basteln".
Benutzeravatar
n.wenselowski
Ex-uib-Team
Beiträge: 3194
Registriert: 04 Apr 2013, 12:15

Re: WinstSkin bringt bestimmte WINST Funktion(en) zum Absturz

Beitrag von n.wenselowski »

Hi,

zumindest laut internem Ticket nicht.


Gruß

Niko

Code: Alles auswählen

import OPSI
tb-killa
Beiträge: 76
Registriert: 22 Okt 2017, 16:59

Re: WinstSkin bringt bestimmte WINST Funktion(en) zum Absturz

Beitrag von tb-killa »

Okay vielen Dank für die Rückmeldung.

Ich hoffe hier die richtige Stelle gefunden zu haben ?
https://github.com/opsi-org/lazarus/blo ... i.pas#L712

Hier könnte man gemäß meines Kommentars von oben einen entsprechenden Check einbauen:

Die Frage ist nur wie sollte der Check aussehen ?
// Allows to define a single color bar in one shot :
// Using "myBar.barColor := clLime;" is equivalent to :
// "myBar.startColor := clLime; myBar.finalColor := clLime;"
Also wenn barColor gesetzt wurde, startColor und finalColor ignorieren?
Wenn startColor und finalColor gesetzt wurden, barColor ignorieren ?

Grüße
Antworten