Consiglio: se vuoi che il tuo installer funzioni su più sistemi operativi (Windows 9x, NT, 2000, XP) e vuoi installare la dll nella directory di sistema devi creare un batch più articolato: infatti la directory delle dll di sistema in Windows 9x è %windir%\system, mentre in NT, 2000 e XP è %windir%\system32; in più in Windows NT e 2000 %windir% è (solitamente) c:\winnt, mentre in XP e 9x è c:\windows. Ho scritto a suo tempo questa procedura batch per registrare una mia dll:
codice:
@ECHO OFF
REM Sostituire nomedll.dll con il nome della dll da registrare. La dll in questione dovrà trovarsi nella stessa cartella del file batch.
SET dllname=nomedll.dll
REM Istruzioni per l'utente liberamente eliminabili.
ECHO Verr… copiato e registrato %dllname%.
ECHO Per interrompere, premere CTRL+C.
PAUSE
REM Deregistra il componente nel caso in cui fosse già registrato (in modo da cautelarsi contro versioni obsolete)
REGSVR32 %dllname% /U /S
REM Se esiste la cartella %windir%\SYSTEM32 allora siamo sotto Windows NT...
IF EXIST %WINDIR%\SYSTEM32 GOTO VWINNT
REM ...se invece esiste solo %WINDIR%\SYSTEM allora siamo sotto Windows 9x.
IF EXIST %WINDIR%\SYSTEM GOTO VWIN9X
:REGISTRA
REM Registra la dll.
REGSVR32 %dllname% /S
GOTO FINE:
:VWINNT
REM Copia la dll nel percorso corretto per Windows NT.
COPY %dllname% %WINDIR%\SYSTEM32
GOTO REGISTRA
:VWIN9X
REM Copia la dll nel percorso corretto per Windows 9x.
COPY %dllname% %WINDIR%\SYSTEM
GOTO REGISTRA
:FINE