Implantando o codec de vídeo VC-1 para o Windows Media Player 10 (wvc1dmo.cab)

2

Como implantar a partir da linha de comando um o codec de vídeo VC-1 para Windows Media Jogador 10?

É normalmente instalado ao visitar uma página que contém vídeo codificado em VC-1, como este (vídeo do Eurovision 2009, não para os fracos de coração, cuidado). Mas isso requer privilégios administrativos e é interativo de modo impraticável em muitas estações de trabalho.

O IE baixa um arquivo wvc1dmo.cab contendo wvc1dmo.inf e wvc1dmod.dll e instala de alguma forma. Mas como fazer isso a partir da linha de comando, sem supervisão?

    
por Tometzky 02.06.2009 / 16:09

1 resposta

2

Rápido e sujo - Extraia os arquivos e execute:

rundll32.exe setupapi,InstallHinfSection DefaultInstall 132 wvc1dmo.inf

Eu provavelmente empacotaria a DLL em um MSI e a implantaria dessa maneira.

Editar:

O Rundll32 parece não querer ser executado, a menos que o caminho para o INF seja especificado como ". \ wvc1dmo.inf". Mesmo assim, o instalador INF (invocado a partir da linha de comando ou do botão direito do mouse / Install) não registra realmente a DLL! Aqui está um script de implantação que pode ser colocado em um compartilhamento em um servidor e invocado como um script de inicialização. (Eu acho que, para minhas redes, eu ainda colocaria essa coisa em um MSI, mas não tenho tempo para construir um MSI esta manhã).

@echo off
SET SRC=\test-pc01\foo
SET DEST=%TEMP%\%RANDOM%.TMP

rem Query for installation
reg query "HKCR\Software\Microsoft\Multimedia\Components\Installed\codec_wvc1dmo\Uninstall"> NUL 2>NUL
if errorlevel 1 goto do_install
goto end

:do_install
rem Make temporary directory and copy down files
mkdir "%DEST%"
xcopy "%SRC%" "%DEST%" /y

rem Change directory and drive to destination location (as setupapi has to be called with
rem current directory .\ specified on command line. Dumb, dumb, dumb...)
pushd %DEST%
%DEST:~0,2%

rem Call setupapi to perform installation
start /wait rundll32.exe setupapi,InstallHinfSection DefaultInstall.Nt 132 .\wvc1dmo.inf

rem Dumb thing doesn't seem to register itself
regsvr32 /s %SystemRoot%\System32\wvc1dmod.dll

popd

rem Remove temporary files
rmdir /s /q "%DEST%"

:end

Isso funciona, e minha consciência é um pouco mais clara. Da próxima vez, vou testar um pouco mais antes de postar uma "resposta". Minhas desculpas.

    
por 02.06.2009 / 16:14