For part 1, I assume the fix is going to change if (!IsWOW64()) { to if (sizeof(void*) < 8 && !IsWOW64()) {. As for the timeout, I don't really understand why you would need TIMEOUT=0 because 0 is already the default. If you don't do this, does it respond with "timeout" on the stack after nsExec::Exec?
64-bit netsh related report here. It is not supposed to use the DLL thing when running 32-bit NSIS on 64-bit Windows. I don't even remember why the DLL thing exists.
Do you have an actual need for ${__FUNCTION__} other than printing debug output? Your bug report is valid but it will break compatibility if we change it. The current handling matches the documentation for normal uninstaller functions unfortunately.
Bug: LicenseBkColor doesn't work in uninstallers
Bug: sdbarker_tiny.exe layout error
Bug: LicenseBkColor doesn't work in uninstallers
LicenseBkColor in the uninstaller (bug #1314)
It works if you set a specific color but not for /window nor /gray. I assume this is something we can fix. LicenseBkColor ff0033 Page License Page InstFiles UninstPage License RequestExecutionLevel User Section WriteUninstaller '$temp\temptestun.exe' ExecShell "" '$temp\temptestun.exe' SectionEnd Section Uninstall SectionEnd