ZoomText is unable to communicate with its display driver component.
0 Comments
[ + ] Show comments
Answers (10)
Please log in to answer
Posted by:
anonymous_9363
15 years ago
I'd say that this is definitely a question for the application vendor. Before you bounce it to them, though, bypass all the usual nonsense vendors try to stall you with by ensuring that your OS is up-to-date with all its Service Packs and that your display driver is the most recent. You may also want to install a driver, if available, for your monitor.
Posted by:
abking99
15 years ago
Posted by:
captain_planet
15 years ago
I conquered this little beast last year some time.....for my old workplace. If I recall, it uses Display Chaining so I had to dynamically configure the display driver. And ensure it reverted back on uninstall! What a nightmare. And it's all a bit hazy. I hit soooo many blue screens when getting this to work. Let me see if I can dig anything up.....
Posted by:
sandyran
15 years ago
Posted by:
captain_planet
15 years ago
It *can* be packaged, but it's by no means easy.
Here's a very rough guide of what I had to do - you'll need to conduct your own investigatiuons to support it because things may be different now.
On install, I made a type 38 Custom Action (running just before installFinalize) to do the following:
Rename the following file:
"C:\WINDOWS\system32\dcmc0d0.dll" (rename it to something like 'dcmc0d0.dllbackup')
On install, I got the value from the key:
HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E968-E325-11CE-BFC1-08002BE10318}\0000\Settings "InstalledDisplayDrivers"
(Which was 'Ai2Ldr')
I used this to retrieve the name of the ZoomText display driver .dll. Then I renamed the dll from:
"C:\WINDOWS\system32\Ai2Ldr.dll"
to
"C:\WINDOWS\system32\dcmc0d0.dll"
Then I set the following value to 'Ai2Ldr':
SYSTEM\CurrentControlSet\Control\DisplayChaining\Display0 "Original Names"
Then i set:
HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E968-E325-11CE-BFC1-08002BE10318}\0000\Settings "InstalledDisplayDrivers"
to be 'JAWSVID'
I traced all this using ProcMon and a snapshot tool called InCtrl. This obviously all needs to be reversed on uninstall too, which is HIGHLY important.
Fiddling about like this is not really advised if you're not experienced. It took me a couple of weeks to find all this out and get it working, with the help of an old friend who circles these forums. It needs to be made as robust as possible, because fiddling with display drivers can seriously knacker the machine. Hopefully this will give you a very rough guide about what is happening and what to look out for....
Why do I have a feeling they released a utility (a lightweight exe) with the installation source (after I'd done all this) to configure all this for you? Hmmm. Maybe it was in one of my countless ZoomText dreams/nightmares....
Here's a very rough guide of what I had to do - you'll need to conduct your own investigatiuons to support it because things may be different now.
On install, I made a type 38 Custom Action (running just before installFinalize) to do the following:
Rename the following file:
"C:\WINDOWS\system32\dcmc0d0.dll" (rename it to something like 'dcmc0d0.dllbackup')
On install, I got the value from the key:
HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E968-E325-11CE-BFC1-08002BE10318}\0000\Settings "InstalledDisplayDrivers"
(Which was 'Ai2Ldr')
I used this to retrieve the name of the ZoomText display driver .dll. Then I renamed the dll from:
"C:\WINDOWS\system32\Ai2Ldr.dll"
to
"C:\WINDOWS\system32\dcmc0d0.dll"
Then I set the following value to 'Ai2Ldr':
SYSTEM\CurrentControlSet\Control\DisplayChaining\Display0 "Original Names"
Then i set:
HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E968-E325-11CE-BFC1-08002BE10318}\0000\Settings "InstalledDisplayDrivers"
to be 'JAWSVID'
I traced all this using ProcMon and a snapshot tool called InCtrl. This obviously all needs to be reversed on uninstall too, which is HIGHLY important.
Fiddling about like this is not really advised if you're not experienced. It took me a couple of weeks to find all this out and get it working, with the help of an old friend who circles these forums. It needs to be made as robust as possible, because fiddling with display drivers can seriously knacker the machine. Hopefully this will give you a very rough guide about what is happening and what to look out for....
Why do I have a feeling they released a utility (a lightweight exe) with the installation source (after I'd done all this) to configure all this for you? Hmmm. Maybe it was in one of my countless ZoomText dreams/nightmares....
Posted by:
stephenejones
15 years ago
Looking at some old scribbed notes, I ended up using this command line in SMS to get it to install successfully:
setup.exe /NI /NDC /NOAS /ULOCKDOWN /STI /NODUALMONPROMPT /ASN:{serialno}
I think I then ran a batch script to do some final registry tidying.
The /NDC switch I believe maintains some compatibility with different display drivers over different hardware.
setup.exe /NI /NDC /NOAS /ULOCKDOWN /STI /NODUALMONPROMPT /ASN:{serialno}
I think I then ran a batch script to do some final registry tidying.
The /NDC switch I believe maintains some compatibility with different display drivers over different hardware.
Posted by:
sandyran
15 years ago
Posted by:
Francoisracine
15 years ago
Posted by:
Inabus
15 years ago
Posted by:
hofsteda
12 years ago
HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E968-E325-11CE-BFC1-08002BE10318}\0000\Settings "InstalledDisplayDrivers"
Just to expand on this from my understanding from having tangled with jaws\zoomtext on several hundred machines. The value of the above installedDisplaydrivers reg_multi_sz is usually the filename of the displaycard driver minus the .dll . When dcm is active it points to the driver of the first driver in the chain. If no chaining was done there is no dcmc0d0.dl and the HKLM\SYSTEM\CurrentControlSet\Control\Class\displaychaining\display0 is unpopulated. When the first driver is inserted into the chain, it renames the original driver dll to dcmc0d0.dll and copies the original values of InstalledDisplayDrivers to HKLM\SYSTEM\CurrentControlSet\Control\Class\displaychaining\display0 "Original Names".
The filename of the inserted driver, minus the dll, is used for the InstalledDisplayDrivers of the class key above.
The inserted driver is also placed in the First Entry value of the displaychaining\display0 key.
There are reg_multi_sz for each driver in the chain with the next driver listed as the value. The last dcm aware driver points to dcmc0d0, or the renamed display driver dll.
Using my test vm for example:
Originally "InstalledDisplayDrivers" = vboxdisp of the virtualBox Display driver.
after installing zoomtext this became ai2ldr.
after installing jaws the values of the displaychaining\display0 are:
Original Names VBoxDisp
First Entry Ai2Ldr
DCM Copies dcmc0d0
Ai2Ldr JawsVid
JawsVid dcmc0d0
These keys provide enough information to allow inserting and adding displaychain drivers for installers. You can use the dcmutil included with zoomtext to watch those keys being manipulated.
If you mess up the chain, you will be in 4bit vga mode. The easiest fix at that point is to reinstall the display drivers and clear the values of the displaychaining\display0 key.
I'm revisiting this myself as I'm trying to avoid having to launch zoomtext on every machine as an admin on windows 7 after silently installing it.
Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.
so that the conversation will remain readable.