Fehler bei opsi-makeproductfile

Moderator: pandel

Antworten
Benutzeravatar
d.oertel
uib-Team
Beiträge: 3319
Registriert: 04 Jun 2008, 14:27

Fehler bei opsi-makeproductfile

Beitrag von d.oertel »

Hi,

ich bekomme hier (in einem Kurs und nur auf einem Rechner) beim Packen folgende Ausgabe:

Code: Alles auswählen

----------------------- BUILD ACTION ---------------------------
----------------------------------------------------------------
export PYTHONIOENCODING='utf-8'; cd '/home/opsiproducts/tinypic'; opsi-makeproductfile -vv
Der Befehl "C:\Program" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.
Der Befehl "C:\Program" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.
Der Befehl "C:\Program" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.
Von Hand (per putty) ist der Aufruf ' opsi-makeproductfile -vv' problemlos.
Das Problem tritt bei unterschiedlichen Produkten auf (allen getesteten).

Ich vermute das "C:\Program" der erste Teil des plink Aufrufs ist. Kann mir aber nicht erklären warum das hier auftritt und woanders bei der selben Version nicht.
Version ist 6.0.
auf win7 x64 SP1

Any Idea ?

gruß
d.oertel
opsi support - uib gmbh

For productive opsi installations we recommend support contracts.
http://www.uib.de
http://www.opsi.org
pandel
Beiträge: 830
Registriert: 25 Jan 2013, 16:47

Re: Fehler bei opsi-makeproductfile

Beitrag von pandel »

Hi,

komisch. Hab mir gerade extra mal den PackageBuilder unter "Program Files" installiert, führt zu keinem Problem. Ich hab aber zumindest eine Idee, was du versuchen kannst, und zwar per Kommandozeile ohne GUI:

- mach mal eine CMD auf und wechsel in den Ordner, in dem der PackageBuilder installiert ist (wahrscheinlich C:\Program Files\opsi PackageBuilder)
- dein Produkt heißt "tinypic"? dann starte mal in der Kommandozeile mit: opsipackagebuilder.exe --path=tinypic --build=interactive -n -d

Das "--build=interactive" sorgt dafür, dass du gefragt wirst, was du machen möchtest, falls er schon ein fertiges Paket findet. Wichtig ist letztlich nur, dass der Build-Parameter so gewählt ist, dass er tatsächlich den Bau an der Kommandozeile durchführt. Wenn's geklappt hat, sollte es einiges an Log-Output bringen. Da steht dann auch der genaue Aufruf der plink.exe stehen, vielleicht kannst du daran was erkennen.

Sieht so ähnlich aus wie die nachfolgende (hab das mal so nachgestellt):
[02.04.2014 15:35:06] ! DEBUG: runThis=C:\WINNT\system32\cmd.exe /c C:\PROGRA~2\OPSIPA~1\Tools\plink.exe -batch admin@rechername -pw "XXXXX" export PYTHONIOENCODING='utf-8'; cd '/home/opsiproducts/tinypic'; opsi-makeproductfile -vv


EDIT: Evtl. defekte Rechte auf "c:\Program Files"?
Lieber Gruß
Holger
Benutzeravatar
d.oertel
uib-Team
Beiträge: 3319
Registriert: 04 Jun 2008, 14:27

Re: Fehler bei opsi-makeproductfile

Beitrag von d.oertel »

Hi,

hier ist der (glaube ich) relevante teil des output:

Code: Alles auswählen

[02.04.2014 16:10:56] Paket wird gebaut...
[02.04.2014 16:10:56] ! DEBUG: in _formatIOText()...
[02.04.2014 16:10:56] ! DEBUG: Command to execute: export PYTHONIOENCODING='utf-8'; cd '/home/opsiproducts/tinypic'; mv opsi OPSI
[02.04.2014 16:10:56] ! DEBUG: in _formatIOText()...
[02.04.2014 16:10:56] ! DEBUG: in _runSshCommand()...
[02.04.2014 16:10:56] ! DEBUG: runThis=C:\Windows\system32\cmd.exe /c C:\Program Files (x86)\opsi PackageBuilder\Tools\plink.exe -batch root@backup -pw "***********" export PYTHONIOENCODING='utf-8'; cd '/home/opsiproducts/tinypic'; mv opsi OPSI
[02.04.2014 16:10:56] ! DEBUG: Command to execute: chmod 700 '/home/opsiproducts/tinypic/OPSI/preinst'
[02.04.2014 16:10:56] ! DEBUG: in _formatIOText()...
[02.04.2014 16:10:56] ! DEBUG: in _runSshCommand()...
[02.04.2014 16:10:56] ! DEBUG: runThis=C:\Windows\system32\cmd.exe /c C:\Program
 Files (x86)\opsi PackageBuilder\Tools\plink.exe -batch root@backup -pw "********" chmod 700 '/home/opsiproducts/tinypic/OPSI/preinst'
