miktexsetup.exe: Windows API error 3

Alles rund um das System für Windows.


markm2
Forum-Newbie
Forum-Newbie
Beiträge: 6
Registriert: Di 19. Dez 2017, 09:01

miktexsetup.exe: Windows API error 3

Beitrag von markm2 »

Hallo zusammen,

ich soll hier an ca. 60 Arbeisplätzen (Schule) MiKTeX installieren und habe dazu folgende Anleitung verwendet:

MiKTeX Deploy

Leider bekomme ich bei der Client Installation folgende Fehlermeldungen:

Beim 1. Start des Scripts (wie in Anleitung empfohlen!):

miktexsetup.exe: Windows API error 3: Das System kann den angegebenen Pfad nicht finden.
miktexsetup.exe: Data: fileName="C:\Program Files\MiKTeX 2.9\miktex/bin/x64\initexmf.exe", commandLine="initexmf "--common-install=C:\Program Files\MiKTeX 2.9" --set-config-value=[Core]SharedSetup=1 --admin "--log-file=C:\Program Files\MiKTeX 2.9\miktex/config\uninst.log" --verbose"

Es wurde von der Installtion nur folgender Pfad abgelegt: C:\Program Files\MiKTeX 2.9\miktex\config. Dort liegt eine uninst.log ohne Inhalt. Ansonsten ist das Verzeichnis C:\Program Files\MiKTeX 2.9 leer.
Unter %tmp% wurde ein Verzeichnis "miktexsetup" angelegt worin ca. 500 MB an Daten sind.

Beim 2. Start des Scriptes kommt dann folgender Fehler:

miktexsetup.exe: Windows API error 126: Das angegebene Modul wurde nicht gefunden.
miktexsetup.exe: Data: dllName="C:\Users\Benutzername\AppData\Local\Temp\miktexsetup\miktex/bin/x64\MiKTeX209-core.dll"

Die DLL-Datei ist aber vorhanden...

Gruß,
markm2[/url]

Benutzeravatar
u_fischer
Forum-Meister
Forum-Meister
Beiträge: 4266
Registriert: Do 22. Nov 2012, 11:09
Kontaktdaten:

Beitrag von u_fischer »

Hast du denn die Rechte in C:\Program Files\ etwas zu installieren? Wenn nicht solltest du vielleicht --shared=no verwenden und auch die diversen Installationspfade im Skript anpassen. Siehe
https://docs.miktex.org/2.9/manual/miktexsetup.html für die Optionen.

markm2
Forum-Newbie
Forum-Newbie
Beiträge: 6
Registriert: Di 19. Dez 2017, 09:01

Beitrag von markm2 »

habe das script mit und ohne Adminrechte laufen lassen. Mit dem gleichen Ergebnis.

Aber danke für den Tipp!

Die Pfade im Script weisen auf den "package repository" der auf einem Server im Netzwerk liegt. Auf dieses Verzeichnis haben alle User (auch der Admin) Leserechte.

\\appserver1\pgm\MiKTeX\miktexsetup.exe --quiet --local-package-repository=\\appserver1\pgm\MiKTeX --package-set=basic install

Das Setup zieht sich die Dateien ja auch und legt sie auf den Client-PC unter %tmp% ab. Aber dann geht irgendwo was schief...

Benutzeravatar
u_fischer
Forum-Meister
Forum-Meister
Beiträge: 4266
Registriert: Do 22. Nov 2012, 11:09
Kontaktdaten:

Beitrag von u_fischer »

markm2 hat geschrieben:habe das script mit und ohne Adminrechte laufen lassen.
Ohne Adminrechte kann der Installationsort doch nie gehen. Wieso versuchst du das erst? Mit Adminrechten kann es gehen oder auch nicht, je nachdem welche Rechte der Admin auf dem Client hat. Frag denjenigen, der das Netzwerk wartet, welche Installationen auf dem Client möglich sind.

markm2
Forum-Newbie
Forum-Newbie
Beiträge: 6
Registriert: Di 19. Dez 2017, 09:01

Beitrag von markm2 »

ok mein Fehler. Habe mich blöd ausgedrückt...

Das Startscript wurde beim Hochfahren angewendet (Systemrechte) und als Benutzer Logonscript (mit lokalen Adminrechten).

Als Startscript funktioniert es garnicht, da das Setup wohl am Profil des angemeldeten Users rumpfuscht...

