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 (http://dl.dropbox.com/u/19135067/huffyuv-2.1.1.rar)
Gracias por adelantado.
Quizás esto te sirva de ayuda: (solucionado) ¿Como instalar este driver de hardware (.INF) en batch (http://foro.elhacker.net/empty-t345982.0.html)
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):
1º
rundll32.exe setupapi.dll,InstallHinfSection DefaultInstall 0 "%~dp0huffyuv.inf"
2º
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)
;
;:Init
;Cls
;
Echo. Instalando Controlador...
;rundll32.exe advpack.dll,LaunchINFSection "%Code%",DefaultInstall
;Ping -n 1 localhost
>nul
::::::::::: 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
[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"
system.ini, drivers32, "VIDC.HFYU=huffyuv.dll"
Si no te funciona, así:
;
;:Init
;Cls
;
Echo. Instalando Controlador...
;rundll32.exe setupapi.dll,InstallHinfSection DefaultInstall "%Code%"
;Ping -n 1 localhost
>nul
::::::::::: 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
[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"
system.ini, drivers32, "VIDC.HFYU=huffyuv.dll"
Muchas gracias, solo ha hecho falta el segundo comando sin comillas que has puesto. ^^