Update README, README.WINDOWS, NEWS
[wimlib] / README.WINDOWS
1                                    INTRODUCTION
2
3 wimlib 1.3.0 has added experimental support for Windows builds.  The support has
4 been further improved in later versions.  The Windows build consists of both the
5 "wimlib" library (which can be built as a DLL) and the "wimlib-imagex"
6 executable.
7
8 The Windows build of wimlib uses native Win32 calls when appropriate to handle
9 alternate data streams, security descriptors, reparse points, encrypted files,
10 compressed files, and sparse files.
11
12 Mounting WIM files is not supported on Windows.  Also please note that wimlib's
13 "wimlib-imagex" is NOT intended to be command-line compatible with Microsoft's
14 "imagex", and wimlib is NOT intended to be API compatible with Microsoft's
15 WIMGAPI.  They are similar, though.
16
17                                  NOTES ABOUT IMAGEX
18
19 "wimlib-imagex capture", "wimlib-imagex append", and "wimlib-imagex apply" will
20 work on Windows and have the added advantage of saving and restoring
21 NTFS-specific data, such as alternate data streams, security descriptors, and
22 reparse points.
23
24 "wimlib-imagex delete", "wimlib-imagex dir", "wimlib-imagex export",
25 "wimlib-imagex info", "wimlib-imagex join", "wimlib-imagex optimize", and
26 "wimlib-imagex split" are all portable and should work the same way on Windows
27 as on UNIX.
28
29 "wimlib-imagex mount", "wimlib-imagex mountrw", and "wimlib-imagex unmount" will
30 NOT work on Windows.
31
32 So on Windows, why would you want to use wimlib's ImageX instead of Microsoft's?
33 Well, here are a few reasons:
34
35 - wimlib offers fast multithreaded compression, so making WIM images can be much
36   faster.
37
38 - Whenever possible I have included improved documentation and informational
39   output compared to Microsoft's software.
40
41 - wimlib can correctly save and restore some combinations of data that
42   Microsoft's ImageX runs into bugs on --- for example, uncompressed files in
43   compressed directories, or files with alternate data streams and multiple
44   links.
45
46 - wimlib is free software, so you can modify and/or audit the source code.
47
48 See the man page for 'wimlib-imagex' for more information.
49
50                                  BUILDING ON WINDOWS
51
52 Actually doing the Windows build is a bit tricky, and I'd recommend you download
53 precompiled binaries from http://sourceforge.net/projects/wimlib/files/ instead.
54 I did it using MinGW-w64 on a Linux host, with the following configuration
55 command:
56
57 $ ./configure --host=i686-w64-mingw32
58
59 after having installed the required libraries:
60
61 * mingw-w64-gettext
62 * mingw-w64-libiconv
63 * mingw-w64-libxml2
64 * mingw-w64-winpthreads
65 * mingw-w64-zlib
66
67 Note: zlib and gettext are only necessary when required by the build of libxml2.
68
69 Building wimlib using Cygwin is not supported.  I was trying this for a while,
70 but I ran into some issues with mixing native Win32 functions and
71 Cygwin-provided functions, so I made it possible to do a native Win32 build
72 instead.