Windows Installer components
scripts/provision-installer.py builds the Windows Installer engine and the libraries it
installs with from the pinned ReactOS archive the common controls component uses
(dacf2a6c47fa562799f9c8a41ab6d5c558556558, SHA-256
5373bbbb60541cb2a49e0acb53360e1218d4f5d56c31f9187b341b9fc16daa69), for 64-bit
programs and, with --arch x86, for 32-bit ones:
msi.dll(dll/win32/msi): the installer engine, its SQL and condition grammars (bison) and the RPC stubs of its custom action server (widl);msiexec.exe(base/system/msiexec) andregsvr32.exe(base/system/regsvr32), which each prefix also keeps in its system directories;cabinet.dll(dll/win32/cabinet, onsdk/lib/3rdparty/zlib);sxs.dll(dll/win32/sxs): the side-by-side assembly cache;rpcrt4.dll(dll/win32/rpcrt4): remote procedure calls over local named pipes;raven-storage.dll: the structured storage ofdll/win32/ole32anddll/win32/coml2, the compound files packages are made of, with the bind contexts of ole32 and the global memory streams ofdll/win32/combase. The runtime's ole32 hands those exports to it;oleaut32.dll(dll/win32/oleaut32): automation, variants and type libraries;msxml3.dll(dll/win32/msxml3, onsdk/lib/3rdparty/libxml2anddll/3rdparty/libxslt) andatl100.dll(dll/win32/atl100);urlmon.dll(dll/win32/urlmon): URLs, monikers and the protocols behind them;- the imaging stack:
windowscodecs.dll,gdiplus.dll,propsys.dll,mlang.dllandlibpng.dll,libjpeg.dll,libtiff.dll(dll/3rdparty); advpack.dll(dll/win32/advpack): the setup helpers IExpress packages and the DirectX setup run INF files through;raven-setupapi.dll(dll/win32/setupapi, with the LZ expansion functions ofdll/win32/kernel32/wine/lzexpand.c): setup information files, file queues and cabinets, which the runtime'ssetupapi.dllhands to it; device management reaches the plug and play service through the RPC client widl writes frompnp.idl.
The runtime takes these libraries from beside itself whatever copies a program ships or
an installer leaves in the system directory. Each new prefix registers the classes of
msxml3.dll, windowscodecs.dll, mlang.dll and propsys.dll through regsvr32.
Raven's corrections to upstream behavior live in patches/ and are applied before the
build. support.c, storage.c, codecs.c, setup.c, printers.c, dllmain.c, entry.c
and entry_wide.c are Raven code: they answer the compatibility database, binary file
patches, the class key helper and the delay-loaded imports the sources expect from
libraries Raven does not ship, and give the programs and plain libraries their entry
points. Binary patches of installed files are not applied yet.
The build records every command, the hash of each extracted source and of each
component in provenance.json.
Raven-owned adapters remain MIT. The ReactOS-derived PE components are distributed under GPL version 2 with the source notices retained. The Wine-derived installer libraries contain LGPL-2.1-or-later code. This is not the license of every input: zlib, libxml2, libxslt, libwin-iconv, libpng, IJG JPEG and TIFF retain their own notices. In particular, IJG's acknowledgement must accompany a distribution that includes its JPEG library. Generated Bison parsers retain their GPL skeleton notice and parser exception; the generator's license alone does not make every generated parser GPL-only.
The provisioner retains root license texts and module license, copyright and
README files. Keep the exact source archive, patches, generated inputs and
provenance.json with the binaries as described in
packaging. LICENSES.md
records the distribution boundaries; the source files remain authoritative.