Was hat der Netzwerkzugriff mit den lokalen Rechten zu tun? Auf das Netzlaufwerk benötige ich nur Lesen-Rechte und die hat der lokale Adminstrator bzw. das System-Konto.

Benutzeravatar
u_fischer
Forum-Meister
Forum-Meister
Beiträge: 4266
Registriert: Do 22. Nov 2012, 11:09
Kontaktdaten:

Beitrag von u_fischer »

Wieso Netzwerkzugriff? Der Fehlermeldung nach, konnte miktexsetup `"C:\Program Files\MiKTeX 2.9\miktex/bin/x64\initexmf.exe` nicht auf den Client Computer kopieren.

markm2
Forum-Newbie
Forum-Newbie
Beiträge: 6
Registriert: Di 19. Dez 2017, 09:01

Beitrag von markm2 »

wo steht das?

Nach der Fehlermeldung wurde der lokale Pfad nicht gefunden. Logisch er ist ja auch nicht vorhanden.

Jetzt ist die Frage warum er nicht angelegt wurde. Lokale fehlende Rechte können es ja nicht sein, da der lokale Admin angemeldet ist. Fehlende Rechte auf die Netzwerkfreigabe können es meiner Meinung nach auch nicht sein, da die Dateien ja nur gelesen/kopiert werden müssen und Leserechte und dadurch auch Kopierrechte ja auch da sind. Das Setupprogramm kopiert ja auch ca. 500MB nach %tmp% !!!!

Gibt es irgendwo noch Logdateien die man auswerten kann. Habe keine gefunden.

Irgendwo muss ein Fehler passieren der nicht angezeigt wird. Könnte ja z.B. sein, dass im "package-repository" auf dem Server Dateien fehlen oder defekt sind...

Benutzeravatar
u_fischer
Forum-Meister
Forum-Meister
Beiträge: 4266
Registriert: Do 22. Nov 2012, 11:09
Kontaktdaten:

Beitrag von u_fischer »

markm2 hat geschrieben: Jetzt ist die Frage warum er nicht angelegt wurde. Lokale fehlende Rechte können es ja nicht sein, da der lokale Admin angemeldet ist.
Da ist ein Denkfehler. Wie kommst du darauf, dass lokale Admin alles tun dürfen, was sie wollen? Sie können sich diese Rechte verschaffen, aber müssen die nicht unbedingt von Anfang an haben.

Abgesehen davon können auch Virenscanner und andere Programme bestimmte Installationen verhindern.

Rufe doch mal miktexsetup ohne die quiet Option auf.

markm2
Forum-Newbie
Forum-Newbie
Beiträge: 6
Registriert: Di 19. Dez 2017, 09:01

Beitrag von markm2 »

Nein, das ist kein Denkfehler.
Ich gehe immer erstmal davon aus, dass der Anwendungsprogrammierer sich an die Regeln hält. Dann funktioniert die Installation mit lokalen Adminrechten auch problemlos.
Die Ausführung sollte dann auch mit Benutzerrechten ausführbar sein. Daran halten sich jedoch leider nicht alle... (Danke übrigens nochmal für den Tipp mit dem --shared Switch)

Virenscanner habe ich bei Testinstallationen grundsätzlich deaktiviert.

Stimmt, das Ausführen ohne --quit sollte ich mal machen. Hätte ich auch drauf kommen können...

Gast

Beitrag von Gast »

markm2 hat geschrieben:Dann funktioniert die Installation mit lokalen Adminrechten auch problemlos.
Das ist keineswegs selbstverständlich. Ob das funktioniert oder nicht, hängt aber von den Gruppenrichtlinien ab. Im aktuellen Windows 10 hat der lokale Admin von vornherein nicht überall Schreibrechte. Die Installation ausführbarer Dateien kann weiter eingeschränkt sein. Wenn außerdem die Schreibrechte auf bestimmten Ordnern nur auf gewisse Programme beschränkt sind – man macht das neuerdings gerne, damit Verschlüsselungstrojaner ausgehebelt werden – dann kann ein Programm, dass dafür noch nicht freigegeben wurde, selbst, wenn es mit Admin-Rechten (AFAIR nicht einmal mit Systemrechten) läuft, nicht in diese Ordner schreiben. Das muss erst explizit erlaubt werden.

Das Rechte-System von Windows ist sehr komplex und ermöglicht Dinge, die mit einem einfach: "wenn der Anwenderprogrammierer sich an die Regeln hält" bei weitem nicht vollständig beschreibbar sind. Wir können nicht wissen, wie das bei Euch aussieht.

Antworten