Note that besides ICU (as installed by the toolchain installer into icu-67\usr\bin
) and the Swift-DLLs (I think as installed into Swift-development\bin
) you should only need to include the DLLs from [VisualStudioFolder]\VC\redist\...\x64\*.CRT
in a distribution (note that you may not redistribute debug_nonredist
, onecore\debug_nonredist
), for legal issues of redistribution for those files from Visual Studio see the permission formulated in the official documentation by Microsoft. In addition, I include the following license files:
- https://www.unicode.org/license.txt for UCI
- a citation from the official documentation by Microsoft
- and of course the license file for Swift
I tested it on a fresh Windows instance without any installations (only adding the paths of the according distributed folders to the PATH environment variable for the program).
And yes, ICU is big, the respective sizes being (for Swift 5.5):
- ICU: 31,7 MB
- the Swift DLLs: 14,6 MB
- the files from the Visual Studio installation: 1,6 MB
I distribute those parts (together with the license information) in different folders that have names according to their versions and the "trick" for me is that those folders are "pre-installed" where my program is used and most times when those folders need to be updated only a new Swift DLL folder is needed.