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