We licensed a video codec in this form, and now we need to get it into our
installer.
Can anyone point me to some documentation?
Regards
Thomas Tomiczek
THONA Consulting Ltd.
(Microsoft MVP C#/.NET)
"Thomas Tomiczek [MVP]" <t.tom...@thona-consulting.com> spake the secret code
<us#FisyUCHA.3764@tkmsftngp08> thusly:
>Obviously I need to call a function like ICInstall
Video for Windows has been superseded by DirectShow. VfW codecs are
like DirectShow filters, I believe. DirectShow filters are just COM
objects like any other COM object you would install with Windows
Installer. I'd look into providing any new functionality with
DirectShow instead of VfW. DirectShow replaces VfW and uses any
existing VfW facilities and exposes them through DirectShow.
Looking at the docs for the VfW Video Compression Manager, it doesn't
look like ICInstall really installs a file -- you're passing it a
function pointer to register a video codec located in your address
space with the system. So I don't see how you could install a codec
for use by other processes with ICInstall. However, I've only used
DirectShow, not VfW.
>We licensed a video codec in this form, and now we need to get it into our
>installer.
How do you use the codec in your code on a development system?
--
Ask me about my upcoming book on Direct3D from Addison-Wesley!
Direct3D Book <http://www.xmission.com/~legalize/book/>
izfree: Open source tools for Windows Installer
<http://izfree.sourceforge.net>
"Rich [Microsoft Windows Installer MVP]" <legaliz...@mail.xmission.com>
wrote in message news:al2in5$phr$1...@terabinaries.xmission.com...
> [Please do not mail me a copy of your followup]
>
> "Thomas Tomiczek [MVP]" <t.tom...@thona-consulting.com> spake the secret
code
> <us#FisyUCHA.3764@tkmsftngp08> thusly:
>
> >Obviously I need to call a function like ICInstall
>
> Video for Windows has been superseded by DirectShow. VfW codecs are
Very nice statement. Would you please tell this to all the people out there
selling codecs that dont care yet? The response I got is that we are the
first one to ask.
> like DirectShow filters, I believe. DirectShow filters are just COM
> objects like any other COM object you would install with Windows
> Installer. I'd look into providing any new functionality with
> DirectShow instead of VfW. DirectShow replaces VfW and uses any
> existing VfW facilities and exposes them through DirectShow.
Again, this is a codec we utilise, not we write, and the producer#s seem not
to know and not to care.
> Looking at the docs for the VfW Video Compression Manager, it doesn't
> look like ICInstall really installs a file -- you're passing it a
> function pointer to register a video codec located in your address
> space with the system. So I don't see how you could install a codec
> for use by other processes with ICInstall. However, I've only used
> DirectShow, not VfW.
Well, first - the ICInstall function also can specify a dll name - seems you
missed this in the documentation.
2nd, we found it - one registry key for 2000, one system.ini entry for
win98.
> >We licensed a video codec in this form, and now we need to get it into
our
> >installer.
>
> How do you use the codec in your code on a development system?
By an installer provided for this purpose - which sadly is b uilt with
Installshield and is not a merge file.
That said, you guys still ahve a ton of work to do - I find a lot of our
partners not being aware of windows installers (and DirectShow, in this
case) ad being pretty ignorant about these "newer" technologies :-) Some of
them, btw. are in YOUR company - why the **** is DirectShow not available as
a wrapping merge module?
Thomas Tomiczek
THONA Consulting Ltd.
(Microsoft MVP C#/.NET)
> --
"Thomas Tomiczek [MVP]" <t.tom...@thona-consulting.com> spake the secret code
<OcUVR79UCHA.2928@tkmsftngp13> thusly:
>> Video for Windows has been superseded by DirectShow. VfW codecs are
>
>Very nice statement. Would you please tell this to all the people out there
>selling codecs that dont care yet?
When working in digital video at Philips, everyone we dealt with used
DirectShow and told us "don't use VfW, its got problems; use
DirectShow, it fixes those problems". Since we didn't care about VfW,
I don't know what those 'problems' were -- we just used DirectShow.
>Well, first - the ICInstall function also can specify a dll name - seems you
>missed this in the documentation.
I did look at the documentation. MSDN Library January 2001 / Platform
SDK / Graphics and Multimedia / Multimedia Reference / Multimedia
Functions / ICInstall. Nowhere is the word "file" or "DLL" mentioned
anywhere on that page. There is only the cryptic phrase:
"The lParam parameter contains the address of a
null-terminated string that names the compressor to install."
If you know how to call some piece of code to install a VfW codec, then
you can use that as a custom action to install the codec. See the
Windows Installer documentation for information on custom actions. Be
sure to test your custom action during install, rollback and uninstall
operations to make sure that you do all the right things at the right
time.
>By an installer provided for this purpose - which sadly is b uilt with
>Installshield and is not a merge file.
You could use a sequencing launch program to launch this dependent
install first. Check the archives of this newsgroup for discussions
about launch programs for dependent legacy installs.
>That said, you guys still ahve a ton of work to do - I find a lot of our
>partners not being aware of windows installers (and DirectShow, in this
>case) ad being pretty ignorant about these "newer" technologies :-) Some of
>them, btw. are in YOUR company - why the **** is DirectShow not available as
>a wrapping merge module?
Amazing. You are an MVP, right? You know that being an MVP doesn't
imply that the MVP is a Microsoft employee, right? Did you notice that
I'm also an MVP? So why are you assuming I work for Microsoft?
DirectShow is not available as a merge module because DirectShow is
part of DirectX. DirectX is not a merge module because it is a system
update. I've never seen a system update that was a merge module. (The
interactions with all the rebooting required for system updates are
just one reason why a merge module for them would be problematic.)
Merge modules are intended for situations like simple DLL sharing, and
DirectX is much more than that.
It would be great if we could get everything in MSI or MSM form, but
we're not there yet and probably won't be there for some time, if
ever. Windows Installer is a technology on top of the Windwos OS, it
doesn't fundamentally change the way the Windows OS operates.
Therefore, things like necessary reboots can't be avoided and things
like system updates aren't magically changed just because of Windows
Installer. WI is intended for application installation needs and
doesn't replace the behavior of the OS for things like system updates.
Individual product groups within MS decide whether or not to create WI
packages for the system updates and products they produce; the WI team
can't force them to use WI. For instance, we have quite a number of
merge modules for VB and C++ components provided by the Visual Studio
product team.
The DirectX product team uses an MSI to perform the system update, but
doesn't provide a merge module that updates DirectX. Further, even
though they've created an MSI for DirectX you can't use it as a nested
install, it -must- be installed via their supplied setup.exe and not
directly from the MSI. DirectX already has a setup API, called
DirectSetup, and I suppose you could attempt to call that from a custom
action in an MSI, but I've never tried. Given that updating DirectX is
a system update and always requires a reboot, I've preferred a
sequencing launch application to take care of that. However, you're
free to ask the DirectX product team to provide a merge module for
updating DirectX via email to dir...@microsoft.com.
For other products you have to contact them and ask them for Windows
Installer support for their products, since these decisions are made
by the individual product teams.