whouston
Goto Top

CMD.EXE kann im Netzwerk nicht gestartet werden

Hallo zusammen,
ich habe ein Batch Datei (P4INST.cmd) geschrieben, der ein setup.exe ausführt.
In mein PC funktioniert das ganze gut.
Ich habe das in einem UNC/share gelegt (ein Netzwerk) und wenn ich nun diese Batch Datei ausführe gibt sie mir folgende Fehler:

CMD.EXE was started with the above path ("C:\WINDOWS\system32\cmd.exe") as the current directory. UNC paths are not supported. Defaulting to Windows directory.
Please go to the Control Panel to install and configure system components.

D.h er kann im Netzwerk CMD.EXE nicht ausführen.

Kann mir jemand bitte helfen? Was soll ich im Systemsteuerung installieren und welche System Komponente soll ich konfigurieren?

Content-Key: 72836

Url: https://administrator.de/contentid/72836

Printed on: April 25, 2024 at 15:04 o'clock

Member: TuXHunt3R
TuXHunt3R Nov 06, 2007 at 12:58:17 (UTC)
Goto Top
Kannst du den Code des Scripts mal posten? Möglicherweise liegt dort der Hund begraben....
Member: whouston
whouston Nov 06, 2007 at 13:38:52 (UTC)
Goto Top
Hier ist der Code der Batch-Datei der setup.exe aufrufe, und setup.exe liegt im gleichem Verzeichnis.

@echo off
set USERNAME=%USERNAME:D=d%
set USERNAME=%USERNAME:I=i%
set USERNAME=%USERNAME:C=c%

call setup.exe
Mitglied: 56153
56153 Nov 06, 2007 at 13:40:35 (UTC)
Goto Top
wer lesen kann ist klar im vorteil face-smile

wie die fehlermeldung nun aussagt:

UNC paths are not supported.

Das heißt:

Auf deinem lokalen Computer liegt das Script und die Setup.exe z.B. im Verzeichnis
c:\Install
Dort ist alles gut. Weil das Script die Setup.exe aus dem lokalen Pfad aufrufen will, also übersetzt:
C:\Install\Setup.exe

