I'm using the YAMD script from KIXKICKS and i am haing problems under xp.
Mapping it works just fine but renaming doesn't.

Can anybody help????

PS the script works fine under XP

Here's the script:

code:
FUNCTION YAMD($DRIVELETTER, $UNC, optional $LABEL, optional $ICON, optional $DELETE)
DIM $DI, $HEXCHAR, $HEXLABEL, $LABELKEY, $LABELPATH, $LOOP, $OS, $READCACHE, $SUBCMD, $TIMEOUT, $UNCASCCHAR, $UNCASCLABEL

$TIMEOUT=0
$LABELPATH=""
$DI="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\DriveIcons"
$LABELKEY="HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer"

SELECT
CASE @PRODUCTTYPE = "Windows XP Professional" $OS="WinXP" $SUBCMD="NET USE"
CASE @PRODUCTTYPE = "Windows 2000 Professional" $OS="Win2K" $SUBCMD="NET USE"
CASE @PRODUCTTYPE = "Windows NT Workstation" $OS="WinNT" $SUBCMD="SUBST"

ENDSELECT

SHELL '%COMSPEC% /C $SUBCMD $DRIVELETTER: /D 1>NUL 2>&1'

IF $DELETE
IF $OS="Win2k"
$=DELTREE("$LABELKEY\MountPoints\$DRIVELETTER")
$=DELTREE("$DI\$DRIVELETTER")
RETURN
ENDIF
ENDIF

SHELL '%COMSPEC% /C $SUBCMD $DRIVELETTER: "$UNC" 1>NUL 2>&1'

IF EXIST("$DRIVELETTER:\")=0
RETURN
ENDIF

IF $OS="Win2k"
IF $LABEL
FOR $LOOP = 1 TO LEN($LABEL)
$HEXCHAR=DECTOHEX(ASC(SUBSTR("$LABEL",$LOOP,1)))
$HEXLABEL=$HEXLABEL+$HEXCHAR+"00"
NEXT

WHILE LEN($HEXLABEL) < 128
$HEXLABEL=$HEXLABEL+"00"
LOOP

:WAITFORREG
$READCACHE=READVALUE("$LABELKEY\MountPoints\$DRIVELETTER\_LABELFROMREG","CACHE")
IF @ERROR OR $="$HEXLABEL"
SLEEP(1)
$=WRITEVALUE("$LABELKEY\MountPoints\$DRIVELETTER\_LABELFROMREG","VERSION","3",REG_DWORD)
$=WRITEVALUE("$LABELKEY\MountPoints\$DRIVELETTER\_LABELFROMREG","CACHE","$HEXLABEL",REG_BINARY)
GOTO WAITFORREG
ENDIF

$=WRITEVALUE("$LABELKEY\MountPoints\$DRIVELETTER\_LABELFROMREG","VERSION","3",REG_DWORD)
$=WRITEVALUE("$LABELKEY\MountPoints\$DRIVELETTER\_LABELFROMREG","CACHE","$HEXLABEL",REG_BINARY)
ENDIF

IF $ICON
$=ADDKEY("$DI\$DRIVELETTER")
$=ADDKEY("$DI\$DRIVELETTER\DEFAULTICON")
$=ADDKEY("$DI\$DRIVELETTER\DEFAULTLABEL")
$=WRITEVALUE("$DI\$DRIVELETTER\DEFAULTICON","","$ICON",REG_SZ)
$=WRITEVALUE("$DI\$DRIVELETTER\DEFAULTLABEL","","$LABEL",REG_SZ)
ELSE
$=DELTREE("$DI\$DRIVELETTER")
ENDIF
ENDIF

IF $OS="winxp"
IF $LABEL
FOR $LOOP = 1 TO LEN($UNC)
$UNCASCCHAR=SUBSTR("$UNC",$LOOP,1)

IF $UNCASCCHAR="\"
$UNCASCCHAR="#"
ENDIF

$UNCASCLABEL=$UNCASCLABEL+$UNCASCCHAR
NEXT

$READCACHE=WRITEVALUE("$LABELKEY\MountPoints2\$UNCASCLABEL","_LABELFROMREG","$LABEL",REG_SZ)

ENDIF

$READCACHE=WRITEVALUE("$LABELKEY\MountPoints2\$UNCASCLABEL","_LABELFROMREG","$LABEL",REG_SZ)

IF $ICON
$=ADDKEY("$LABELKEY\MOUNTPOINTS2\$UNCASCLABEL")
$=ADDKEY("$LABELKEY\MOUNTPOINTS2\$UNCASCLABEL\DEFAULTICON")
$=ADDKEY("$LABELKEY\MOUNTPOINTS2\$UNCASCLABEL\DEFAULTLABEL")
$=WRITEVALUE("$LABELKEY\MOUNTPOINTS2\$UNCASCLABEL\DEFAULTICON","","$ICON",REG_SZ)
$=WRITEVALUE("$LABELKEY\MOUNTPOINTS2\$UNCASCLABEL\DEFAULTLABEL","","$LABEL",REG_SZ)
ELSE
$=DELTREE("$LABELKEY\MOUNTPOINTS2\$UNCASCLABEL")
ENDIF
ENDIF

ENDFUNCTION


YAMD ("S","\\MD-DC01\systeembeheer$","Systeembeheer")


YAMD ("I","\\MD-DC01\Installation & Support$","Installation & Support")