Instalacion fallida dll con bat

Iniciado por ovichan, 1 Marzo 2012, 17:22 PM

0 Miembros y 1 Visitante están viendo este tema.

ovichan

Hola a todos, a ver si me podeis echar un cable ya que tengo un problema con el famoso run as. El caso es este:

Tengo una dll que necesito instalar, tengo el archivo inf que funciona correctamente en sistemas x86 pero no en x64, de ahi que tenga que hacer un bypass, por asi decirlo ^^. El archivo bat de instalación que he creado es de una linea de ejecución:

rundll32.exe setupapi.dll,InstallHinfSection DefaultInstall 0 huffyuv.inf

El problema es que evidentemente no pilla donde esta el archivo inf, si le pongo %cd% para indicarle la actual directorio supuestamente se solucionaria pero como necesito derechos de administrador para copiar archivos en system32, el valor de %cd% cambia a C:\Windows\system32 y no me sirve, claro.

Os dejo los archivos para que veais a que me refiero, porque quizas no me he explicado correctamente. La dll es un mero encoder de video lossless.

Quizas es mas facil modificar el archivo inf, pero no se hacerlo.

http://dl.dropbox.com/u/19135067/huffyuv-2.1.1.rar

Gracias por adelantado.




Eleкtro

#1
Quizás esto te sirva de ayuda: (solucionado) ¿Como instalar este driver de hardware (.INF) en batch




El rundll32 era "especial" (Toca pelotas) al pasar la ruta con espacios con o sin comillas, Ya no recuerdo si habia que hacerlo con comillas o SIN, así que te hago las 2 maneras xD

Si estás seguro que el comando te funciona y el error solo tiene que ver con la ruta de origen, Prueba con estos scripts (No los uses directamente desde la consola):


Código (DOS) [Seleccionar]
rundll32.exe setupapi.dll,InstallHinfSection DefaultInstall 0 "%~dp0huffyuv.inf"


Código (DOS) [Seleccionar]
rundll32.exe setupapi.dll,InstallHinfSection DefaultInstall 0 %~dp0huffyuv.inf




Si el error de instalación fuese por el archivo inf, Prueba así:
(Es un bat)

Código (dos) [Seleccionar]
;@Echo Off&title INF Installer
;
;Set "Code=%~f0"
;:Init
;Cls
;Echo.
;Echo. Instalando Controlador...
;rundll32.exe advpack.dll,LaunchINFSection "%Code%",DefaultInstall
;Ping -n 1 localhost >nul
;Echo. Finalizado
;Pause
;Exit /b 0

::::::::::: Codigo INF ::::


; Huffyuv AVI lossless video codec
;
; Copyright (c) 2000 Ben Rudiak-Gould
;
; This Windows 9x Installation INF File by Rainbow Software
;
[version]
signature="$CHICAGO$"

[DefaultInstall]
CopyFiles=HUF.Files.Inf,HUF.Files.Dll
AddReg=HUF.Reg
UpdateInis=HUF.INIs

[DefaultUnInstall]
DelFiles=HUF.Files.Dll,HUF.Files.Inf,HUF.Files.Ini
DelReg=HUF.Reg
UpdateInis=HUF.INIs.Del

[SourceDisksNames]
1="Huffyuv AVI lossless video codec","",1

[SourceDisksFiles]
HUFFYUV.INF=1
HUFFYUV.DLL=1

[DestinationDirs]
HUF.Files.Inf=17
HUF.Files.Dll=11
HUF.Files.Ini=25

[HUF.Files.Inf]
HUFFYUV.INF

[HUF.Files.Dll]
HUFFYUV.DLL

[HUF.Files.Ini]
HUFFYUV.INI

[HUF.Reg]
HKLM,SYSTEM\CurrentControlSet\Control\MediaResources\icm\VIDC.HFYU,Description,,"Huffyuv lossless codec [HFYU]"
HKLM,SYSTEM\CurrentControlSet\Control\MediaResources\icm\VIDC.HFYU,Driver,,"huffyuv.dll"
HKLM,SYSTEM\CurrentControlSet\Control\MediaResources\icm\VIDC.HFYU,FriendlyName,,"Huffyuv lossless codec [HFYU]"

