The dependency to ICU may disappear sometime, but the rest will remain, which will be 30MB.
You should see my previous post about the split of the SDK content into the pure SDK content and the runtime content. In fact, right now, I am generating a MSI which installs just the DLLs that need to be redistributed.
I don't think that swiftDemangle and swiftRemoteMirror are absolutely required (unless you are using remote mirrors or you are programatically using the undeocration API).
For a more complex program, I also needed swiftDispatch.dll. I did not find swiftDemangle.dll and did not include swiftRemoteMirror.dll. For some strange reason I needed both icu*64 and icu*63. So my full list of DLLs is the following, it is tested on a "naked" Windows 10:
from C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Redist\MSVC\14.16.27012\x64\Microsoft.VC141.CRT:
The reason for the two versions of ICU is due to the builds in use. I need to update the rules for the builds to all move to 64.1. You will need
swiftDispatch.dll if you want to use Dispatch.
swiftSwiftOnoneSupport.dll should not be needed by users - that is only needed when building with
-Onone which is unlikely to be shipped. The CRT is supposed to be a separate product from Microsoft - the MSVC redistributable. The Foundation libraries are only needed if you are using Foundation.