Automatic Update of WSUS OU (v0.9.2.2)

Re: Automatic Update of WSUS OU (svn)

Postby WSUSUpdateAdmin » 01.06.2010, 14:57

Hmmm, mein Test lief unter XP.
Das ist es wohl (noch) nicht...

GTW
WSUSUpdateAdmin
Administrator
 
Posts: 2198
Joined: 07.07.2009, 14:38

Re: Automatic Update of WSUS OU (svn)

Postby -Iwan- » 01.06.2010, 17:45

Bei mir ist das nicht weiter tragisch, da ich keine Leerzeichen in den Ordnernamen habe.
Mir stellt sich nur die Frage, ob sich der Aufwand zur Auffindung des Problems lohnt.
-Iwan-
 
Posts: 364
Joined: 02.11.2009, 17:49
Location: NRW, Germany

Re: Automatic Update of WSUS OU (svn)

Postby WSUSUpdateAdmin » 01.06.2010, 19:45

Ich möchte Fehlverhalten generell schon gern verstehen, kann das Problem aber momentan nicht nachvollziehen.
Sorry
Torsten
WSUSUpdateAdmin
Administrator
 
Posts: 2198
Joined: 07.07.2009, 14:38

Re: Automatic Update of WSUS OU (svn)

Postby -Iwan- » 01.06.2010, 20:32

Falls ich was probieren soll oder kann, dann sag Bescheid. So ganz verstehen kann ich das ja auch nicht.
-Iwan-
 
Posts: 364
Joined: 02.11.2009, 17:49
Location: NRW, Germany

Re: Automatic Update of WSUS OU (svn)

Postby Gerby » 02.06.2010, 10:41

Hi!

Ich habe mal im PrepareReleaseTree.cmd hinter Zeile 10 zwei "Debugging-Zeilen" in das Batch eingebaut:
Code: Select all
echo TARGET_DIR: %TARGET_DIR%
echo TARGET_DIR_LONG: %TARGET_DIR_LONG%

... und dann ein wenig rumprobiert.

Ergebnis: Wenn man ein Zielverzeichnis mit Leerzeichen angibt, das nicht existiert(!), wird bei der Kurzform des Zielverzeichnisses (TARGET_DIR) der lange Zielverzeichnisname angehängt.
Beispielausgabe auf der Befehlszeile (Zielverzeichnis "Viele böse Leerzeichen" existiert nicht):
Code: Select all
E:\Ablage\WSUS Test>trunk\PrepareReleaseTree.cmd "Viele böse Leerzeichen"
TARGET_DIR: E:\Ablage\WSUSTE~1\Viele böse Leerzeichen
TARGET_DIR_LONG: "E:\Ablage\WSUS Test\Viele böse Leerzeichen"
Der Befehl "böse" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.
Copying scripts and binaries...
Unzulässige Parameteranzahl
Das System kann den angegebenen Pfad nicht finden.
Compiling AutoIt-Scripts...

Irgendwie logisch, dass Windows keinen Kurznamen erzeugen kann, wenn das entsprechende Verzeichnis nicht existiert. Ob das nun ein Bug oder ein Feature von Windows ist, darüber lässt sich streiten. Übrigens: Unter Windows Vista zeigt sich das gleiche Verhalten.

Wie auch immer: Um das Problem zu umgehen, muss im Skript entweder nur mit dem Langnamen gearbeitet werden (und mit viel Rumhantieren mit Anführungszeichen). Oder man setzt den Abfragepfad in Zeile 11 einfach in Anführungszeichen, auch wenn es wegen der Kurzform eigentlich garnicht nötig sein sollte (die pragmatische Lösung).
Code: Select all
if not exist "%TARGET_DIR%\nul" goto InvalidParam


Schöne Grüße
Gerby

P.S.:
@Torsten: Beim durchstöbern der Batchdateien ist mir noch aufgefallen, dass Du in CompileAutoItScripts.cmd die Sprungmarke :EoF verwendest. Die ist in Windows jedoch bereits reserviert für das Ende der Batchdatei. Demnach wird der Befehl endlocal niemals ausgeführt (siehe auch weiter oben in diesem Thread). Ist jedoch andererseits auch nicht tragisch, da endlocal am Ende der Batchdatei nicht benötigt wird. setlocal wird beim Beenden der Batchdatei automatisch aufgehoben.
Mach mit - der Übersichtlichkeit wegen! Füge Log-Auszüge als [Code] ein.
Make it clear! Insert log excerpts as [Code].
Gerby
 
Posts: 465
Joined: 11.09.2009, 15:57
Location: DE > SH > SE

Re: Automatic Update of WSUS OU (svn)

Postby WSUSUpdateAdmin » 11.06.2010, 10:43

Moin Mark,

Gerby wrote:Ich habe mal [im PrepareReleaseTree.cmd hinter Zeile 10 zwei "Debugging-Zeilen" in das Batch eingebaut:
Code: Select all
echo TARGET_DIR: %TARGET_DIR%
echo TARGET_DIR_LONG: %TARGET_DIR_LONG%

... und dann ein wenig rumprobiert.

danke für Deine Recherche! :)

