kjkhyperion
06-01-2002, 07:32 AM
First of all: I'm not an user of InstallShield 6 per se, let's say I suffer it, because every commercial software on earth seems to use it, and because... it doesn't work. Anymore, at least
The program I'm trying to install is ScanWizard 2.60, a scanner driver. It's downloadable from here:
http://www.microtekfiles.com/english/support/pcfiles.htm
The file's URL is:
ftp://193.195.96.90/files/pcfiles/sw260ml.exe
Some info on my system:
Windows 2000 Professional (Windows NT 5.0.2195)
Service Pack 2
installed hotfixes: Q311967, Q313829, Q314147, Q320206
Internet Explorer 5.00.3315.1000, 128 bit crypto
Windows Installer 1.11.2405.0
(need more?)
Whenever I try to start any installation based on IS 6, it fails with an error of Interface not supported. In the case of ScanWizard, with WinDbg I can see an exception 8004002 being thrown from somewhere in setup.exe
I tried all I could:
deleted the whole InstallShield directory from common program files, ran RegClean to prune the now invalid OLE registrations, re-ran setup
searched through the archives of this forum, discovered I missed stdole.tlb, restored, re-ran setup
tried to update the IS 6 engine, file downloaded from your knowledge base. Sad but somewhat funny: the update setup fails with exactly the same error ("interface not supported")
Nothing worked
So I tried more "creative" solutions:
ran setup inside Dependency Walker's profiler to see if I missed some DLLs
ran setup with Registry Monitor active to see if I missed some OLE keys
This didn't work either
Only thing I didn't try is to hook CoCreateInstance and put breakpoints at the IUnknown::QueryInterface methods of all OLE objects created by the setup, to see exactly what object doesn't support what interface
Yes, I'm a developer, and yes, I REALLY need to run successfully this setup
I know that people from InstallShield read these forums, so listen, guys: I'm not afraid to dirty my hands, tell me what you need to discover the cause of this error, I'll do anything. Need a debug dump? a trace?
I have one last question: isn't there some sort of "advanced" version of the setup stub? that shows REAL error messages, with file paths, interface names and GUIDS etc.? that produces a detailed log file? or some diagnostic program that checks the environment and tells me what's wrong?
Please please please: not all Windows users are clicking monkeys that will format and reinstall at the slightest obstacle
PS: I dare to give you some programming advice: exploit the stack-based nature of exceptions. Make all exception handlers in a chain add their little bit, instead of rethrowing the exception immediately, else the user will only get the lowest-level error
The program I'm trying to install is ScanWizard 2.60, a scanner driver. It's downloadable from here:
http://www.microtekfiles.com/english/support/pcfiles.htm
The file's URL is:
ftp://193.195.96.90/files/pcfiles/sw260ml.exe
Some info on my system:
Windows 2000 Professional (Windows NT 5.0.2195)
Service Pack 2
installed hotfixes: Q311967, Q313829, Q314147, Q320206
Internet Explorer 5.00.3315.1000, 128 bit crypto
Windows Installer 1.11.2405.0
(need more?)
Whenever I try to start any installation based on IS 6, it fails with an error of Interface not supported. In the case of ScanWizard, with WinDbg I can see an exception 8004002 being thrown from somewhere in setup.exe
I tried all I could:
deleted the whole InstallShield directory from common program files, ran RegClean to prune the now invalid OLE registrations, re-ran setup
searched through the archives of this forum, discovered I missed stdole.tlb, restored, re-ran setup
tried to update the IS 6 engine, file downloaded from your knowledge base. Sad but somewhat funny: the update setup fails with exactly the same error ("interface not supported")
Nothing worked
So I tried more "creative" solutions:
ran setup inside Dependency Walker's profiler to see if I missed some DLLs
ran setup with Registry Monitor active to see if I missed some OLE keys
This didn't work either
Only thing I didn't try is to hook CoCreateInstance and put breakpoints at the IUnknown::QueryInterface methods of all OLE objects created by the setup, to see exactly what object doesn't support what interface
Yes, I'm a developer, and yes, I REALLY need to run successfully this setup
I know that people from InstallShield read these forums, so listen, guys: I'm not afraid to dirty my hands, tell me what you need to discover the cause of this error, I'll do anything. Need a debug dump? a trace?
I have one last question: isn't there some sort of "advanced" version of the setup stub? that shows REAL error messages, with file paths, interface names and GUIDS etc.? that produces a detailed log file? or some diagnostic program that checks the environment and tells me what's wrong?
Please please please: not all Windows users are clicking monkeys that will format and reinstall at the slightest obstacle
PS: I dare to give you some programming advice: exploit the stack-based nature of exceptions. Make all exception handlers in a chain add their little bit, instead of rethrowing the exception immediately, else the user will only get the lowest-level error