Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

How to deploy from command line a VC-1 Video Codec for Windows Media Player 10?

It is normally installed while visiting a page containing video encoded in VC-1, like this one (Eurovision 2009 video, not for the faint of heart, beware). But this requires administrative privileges and is interactive so impractical on many workstations.

IE downloads a file wvc1dmo.cab containing wvc1dmo.inf and wvc1dmod.dll and installs it somehow. But how to do this from command line, unattended?

share|improve this question

1 Answer 1

up vote 2 down vote accepted

Quick and dirty way - Extract the files and run:

rundll32.exe setupapi,InstallHinfSection DefaultInstall 132 wvc1dmo.inf

I'd probably package the DLL into an MSI and deploy it that way.

Edit:

Rundll32 doesn't seem to want to run unless the path to the INF is specified as ".\wvc1dmo.inf". Even then, the INF installer (invoked from the command-line or from right-click / Install) doesn't actually register the DLL! Here's a deployment script that can be placed into a share on a server comptuer and invoked as a startup script. (I think, for my networks, I'd still deploy this thing in an MSI, but I don't have time to build an MSI this morning).

@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

That works, and my conscience is somewhat clearer. Next time, I'll test a little more before I go posting an "answer". My apologies.

share|improve this answer
    
This did not work. I ended up with opening a sample file from samples.mplayerhq.hu/V-codecs/WVC1 and manually accepting a codec on every workstation. I have only about 40 workstations so this was possible. –  Tometzky Jun 26 '09 at 7:26
    
I'm sorry about that. I pulled the command-line out of the registry for the right-click / Install behaviour and didn't actually test it. See my edit above. I've included a script (which you probably don't need now, but in the interests of keeping a clear conscience I have included anyway) that I've just tested on two WinXP VM's and seems to work fine. –  Evan Anderson Jun 26 '09 at 10:39
    
Just tested an improved version. Works like a charm. Thanks. –  Tometzky Oct 7 '09 at 18:03
1  
Glad I could help out. I ended up needing to have a script to do this just a few weeks after I wrote it for Server Fault. Good thing, this. –  Evan Anderson Oct 8 '09 at 12:11

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.