This process makes a couple of assumptions and may not work in all cases. It does, however, work often enough to be worth mentioning here. This is, however, intended as a last resort measure to be used in cases where you can't find an original software package to download or buy that includes the required codec. Note that this procedule may infringe upon the license agreements for some codecs so make sure you are allowed to make copies before you do this!
I'll take the example of trying to transfer the codec for FOURCC IV32 between a couple of machines. This is one of the Indeo codecs shipped as standard with Windows so you should never have to move it (I've not actually verified that this process works for IV32!) but it's a good one to use for illustration since the same driver supports several formats. Examples below are taken from my copy of SYSTEM.INI on Windows 98. See the notes at the end if you are trying to do this on XP or NT.
1. On the source machine, edit the file C:\WINDOWS\SYSTEM.INI and search for the FOURCC of the codec you want to move. You should find this in either the [drivers] or [drivers32] section of the file in a line that starts VIDC.<codec fourcc>. If you find the same FOURCC mentioned in both places, note both cases.
[drivers] wave=mmsystem.dll midi=mmsystem.dll VIDC.MSVC=msvidc.drv VIDC.IV32=ir32.dll VIDC.IV31=IR32.dll VIDC.MRLE=MSRLE.drv VIDC.RT21=ir21_r.dll VIDC.YVU9=ir21_r.d ll wavemapper=*.drv MSACM.imaadpcm=*.acm MSACM.msadpcm=*.acm [drivers32] VIDC.IV41=ir41_32.ax vidc.CVID=iccvid.dll VIDC.IV31=ir32_32.dll VIDC.IV32=ir32_32.dll vidc.MSVC=msvidc32.dll VIDC.MRLE=msrle32.dll msacm.lhacm=lhacm.acm msacm.msg711=msg711.acm MSACM.MSNAUDIO=msnaudio.acm msacm.msg723=msg723.acm vidc.M263=msh263.drv vidc.M261=msh261.drv msacm.l3acm=l3codeca.acm VIDC.VDOM=vdowave.drv VIDC.MPG4=msscmc32.dll vidc.vivo=ivvideo.dll msacm.vivog723=vivog723.acm msacm.voxacm119=vdk32119.acm VIDC.TR20=tr2032.dll VIDC.UCOD=clrviddd.dll VIDC.IV50=ir50_32.dll msacm.iac2=C:\WINDOWS\SYSTEM\IAC25_32.AX MSACM.voxacm118=vdk32118.acm MSACM.NSPAC=nspac32.acm MSACM.NSX83=nsx83p32.acm VIDC.UYVY=btvvc32.drv VIDC.Y41P=btvvc32.drv VIDC.BT20=btvvc32.drv MSACM.imaadpcm=imaadp32.acm MSACM.msadpcm=msadp32.acm MSACM.msgsm610=msgsm32.acm MSACM.trspch=tssoft32.acm
2. Note the section(s) you found the entry/entries in ([drivers] or [drivers32]) and the name of the driver file(s) which appears after the "=" in the line you found. Also note down any other lines in the same section that mention the same driver file name. In this case IV32's driver (ir32.dll or ir32_32.dll) also supports the IV31 format too.
[drivers] VIDC.IV32=ir32.dll VIDC.IV31=IR32.dll [drivers32] VIDC.IV31=ir32_32.dll VIDC.IV32=ir32_32.dll
Driver files are ir32.dll and ir32_32.dll for FOURCC IV32. These drivers also handle the IV31 format.
3. Transfer the driver files you found in step 2 to the machine on which the codec is to be installed. Generally you will find the files on the source machine in its c:\windows\system directory. Ensure that you put them in the same place on the target machine. In this example, I would copy c:\windows\system\ir32.dll and c:\windows\system\ir32_32.dll to the target machine's c:\windows\system directory.
4. Edit the target machine's system.ini file and add the same lines you noted from the source machine in step 2. Make sure you put the correct VIDC lines beneath the correct [drivers] or [drivers32] section.
5. Save the system.ini file then try playing the offending AVI on the target machine. If it still doesn't work, reporting that it can't find the codec, try rebooting and play the file again. If it reports that it can't find a required file (presumably a DLL of some sort), find this file on the source machine, copy it to the target and retry until these errors go away. If, after this, things still don't work then you should probably give up and try other means to get hold of the required codec (contact the owner and ask were you can get it). Another option is to transcode the AVI to a more common format. Microsoft's VIDEDIT tool allows this and you will find a link to it from the
I am told that the very same procedures described above apply except that ,in Windows XP, 2000 and NT the entries for the codecs are not found in SYSTEM.INI but, instead, are in the registry under:
Play with the registry at your own risk! I have not verified the process on versions of Windows later than 98.