Kopierst du das ganze nun auf eine Freigabe im Netzwerk (z.B. Auf den PC 'Deploy' in die Freigabe 'Install' erkennt das Script den Pfad nicht mehr, da dieser nun ein UNC-Pfad ist, sprich:

\\DEPLOY\Install\Setup.exe

et voila. UNC Pfade sind für den cmd.exe interpreter nicht erlaubt.

Eine Lösung wäre beispielsweise, das du die Freigabe über eine Gruppenrichtline auf einen Laufwerksbuchstaben mappst und das ganze von da ausführst...
Member: bastla
bastla Nov 06, 2007 at 13:44:36 (UTC)
Goto Top
Hallo whouston!

Vielleicht hilft UNC Pfade werden nicht unterstützt im Anmeldescript face-wink

Grüße
bastla
Member: whouston
whouston Nov 06, 2007 at 13:59:13 (UTC)
Goto Top
Hallo ComaDecay

ich verstehe deine Lösung nicht :##blue |" Eine Lösung wäre beispielsweise, das du die Freigabe über eine Gruppenrichtline auf einen Laufwerksbuchstaben mappst und das ganze von da ausführst..."##

Kannst du mir das anders erklären?
Member: bastla
bastla Nov 06, 2007 at 14:37:31 (UTC)
Goto Top
Hallo whouston!

Hatte Deinen Code zu spät gesehen ...

Eigentlich sollte es ja genügen, anstatt mit "call setup.exe" den Aufruf mit vollständigem Pfad (und ohne "call") vorzunehmen (Beispiel als Anleihe bei ComaDecay face-wink):
\\DEPLOY\Install\Setup.exe
oder (flexibler)
%~dp0\Setup.exe

Grüße
bastla
Member: Biber
Biber Nov 06, 2007 at 14:43:26 (UTC)
Goto Top
Moin bastla,

ob ihm mein kindisches Rumgealbere mit 111molihb hilft, weiß ich nicht face-wink

@whouston
Lass einfach dass "call" weg und starte die setup.exe direkt
.\setup.exe

Grüße
Biber
[Edit] Uppps, schon wieder zu langsam... [/edit]
Member: whouston
whouston Nov 06, 2007 at 15:03:00 (UTC)
Goto Top
Danke euch alle für eure Hilfe.

Ich habe probiert was bastla vorgeschlagen hat: %~dp0\setup.exe
es ergibt sich gleiche Fehler, aber führt das setup.exe trotzdem aus,und es kommt diesen Fehler ##blue |Failed to parse config file"perforce.cfg"## und im log file, steht Could not open perforce.cfg

und was Biber vorgeschlagen hat: .\setup.exe macht er gar nichts
Member: Biber
Biber Nov 06, 2007 at 15:20:30 (UTC)
Goto Top
Moin whouston,

Deine Fehlerbeschreibung deutet erstens darauf hin, dass bastlas Aufruf richtiger ist und zweitens, dass der Setup.exe noch Informationen bzgl Pfad/Verzeichnis der "perforce.cfg" fehlen.

Braucht die Setup.exe evtl noch Umgebungsvariablen/Aufrufparameter?

Wenn nicht, dann solltest Du tatsächlich den "DisableUNCPath"-Eintrag vornehmen.

Grüße
Biber
Member: whouston
whouston Nov 06, 2007 at 15:27:01 (UTC)
Goto Top
Hier ist ein Teil den Code für von perforce.cfg

set INSTMODE=Prompt
set INSTTYPE=ClientOnly
set CLNTEXES=$(ProgramFiles)\Perforce
set P4PORT=perforce6666
set P4USER=$(USERNAME)
set P4CLIENT=$(HOSTNAME)
set P4WEBPORT=8080

registry_group p4win_perf
p4win_perf.root=HKCU
p4win_perf.key=Software\Perforce\P4win\Options
p4win_perf.type=REG_SZ

component p4win
p4win.registry=p4win_perf


Wie du siehst, er übernimmt viele Umgebungsvariablen.
Member: Biber
Biber Nov 06, 2007 at 15:33:42 (UTC)
Goto Top
Jepp, whouston,
Wie du siehst, er übernimmt viele Umgebungsvariablen.
aber diese Zeile können erst zu Problemen führen, wenn die perforce.cfg gefunden wurde.
So weit sind wir ja noch nicht -- meine Frage war, ob die Setup.exe selbst dieses Config-File irgendwo suchst (im Verzeichnis der Setup.exe, in einem Pfad "%XXXX_INSTDIR%" oder in einemPfad, der der Setup.exe als Parameter mitgegeben werden kann ("Setup.exe -cfg=..\init" oder so etwas).

Grüße
Biber
Member: whouston
whouston Nov 06, 2007 at 16:14:35 (UTC)
Goto Top
Hallo Biber.

Perforce.cfg und setup.exe befinden sich im gleichem Verzeichnis.
Ich kann dir leider nicht sagen ob die setup.exe selbst das Config File suchst, weil ich es so bekommen habe mit allen ddl und so weiter.
Meine Aufgabe war nur den Config file zu schreiben, um diese setup.exe ausführen zu können.

Wie gesagt, im lokale PC, läuft alles gut, aber im Netzwerk nicht.
Mitglied: 56153
56153 Nov 06, 2007 at 17:19:55 (UTC)
Goto Top
hi whouston,

also was ich meinte (mein beispiel war wirklich etwas verwirrend und vielleicht auch nicht so passend ;-( ...) ist, das du den unc-pfad auf einen laufwerksbuchstaben mappst. und dann das setup von dem pfad aufrufst.

also mal angenommen, das ganze liegt im pfad \\deploy\install ;) und du hast einen freien laufwerkbuchstaben T:

dann würden die befehle wie folgt lauten:

net use \\deploy install t:
call t:\setup.exe

das sollte dann funktionieren, meiner meinung nach...
Member: whouston
whouston Nov 07, 2007 at 10:22:15 (UTC)
Goto Top
Hallo Leute,

ich habe schon alles probiert, und irgendwie funktioniert das nicht.

Die letzte version der Batch.File ist folgendes:

@echo off

set USERNAME=%USERNAME:D=d%
set USERNAME=%USERNAME:I=i%
set USERNAME=%USERNAME:C=c%

%~dp0setup.exe

Was komisch ist, ist das setup startet aber er sagt immer dass er die Config Datei nicht findet.
Aber wenn ich direct das setup ausführe, d.h nicht über Batch-File, läuft alles gut.

Ich verstehe nicht wo ist das Problem? setup.exe ausführen, läuft alles gut, aber Batch-File ausführen, findet er den Config-Datei nicht.
Member: bastla
bastla Nov 07, 2007 at 11:59:18 (UTC)
Goto Top
Hallo whouston!

ich habe schon alles probiert ...
... inkludiert auch ComaDecay's Vorschlag des Laufwerkmappings? Falls nicht, vielleicht so:
@echo off & setlocal

set USERNAME=%USERNAME:D=d%
set USERNAME=%USERNAME:I=i%
set USERNAME=%USERNAME:C=c%

set "UNC=%~dp0"  
set "UNC=%UNC:~0,-1%  
net use T: /d >nul 2>nul
net use T: "%UNC%" /p:no >nul  
T:\setup.exe
net use T: /d >nul

Grüße
bastla
Member: whouston
whouston Nov 07, 2007 at 14:59:13 (UTC)
Goto Top
Hallo Leute

Endlich funktioniert das ganze alles, und so sieht der Batch-File aus

@echo off & setlocal

set USERNAME=%USERNAME:D=d%
set USERNAME=%USERNAME:I=i%
set USERNAME=%USERNAME:C=c%


CD\P4INSTFILES
setup.exe


wo P4INSTFILES , der Verzeichnis ist, wo setup.exe und der Batch-File liegen

Vielen Dank noch mal für eure Hilfe.