VOGONS

Common searches


First post, by Dege

User metadata
Rank l33t
Rank
l33t

(Moderator note: Split from dgVoodoo 2 for DirectX 11 --HunterZ)

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.

Reply 1 of 8, by collector

User metadata
Rank l33t
Rank
l33t
Dege wrote:
A bit offtopic but I always have problems with games and application that have an installer based on '32 bit setup laucnher' on […]
Show full quote

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.

The Sierra Help Pages -- New Sierra Game Installers -- Sierra Game Patches -- New Non-Sierra Game Installers

Reply 2 of 8, by Dege

User metadata
Rank l33t
Rank
l33t
collector wrote:

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's similar, but only by the mean that they don't work on newer system. 😀

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.

Well, I know what exactly is failing as I wrote. It's not even the operating system (Win7) fails because of some compatibility reasons. It must be a process get launched by default with the operating system that blocks the installer (because it works in safe mode).
The installer applies a solution which is not recommended, to detect its running instances. It was up to luck that it usually worked back in the XP era. But I think I could easily write a test app that makes the installer get blocked even on XP.
Unfortunately InstallShield installers are very common, most of the games I try to install use that. So I always has to launch them in a virtual machine.
The only general solution were changing the broadcast messaging in the installer to a timeout version.

Reply 3 of 8, by HunterZ

User metadata
Rank l33t++
Rank
l33t++

Regarding InstallShield issues: Some older games use 16-bit installers, which won't run on a 64-bit OS. I think I came across a user-created 32-bit utility for these at one point.

Reply 4 of 8, by collector

User metadata
Rank l33t
Rank
l33t
HunterZ wrote:

Regarding InstallShield issues: Some older games use 16-bit installers, which won't run on a 64-bit OS. I think I came across a user-created 32-bit utility for these at one point.

This is one of the main reasons that I have written many of my installers for Win games. As 32-bit replacements for 16-bit installers.

The Sierra Help Pages -- New Sierra Game Installers -- Sierra Game Patches -- New Non-Sierra Game Installers

Reply 5 of 8, by HunterZ

User metadata
Rank l33t++
Rank
l33t++

Here's some info on workarounds for the 16-bit InstallShield issue:
www.gog.com/forum/general/16bit_installer_in_64bit_os
http://toastytech.com/files/setup.html

Reply 6 of 8, by collector

User metadata
Rank l33t
Rank
l33t

I had come across those before. Good for InstallShield, but there are more 16-bit installers than just InstallShield. But I don't want to hijack Dege's thread. It might not be a bad idea to have a stickied thread for installer issues. Perhaps you could split these installer issues posts off of Dege's dgVoodoo thread to start it.

The Sierra Help Pages -- New Sierra Game Installers -- Sierra Game Patches -- New Non-Sierra Game Installers

Reply 8 of 8, by collector

User metadata
Rank l33t
Rank
l33t

Here is where I first found the 16-bit InstallShield fix: http://www.reactos.org/forum/viewtopic.php?p=90351 which links back to another thread from here: Execute file with DOSbox automatically?

The Sierra Help Pages -- New Sierra Game Installers -- Sierra Game Patches -- New Non-Sierra Game Installers