X-Git-Url: https://wimlib.net/git/?p=wimlib;a=blobdiff_plain;f=README.WINDOWS;h=a4968279c2f1e6abeabd9e4c0bfda2550f8600e7;hp=952cbd85cf1ae239fbe2de95b1ec18074ae81d98;hb=09d5c7b390a18d5cc29a87853dce0c4681e8f153;hpb=811a38dfe05ef337e2d627f654f8a3e559900790 diff --git a/README.WINDOWS b/README.WINDOWS index 952cbd85..a4968279 100644 --- a/README.WINDOWS +++ b/README.WINDOWS @@ -1,23 +1,18 @@ -wimlib 1.3.0 has added experimental support for Windows builds. These builds -include both the "wimlib" library (built as a DLL) and the "imagex" executable. + INTRODUCTION -The Windows builds use native Win32 calls when appropriate to handle alternate -data streams, security descriptors, and reparse points. +wimlib 1.3.0 has added experimental support for Windows builds. The Windows +build consists of both the "wimlib" library (which can be built as a DLL) and +the "imagex" executable. -Windows support currently has the following limitations: +The Windows build of wimlib uses native Win32 calls when appropriate to handle +alternate data streams, security descriptors, and reparse points. -- It relies on the Cygwin UNIX-compatibility layer. You do not, however, need - to have the Cygwin distribution installed to run it, as I have posted a ZIP - file on SourceForge that contains the build of wimlib and "imagex" along with - the DLLs needed for it to run. Please note that these DLLs are free and open - source software; see http://www.cygwin.com/ for more details. +Mounting WIM files is not supported on Windows. Also please note that wimlib's +"imagex" is NOT intended to be command-line compatible with Microsoft's +"imagex", and wimlib is NOT intended to be API compatible with Microsoft's +WIMGAPI. They are similar, though. -- Mounting WIM files is not supported. - -- wimlib's API is not compatible with Microsoft's WIMGAPI, although they offer - some of the same functionality. - -So, in terms of the "imagex" program: + NOTES ABOUT IMAGEX "imagex capture", "imagex append", and "imagex apply" will work on Windows and have the added advantage of saving and restoring alternate data streams, @@ -29,11 +24,40 @@ way on Windows as on UNIX. "imagex mount", "imagex mountrw", and "imagex unmount" will NOT work on Windows. + So on Windows, why would you want to use wimlib's ImageX instead of Microsoft's? Well, here are a few reasons: -- wimlib can be freely distributed; there is no need to download a 1.8 gigabyte - "Windows Automated Installation Kit". - wimlib offers fast multithreaded compression, so making WIM images can be much faster. + +- wimlib can correctly save and restore alternate data streams, which + Microsoft's ImageX sometimes captures incorrectly due to a bug. + - wimlib is free software, so you can modify and/or audit the source code. + +See the man page for 'imagex' for more information. + + BUILDING ON WINDOWS + +Actually doing the Windows build is a bit tricky, and I'd recommend you download +precompiled binaries from http://sourceforge.net/projects/wimlib/files/ instead. +I did it using MinGW-w64 on a Linux host, with the following configuration +command: + +$ ./configure --host=i686-w64-mingw32 + +after having installed the required libraries: + +* mingw-w64-gettext +* mingw-w64-libiconv +* mingw-w64-libxml2 +* mingw-w64-winpthreads +* mingw-w64-zlib + +Note: zlib and gettext are only necessary when required by the build of libxml2. + +Building wimlib using Cygwin is not supported. I was trying this for a while, +but I ran into some issues with mixing native Win32 functions and +Cygwin-provided functions, so I made it possible to do a native Win32 build +instead.