Hello
Our project produces both an .msi and an .exe bootstrapper.
When clicking "Next" on shortcut selection and transitioning to the EULA screen, it is almost instant in the .msi.
However, in the .exe it can take upwards of 15 seconds. This is consistent across different builds, machines and environments. It's been this way for a long time.
I've run ProcMon while clicking "next" in the .exe and see two main slowdowns. First, there's some kind of context switch that happens (thread creation / thread exit) and then a 5 second delay before the next activity. Second, there seems to be a 6 second delay around loading comctl32.
There is nothing in the exe or msilog showing what is going on in this time frame. Just a time skip to the next log entry. This appears to be a systemic problem.
With the msi, comctl appears to load at startup and is instant.
One obvious difference is that the msi is running 64 bit while the exe is 32 bit. Is it possible to build an x64 bootstrapper? We only ship x64 builds of our software so compatibility isn't a concern.
Otherwise, and I understand you may be hampered somewhat by Windows Installer, but it does it sound normal to take 15+ seconds to show the EULA page in a bootstrapper? What can be done - on our side or yours - to improve this?
Thanks a lot!