Gerby wrote:[...]Wie auch immer: Um das Problem zu umgehen, muss im Skript entweder nur mit dem Langnamen gearbeitet werden (und mit viel Rumhantieren mit Anführungszeichen). Oder man setzt den Abfragepfad in Zeile 11 einfach in Anführungszeichen, auch wenn es wegen der Kurzform eigentlich garnicht nötig sein sollte (die pragmatische Lösung).
Code: Select all
if not exist "%TARGET_DIR%\nul" goto InvalidParam


Ich bin ja immer für Pragmatismus zu haben, aber von Zeit zu Zeit sollte man auch mal ausfegen, denke ich ;) (vgl. http://trac.wsusoffline.net/trac.fcgi/browser/trunk (r114, noch nicht eingecheckt)).

Gerby wrote:P.S.:
@Torsten: Beim durchstöbern der Batchdateien ist mir noch aufgefallen, dass Du in CompileAutoItScripts.cmd die Sprungmarke :EoF verwendest. Die ist in Windows jedoch bereits reserviert für das Ende der Batchdatei. Demnach wird der Befehl endlocal niemals ausgeführt (siehe auch weiter oben in diesem Thread). Ist jedoch andererseits auch nicht tragisch, da endlocal am Ende der Batchdatei nicht benötigt wird. setlocal wird beim Beenden der Batchdatei automatisch aufgehoben.

Das stimmt so nicht!
Ich hatte auch schon einen Schreck bekommen, als ich die damals für mich neue Möglichkeit entdeckte, in .cmd-Dateien Quasi-Subroutinen mit
Code: Select all
:<Sprungmarke>
...
goto :eof

zu definieren und mit
Code: Select all
call :<Sprungmarke>
aufzurufen, weil ich in meinen Batch-Dateien gern die Sprungmarke "EoF" als letzte in der Datei verwendete und dachte, die neue Funktionalität würde mit meinen Ende-Marken kollidieren.
Reserviert ist aber laut http://www.microsoft.com/resources/docu ... /goto.mspx lediglich der Befehl "goto :EOF" (wohlgemerkt mit ':'), mit dem man direkt ans Ende der .cmd-Datei (oder damit ans Ende einer 'Subroutine') springt, ohne dass diese Sprungmarke explizit im Code definiert wäre.
Definiere ich aber selbst ein "EoF", kann ich weiterhin mit "goto EoF" (ohne ':') zu dieser Marke springen, und der evtl. folgende Code wird auch nachweislich ausgeführt. 8-)
Ich nehme an, dass Microsoft mit dem (einzigen) goto mit ':' solchen Kollisionen vorbeugen wollte.
Ham' se ja mal jut jemacht. :)

Gruß & ein schönes Wochenende
Torsten Wittrock
WSUSUpdateAdmin
Administrator
 
Posts: 2198
Joined: 07.07.2009, 14:38

Re: Automatic Update of WSUS OU (v0.4)

Postby -Iwan- » 12.06.2010, 08:29

neue Version online / new version online: v0.4
Optimierung der Downloadroutine / optimization of the download script
-Iwan-
 
Posts: 364
Joined: 02.11.2009, 17:49
Location: NRW, Germany

Re: Automatic Update of WSUS OU (v0.4)

Postby caspertone2003 » 12.06.2010, 23:11

Iwan, thanks for updater of the updater ...

just for those with proxy ... another option is to include the needed info in the register.

Following information from http://svnbook.red-bean.com/en/1.1/ch07.html I built the following .reg file:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\Software\Tigris.org\Subversion\Servers\global]
"http-proxy-host"="192.16.1.4"
"http-proxy-port"="6588"

change 192.16.1.4 by the ip of your proxy
change 6588 for your actual proxy port

save the .reg file, click twice, click YES and voila!

Perhaps you can introduce this in version 0.5 ...
caspertone2003
 
Posts: 12
Joined: 14.11.2009, 19:38

Re: Automatic Update of WSUS OU (v0.4)

Postby -Iwan- » 12.06.2010, 23:48

I will keep it in my mind for the next version 8-)

Did some one tried it with this .reg-file and these settings? I don't have a proxy at home ;)
Another option is to edit a file as described at http://subversion.apache.org/faq.html#proxy
-Iwan-
 
Posts: 364
Joined: 02.11.2009, 17:49
Location: NRW, Germany

Re: Automatic Update of WSUS OU (v0.4)

Postby caspertone2003 » 15.06.2010, 11:55

Of course I tested it, and my system, with proxy, is working that way.
You can use the name of the proxy instead of its ip if you have proper DNS resolution

On another topic, if WSUSOU-Update.cmd is located in a path with a space, the cmd fails. For example:
N:\wsusoffline\TrunksUpdater\WSUSOU-Update this goes ok
N:\wsusoffline\Trunks Updater\WSUSOU-Update this one fails

Another suggestion; in relation to SET WSUSOU="letter:\folder\folder", you can update the
cmd as follows
REM SET WSUSOU="I:\MS-Updates\wsusoffline"
SET /P WSUSOU=Provide complete path to UpdateGenerator.exe, such as K:\wsusoffline:

then, let users choice if they wish to touch the cmd to fix the path or just give the path. This way is more user friendly to less advanced users (do not have to edit the cmd!).

CT,


A
caspertone2003
 
Posts: 12
Joined: 14.11.2009, 19:38

PreviousNext

Return to Download

Who is online

Users browsing this forum: No registered users and 8 guests