[02.04.2014 16:10:56] ! DEBUG: Command to execute: chmod 700 '/home/opsiproducts/tinypic/OPSI/postinst'
[02.04.2014 16:10:56] ! DEBUG: in _formatIOText()...
[02.04.2014 16:10:56] ! DEBUG: in _runSshCommand()...
[02.04.2014 16:10:56] ! DEBUG: runThis=C:\Windows\system32\cmd.exe /c C:\Program
 Files (x86)\opsi PackageBuilder\Tools\plink.exe -batch root@backup -pw "*****" chmod 700 '/home/opsiproducts/tinypic/OPSI/postinst'
[02.04.2014 16:10:56] ! DEBUG: Command to execute: export PYTHONIOENCODING='utf-
8'; cd '/home/opsiproducts/tinypic'; opsi-makeproductfile -vv
[02.04.2014 16:10:56] ! DEBUG: in _formatIOText()...
[02.04.2014 16:10:56] ! DEBUG: in _runSshCommand()...
[02.04.2014 16:10:56] ! DEBUG: runThis=C:\Windows\system32\cmd.exe /c C:\Program Files (x86)\opsi PackageBuilder\Tools\plink.exe -batch root@backup -pw "***********" export PYTHONIOENCODING='utf-8'; cd '/home/opsiproducts/tinypic'; opsi-makeproductfile -vv
[02.04.2014 16:10:56] ! DEBUG: Der Befehl "C:\Program" ist entweder falsch geschrieben oder konnte nicht gefunden werden.
gruß
d.oertel
opsi support - uib gmbh

For productive opsi installations we recommend support contracts.
http://www.uib.de
http://www.opsi.org
pandel
Beiträge: 830
Registriert: 25 Jan 2013, 16:47

Re: Fehler bei opsi-makeproductfile

Beitrag von pandel »

Hi!

Ja, das ist der relevante Teil, aber ich werde überhaupt nicht schlau draus. Bis zu der Stelle, wo der Fehler auftritt, hat er plink.exe schon 3x ausgeführt, nämlich direkt nach der Ausgabe der "! DEBUG: runThis=..." Zeilen. Es müsste also bereits vorher mehrfach zu einem Fehler gekommen sein, ist es aber ja offenbar nicht. Ich hab gerade nochmal den Quellcode gecheckt, da passiert sonst rein gar nichts besonderes :?:

Ich geh mal davon aus, dass alle Rechner identisch installiert sind, oder? Dann bin ich momentan echt ratlos :cry: :oops: ... hatte zuerst auf die langen Pfadnamen in Kombi mit Win7 x64 getippt, aber daran kann es eigtl. nicht liegen... außerdem nutze ich den PackageBuilder zuhause unter Win8.1 x64, da gibt's das auch nicht...

Tut mir total leid, dass ich da gerade keine befriedigende Antwort habe, aber ich hab keine Idee, wie ich das nachstellen soll!

Du könntest die Kommandzeilenfassung höchstens nochmal auf einer anderen Maschine (auf der es geht) machen und den Output vergleichen, vielleicht fällt da was auf...

EDIT: Ok, was noch sehr merkwürid ist, ist die Tatsache, dass der Pfad überhaupt die langen Pfadnamen enthält. Ich nutze eigtl. eine Funktion, die FileGetShortName hei0ßt und dafür sorgen soll, dass solche langen Pfade mit Leerzeichen darin gar nicht erst verwendet werden. Das muss ich mir genauer ansehen, woran das liegt. Vielleicht ist das auch ein Fehler in AutoIt...

Lieber Gruß
Holger
Benutzeravatar
d.oertel
uib-Team
Beiträge: 3319
Registriert: 04 Jun 2008, 14:27

Re: Fehler bei opsi-makeproductfile

Beitrag von d.oertel »

Hi,

ich kann bestätigen, dass auf meinem Rechner wo alles funktioniert, der Pfad zur plink.exe mit der Kurzform der Pfade arbeitet.
Kann das sein, das hier eine dll fehlt damit das funktioniert ?
Wäre die Langform mit Anführungszeichen eine Alternative ?

