部署适用于Windows Media Player 10的VC-1video编解码器(wvc1dmo.cab)

如何从命令行部署用于Windows Media Player 10的VC-1video编解码器?

通常在访问包含以VC-1编码的video的页面时安装,就像这个 (欧洲电视2009年的video,不是为了心脏一样,小心)。 但是这需要pipe理权限,并且在许多工作站上交互性如此不切实际。

IE下载包含wvc1dmo.infwvc1dmod.dll的文件wvc1dmo.cab并以某种方式安装它。 但是如何从命令行做到这一点,无人看pipe?

快速和肮脏的方式 – 解压缩文件并运行:

 rundll32.exe setupapi,InstallHinfSection DefaultInstall 132 wvc1dmo.inf 

我可能打包成一个MSI的DLL,并以这种方式部署。

编辑:

Rundll32似乎不想运行,除非INF的path被指定为“。\ wvc1dmo.inf”。 即使如此,INF安装程序(从命令行调用或从右键单击/安装)实际上不注册该DLL! 这是一个部署脚本,可以放在服务器计算器的共享中,并作为启动脚本调用。 (我认为,对于我的networking,我仍然会把这个东西部署在MSI中,但是今天早上我没有时间去build立一个MSI)。

 @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 

这是有效的,我的良知更清晰。 下一次,我会在发布“答案”之前再testing一下。 我很抱歉。