A bit offtopic but I always have problems with games and application that have an installer based on '32 bit setup laucnher' on […]
A bit offtopic but I always have problems with games and application that have an installer based on '32 bit setup laucnher' on Win7.
Right after starting such an installer it get stuck and do nothing. Yesterday I debugged it to see what could be the problem and found that it sends broadcast messages. A broadcast message is sent to all toplevel windows in the system so if one of the applications have such a window but it isn't pumping the message loop it causes hang in the installer/launcher.
Sending broadcast messages via 'SendMessage' isn't a good idea right because of that. A modified, wrapped version of user32.dll would be needed that maps these calls to 'SendMessageTimeout'. Anyone has or know of such a thing? 😀
I suppose the launcher does that in order to detect its other running instances. I failed to figure out what process causes the hang, so far.
Sounds reminiscent of the old installer that Sierra used during the LSL7 era. On XP and higher you could hear the launch music, but it would never paint its window. Someone even went as far to write a program that would force any process to paint a window. When applied to the setup it would play the opening animation that should have played during the opening music. Note that the installer would behave normally if the theme was set to classic. Mind you that I am not saying that it is the same thing going on here, just that it reminded me of the LSL7 installer. I'm also curious if compatibility mode settings applied to the setup would have any effect.
It might not tell you exactly what is failing, but what I have done with installers that fail on Win7 is to track what the installer does in XP Mode , which is at least useful for recreating the installer. I would be very interested in anything you might find about those installers.