diff options
Diffstat (limited to 'src/samples/Dtf/Documents/Guide/Content/cabwrapper.htm')
-rw-r--r-- | src/samples/Dtf/Documents/Guide/Content/cabwrapper.htm | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/src/samples/Dtf/Documents/Guide/Content/cabwrapper.htm b/src/samples/Dtf/Documents/Guide/Content/cabwrapper.htm new file mode 100644 index 00000000..fd88437c --- /dev/null +++ b/src/samples/Dtf/Documents/Guide/Content/cabwrapper.htm | |||
@@ -0,0 +1,63 @@ | |||
1 | <!doctype HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > | ||
2 | <html> | ||
3 | <head> | ||
4 | <title>Managed Wrapper Library for Cabinet APIs</title> | ||
5 | <meta http-equiv="Content-Type" content="text/html; charset=Windows-1252"> | ||
6 | <link rel="stylesheet" type="text/css" href="MSDN.css"> | ||
7 | </head> | ||
8 | <body id="bodyID" class="dtBODY"> | ||
9 | <div id="nsbanner"> | ||
10 | <div id="bannerrow1"> | ||
11 | <table class="bannerparthead" cellspacing="0" id="Table1"> | ||
12 | <tr id="hdr"> | ||
13 | <td class="runninghead">Managed Libraries for Windows Installer</td> | ||
14 | <td class="product"></td> | ||
15 | </tr> | ||
16 | </table> | ||
17 | </div> | ||
18 | <div id="TitleRow"> | ||
19 | <h1 class="dtH1">Managed Wrapper Library for Cabinet APIs</h1> | ||
20 | </div> | ||
21 | </div> | ||
22 | <div id="nstext"> | ||
23 | <p>This is a managed library that provides the ability to | ||
24 | create and extract cabinet files. It uses cabinet.dll (present on all versions of Windows) | ||
25 | to do the actual compression/decompression. It provides access to nearly all | ||
26 | cabinet capabilities, including spanning of multiple cab files. It even has support for | ||
27 | preserving directory structures and UTF8 paths.</p> | ||
28 | <p>There are two ways to use the library. <a href="ms-its:MMLRef.chm::/Microsoft.Cab.CabinetInfo.html">CabinetInfo</a> | ||
29 | and <a href="ms-its:MMLRef.chm::/Microsoft.Cab.CabinetFileInfo.html">CabinetFileInfo</a> | ||
30 | (similar to DirectoryInfo and FileInfo respectively) | ||
31 | provide high-level object-oriented methods for doing common file-based cabinet creation and | ||
32 | extraction tasks. On the other hand, the <a href="ms-its:MMLRef.chm::/Microsoft.Cab.Cabinet.html">Cabinet</a> | ||
33 | class provides low-level access to all | ||
34 | functionality, and operates completely in terms of .NET Streams. The previous two classes use | ||
35 | the Cabinet class to do all the actual work.</p> | ||
36 | <p>There are also two ways to build the library. | ||
37 | Compiling it normally will produce the fully functional | ||
38 | library in the <a href="ms-its:MMLRef.chm::/Microsoft.Cab.html">Microsoft.Cab</a> | ||
39 | namespace, while compiling it with the <tt>/D:CABMINIMAL | ||
40 | /D:CABEXTRACTONLY</tt> flags will create a compact assembly with only the core extraction | ||
41 | functionality, in the <a href="ms-its:MMLRef.chm::/Microsoft.Cab.MiniExtract.html">Microsoft.Cab.MiniExtract</a> | ||
42 | namespace.</p> | ||
43 | <p>The cabinet library interops with native cabinet APIs which use the 'cdecl' | ||
44 | calling-convention. When building against .NET Framework versions before 2.0, | ||
45 | this library requires a special post-build step to process the UnmanagedFunctionPointerAttribute. | ||
46 | If you use this code in another assembly, don't forget to run <a href="augmentil.htm">AugmentIL</a> | ||
47 | on it to fix the delegate calling-conventions, otherwise you will encounter a | ||
48 | NullReferenceException when attempting to call the cabinet APIs. When building against | ||
49 | .NET Framework version 2.0 or later, the UnmanagedFunctionPointerAttribute.cs source file | ||
50 | should be omitted.</p> | ||
51 | |||
52 | <p><br/></p> | ||
53 | <p><b>See also:</b></p> | ||
54 | <ul> | ||
55 | <li><a href="cabs.htm">Working with Cabinet Files</a></li> | ||
56 | <li><a href="ms-its:MMLRef.chm::/Microsoft.Cab.CabinetInfoMethods.html">CabinetInfo Methods</a></li> | ||
57 | <li><a href="ms-its:MMLRef.chm::/Microsoft.Cab.CabinetMethods.html">Cabinet Methods</a></li> | ||
58 | <li><a href="cabpack.htm">CabPack Sample Tool</a></li> | ||
59 | </ul> | ||
60 | <p><br/></p> | ||
61 | </div> | ||
62 | </body> | ||
63 | </html> | ||