gruß
d.oertel
opsi support - uib gmbh

For productive opsi installations we recommend support contracts.
http://www.uib.de
http://www.opsi.org
pandel
Beiträge: 830
Registriert: 25 Jan 2013, 16:47

Re: Fehler bei opsi-makeproductfile

Beitrag von pandel »

Hi,

ich werde das so schnell wie möglich klären! Das Problem ist, dass ich das mit langem Pfad und Anführungszeichen bereits probiert hatte und es nicht immer sauber funktionierte. Da die andere Variante aber noch nirgendwo zum Problem geführt hat, war ich davon ausgegangen, dass damit alles Probleme erschlagen sind. Jetzt muss ich erstmal nach einer neuen Lösung fahnden...

Melde mich umgehend, sobald ich was hab!

Lieber Gruß
Holger
pandel
Beiträge: 830
Registriert: 25 Jan 2013, 16:47

Re: Fehler bei opsi-makeproductfile

Beitrag von pandel »

Hi,

könntest du auf dem betroffenen Rechner mal folgendes nachsehen (wäre für mich wichtig, damit ich grundlegend klären kann, woher das kommt):

In der Windows Registry unter HKEY_LOCAL_ MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem gibt es einen Schlüssel NtfsDisable8dot3NameCreation. Steht da zufällig eine 1 drin? Wenn ja, dann ist zumindest klar, warum der kurze Verzeichnisname fehlt - damit ist es dann auch nicht ein Fehler in AutoIt, was ja wichtig ist.

Ich werde mir derweil eine Alternative einfallen lassen...

Lg
Holger
pandel
Beiträge: 830
Registriert: 25 Jan 2013, 16:47

Re: Fehler bei opsi-makeproductfile

Beitrag von pandel »

Sooo... bitte mal die folgende Beta auf dem betroffenen Rechner testen: - Link entfernt -

ABER Hinweis: es ist ein neuer Konfigparameter hinzugekommen und eine neue Schaltfläche... funktioniert auch schon, ist aber noch nirgends beschrieben...

AN ALLE WEITEREN MITLESER: DIESE VERSION IST NICHT OFFIZIELL UND NUR ZUM TEST - SIE VERSCHWINDET HIER SOBALD DER TEST ERFOLGREICH WAR - ALSO NICHT DOWNLOADEN. ICH GARANTIERE FÜR GAR NIX....
Benutzeravatar
d.oertel
uib-Team
Beiträge: 3319
Registriert: 04 Jun 2008, 14:27

Re: Fehler bei opsi-makeproductfile

Beitrag von d.oertel »

Hi,

also auf den Rechnern bei denen es mit 6.0 nicht geht ist:
NtfsDisable8dot3NameCreation = 2

Mit der BetaVersion funktioniert es !!!

Code: Alles auswählen

[03.04.2014 12:51:29] ! DEBUG: runThis="C:\Program Files (x86)\opsi PackageBuilder\Tools\plink.exe" -batch root@backup -pw "*********" export PYTHONIOENCODING='utf-8'; cd '/home/opsiproducts/tinypic'; opsi-makeproductfile -vv
Herzlichen Glückwunsch und Danke

gruß
d.oertel
opsi support - uib gmbh

For productive opsi installations we recommend support contracts.
http://www.uib.de
http://www.opsi.org
pandel
Beiträge: 830
Registriert: 25 Jan 2013, 16:47

Re: Fehler bei opsi-makeproductfile

Beitrag von pandel »

Hi!

Cool :mrgreen: ! Danke für die Info!

Übrigens, falls es dich interessiert, hier die Doku zu dem blöden Registry Schlüssel:
Value and Meaning
0 NTFS creates short file names. This setting enables applications that cannot process long file names and computers that use differentcode pages to find the files.
1 NTFS does not create short file names. Although this setting increases file performance, applications that cannot process long file names, and computers that use different code pages, might not be able to find the files.
2 NTFS sets the 8.3 naming convention creation on a per volume basis.
3 NTFS disables 8dot3 name creation on all volumes except the system volume.
Dann werd ich wohl eine Zwischenversion veröffntlichen. Ursprünglich hatte ich für die 6.1 noch ein bißchen mehr geplant, aber was soll's. Da ich aber noch die Hilfe und ein paar Screenshots vorher anpassen muss, wird es noch 1-2 Tage dauern.

Lg
Holger
Antworten