HKLM,"Software\Microsoft\Windows NT\CurrentVersion\drivers.desc",huffyuv.dll,,"Huffyuv lossless codec [HFYU]"
HKLM,"Software\Microsoft\Windows NT\CurrentVersion\Drivers32",VIDC.HFYU,,"huffyuv.dll"

HKLM,Software\Microsoft\Windows\CurrentVersion\Uninstall\HUFFYUV
HKLM,Software\Microsoft\Windows\CurrentVersion\Uninstall\HUFFYUV,DisplayName,,"Huffyuv AVI lossless video codec (Remove Only)"
HKLM,Software\Microsoft\Windows\CurrentVersion\Uninstall\HUFFYUV,UninstallString,,"rundll.exe setupx.dll,InstallHinfSection DefaultUninstall 132 %17%\HUFFYUV.INF"

[HUF.INIs]
system.ini, drivers32,, "VIDC.HFYU=huffyuv.dll"

[HUF.INIs.Del]
system.ini, drivers32, "VIDC.HFYU=huffyuv.dll"


Si no te funciona, así:

Código (dos) [Seleccionar]
;@Echo Off&title INF Installer
;
;Set "Code=%~f0"
;:Init
;Cls
;Echo.
;Echo. Instalando Controlador...
;rundll32.exe setupapi.dll,InstallHinfSection DefaultInstall "%Code%"
;Ping -n 1 localhost >nul
;Echo. Finalizado
;Pause
;Exit /b 0


::::::::::: Codigo INF ::::


; Huffyuv AVI lossless video codec
;
; Copyright (c) 2000 Ben Rudiak-Gould
;
; This Windows 9x Installation INF File by Rainbow Software
;
[version]
signature="$CHICAGO$"

[DefaultInstall]
CopyFiles=HUF.Files.Inf,HUF.Files.Dll
AddReg=HUF.Reg
UpdateInis=HUF.INIs

[DefaultUnInstall]
DelFiles=HUF.Files.Dll,HUF.Files.Inf,HUF.Files.Ini
DelReg=HUF.Reg
UpdateInis=HUF.INIs.Del

[SourceDisksNames]
1="Huffyuv AVI lossless video codec","",1

[SourceDisksFiles]
HUFFYUV.INF=1
HUFFYUV.DLL=1

[DestinationDirs]
HUF.Files.Inf=17
HUF.Files.Dll=11
HUF.Files.Ini=25

[HUF.Files.Inf]
HUFFYUV.INF

[HUF.Files.Dll]
HUFFYUV.DLL

[HUF.Files.Ini]
HUFFYUV.INI

[HUF.Reg]
HKLM,SYSTEM\CurrentControlSet\Control\MediaResources\icm\VIDC.HFYU,Description,,"Huffyuv lossless codec [HFYU]"
HKLM,SYSTEM\CurrentControlSet\Control\MediaResources\icm\VIDC.HFYU,Driver,,"huffyuv.dll"
HKLM,SYSTEM\CurrentControlSet\Control\MediaResources\icm\VIDC.HFYU,FriendlyName,,"Huffyuv lossless codec [HFYU]"

HKLM,"Software\Microsoft\Windows NT\CurrentVersion\drivers.desc",huffyuv.dll,,"Huffyuv lossless codec [HFYU]"
HKLM,"Software\Microsoft\Windows NT\CurrentVersion\Drivers32",VIDC.HFYU,,"huffyuv.dll"

HKLM,Software\Microsoft\Windows\CurrentVersion\Uninstall\HUFFYUV
HKLM,Software\Microsoft\Windows\CurrentVersion\Uninstall\HUFFYUV,DisplayName,,"Huffyuv AVI lossless video codec (Remove Only)"
HKLM,Software\Microsoft\Windows\CurrentVersion\Uninstall\HUFFYUV,UninstallString,,"rundll.exe setupx.dll,InstallHinfSection DefaultUninstall 132 %17%\HUFFYUV.INF"

[HUF.INIs]
system.ini, drivers32,, "VIDC.HFYU=huffyuv.dll"

[HUF.INIs.Del]
system.ini, drivers32, "VIDC.HFYU=huffyuv.dll"








ovichan

Muchas gracias, solo ha hecho falta el segundo comando sin comillas que has puesto. ^^