This approach should work on all platforms we are interested in.
I tested the resulting zip on windows like the other approaches. It works well and looks the same as the windows forms approach. Unfortunately this makes the resulting zip file on windows 234MB where before without this (and with the native windows approaches) it's less than 100MB total.
If that growth in size is acceptable, I'll check if this approach works ok on linux with the shiv, etc. but I expect it will. The linux zip is bigger already anyway, this may make it bigger as well, we'll see.