tigran
09-20-2007, 01:08 PM
Hi. I have a setup with several screens. One of the screens calls a fairly large function when 'Next' button is pressed. Everything works fine on all operating systems except Vista. The setup simply pauses for less than 1 second (while function is being processed) and continues to the next dialog.
Now Vista behaves in a very different way. The function that would take less than 1 second to complete in XP, takes 3+ seconds in Vista. After approx 4 seconds of waiting for a function to return, the dialog is grayed out, and "(Not Responding)" message is appended to the dialog title.
Also:
- Once hanged, the window never recovers and the user is forced to cancel setup.
- Both XP in Vista machines have decent ram/processors.
- Log files do not show any errors. Setup simply stops and hence no more data is being logged into log file.
The function that slows down Vista and eventually causes application hang (at least that's what I think) does the following:
1. checks for around 20 HKEY_LOCAL_MACHINE / CURRENT_USER registry keys
2. checks if certain files (around 25) installed in their proper locations (where the locations are %ProgramFolder%, %SystemFolder%, or %AppFolder%)
3. If the file is located in step 2, reads its version info and returns this information.
As you can see, the function doesn't try to open file/folder dialog, enumerate drives, or do any kind of time-consuming actions.
Indigo Rose guys - I'm pretty sure you've been testing all kinds of installations on Vista machines. Can you suggest what causes the function processing to be so slow on Vista and how to avoid a dialog hang? I've spent 2 days trying to figure out the issue and couldn't find a cause of the problem.
Thanks in advance!!
Now Vista behaves in a very different way. The function that would take less than 1 second to complete in XP, takes 3+ seconds in Vista. After approx 4 seconds of waiting for a function to return, the dialog is grayed out, and "(Not Responding)" message is appended to the dialog title.
Also:
- Once hanged, the window never recovers and the user is forced to cancel setup.
- Both XP in Vista machines have decent ram/processors.
- Log files do not show any errors. Setup simply stops and hence no more data is being logged into log file.
The function that slows down Vista and eventually causes application hang (at least that's what I think) does the following:
1. checks for around 20 HKEY_LOCAL_MACHINE / CURRENT_USER registry keys
2. checks if certain files (around 25) installed in their proper locations (where the locations are %ProgramFolder%, %SystemFolder%, or %AppFolder%)
3. If the file is located in step 2, reads its version info and returns this information.
As you can see, the function doesn't try to open file/folder dialog, enumerate drives, or do any kind of time-consuming actions.
Indigo Rose guys - I'm pretty sure you've been testing all kinds of installations on Vista machines. Can you suggest what causes the function processing to be so slow on Vista and how to avoid a dialog hang? I've spent 2 days trying to figure out the issue and couldn't find a cause of the problem.
Thanks in advance!!