Hi (Alon), Just a quick overview of the build issues I ran into while building with
$ cd openvpn-build/windows-nsis $ ./build-snapshot <signing options> First, the build_openvpn_gui() fails with i686-w64-mingw32-gcc -std=gnu99 -municode -pedantic -Wall -Wextra -mwindows -o openvpn-gui.exe main.o openvpn.o localization.o tray.o viewlog.o service.o options.o passphrase.o proxy.o registry.o scripts.o manage.o openvpn_config.o res/openvpn-gui-res.o -L/home/samuli/opt/openvpn-build/windows-nsis/tmp/image-i686/openvpn/lib -lcrypto -lws2_32 -lcomctl32 /usr/lib/gcc/i686-w64-mingw32/4.6.1/../../../../i686-w64-mingw32/lib/../lib/libmingwex.a(lib32_libmingwex_a-_wctime32.o): In function `_wctime32': /build/buildd/mingw-w64-1.0+20110523/mingw-w64-crt/misc/_wctime32.c:15: undefined reference to `__imp__wctime' collect2: ld returned 1 make[1]: *** [openvpn-gui.exe] Error 1 make[1]: leaving directory "/home/samuli/opt/openvpn-build/windows-nsis/tmp/build-i686/openvpn-gui-1.0.3" make: *** [install-strip] Error 2 FATAL: make openvpn-gui FATAL: build i686 >&2 I circumvented this by commenting out openvpn-gui building in openvpn-build/generic/build main() method: build_openvpn #[ -n "${BUILD_FOR_WINDOWS}" ] && build_openvpn_gui copy_docs I also had to fix openvpn.nsi or it failed, not finding openvpn-gui.exe Next "openvpn-build/windows-nsis/build" failed: unix2dos: converting file tmp/installer/easy-rsa/Windows/init-config.bat to DOS format ... unix2dos: converting file tmp/installer/easy-rsa/Windows/revoke-full.bat to DOS format ... unix2dos: converting file tmp/installer/easy-rsa/Windows/serial.start to DOS format ... unix2dos: converting file tmp/installer/easy-rsa/Windows/vars.bat.sample to DOS format ... ./build: 5: Bad substitution FATAL: pack i686 >&2 This was a Dash shell issue, which you apparently fixed. I just didn't have time yet to test your fix. Switching to /bin/bash helped get around this. I also noticed that there's a dependency to osslsigncode 1.4+ due to missing pkcs12 options in older versions. While it would fairly easy to adapt the codesign() method to support 1.3 and earlier, I think the 1.4 dependency is fine: not that many people build Windows installers. I added some comments to the scripts as I went through them. I'll send in patches next week that clarify how they work, i.e. make them seem less "magical" :D. Alon: thanks for work well done! This is way better than what we had earlier! -- Samuli Seppänen Community Manager OpenVPN Technologies, Inc irc freenode net: mattock