For a concrete example, let's say we have a CAB file with the following
contents:
Main.OSD
Main.dll
FR\Resources.dll
DE\Resources.dll
RU\Resources.dll
What do I need to do in the OSD file to make Internet Explorer unpack
the DLLs in the CAB's Resources directory into a Resources subdirectory
on the user's computer?
This OSD file does not extract the files into subdirectories:
<?XML version="1.0" ENCODING='UTF-8'?>
<!DOCTYPE SOFTPKG SYSTEM
"http://www.microsoft.com/standards/osd/osd.dtd">
<?XML::namespace
href="http://www.microsoft.com/standards/osd/msicd.dtd" as="MSICD"?>
<SOFTPKG NAME="Main" VERSION="0,0,0,0">
<TITLE> Main </TITLE>
<MSICD::NATIVECODE>
<CODE NAME="Main">
<IMPLEMENTATION>
<CODEBASE FILENAME="Main.DLL">
</CODEBASE>
</IMPLEMENTATION>
</CODE>
<CODE NAME="French Resources">
<IMPLEMENTATION>
<CODEBASE FILENAME="FR\Resources.DLL">
</CODEBASE>
</IMPLEMENTATION>
</CODE>
<CODE NAME="German Resources">
<IMPLEMENTATION>
<CODEBASE FILENAME="DE\Resources.DLL">
</CODEBASE>
</IMPLEMENTATION>
</CODE>
:
:
</MSICD::NATIVECODE>
</SOFTPKG>
By Resources directory I meant directories by the name of FR, DE, etc.