Justin
Maybe this will help... I used the DOS utility ejectcd.com when I wanted to
eject the CD after having re-imaged a HD using ghost. This was part of a
bat stream on a bootable CD. After the ghost was done we ejected the CD as
my box has no keyboard, mouse or vga monitor.
HTH... Doug
"JustinH" <justin...@brunel.ac.uk> wrote in message
news:1126878172.5...@z14g2000cwz.googlegroups.com...
On some machines, it is possible to eject the CD even though it's in use and
the drive has been locked in software. When that happens, the OS
immediately bluescreens, complaining that its boot media has disappeared or
is invalid.
Your best bet to do CD/DVD updates is to provide instructions to the user to
manually eject the disk during POST, insert the new disk, then reboot the
system.
Hope this helps! =)
--
Matt Kellner (matt...@online.microsoft.com)
STE, Windows Embedded Group
This posting is provided "AS IS" with no warranties, and confers no rights.
===============================
"JustinH" <justin...@brunel.ac.uk> wrote in message
news:1126878172.5...@z14g2000cwz.googlegroups.com...
Hi Justin,
I unlock the CD drive and then eject it in code. The side effect
is the system BSODs but for me that doesn't matter as I have
already instructed my custom micro to switch off the screen
and power down the device.
If you can live with the BSOD I could supply a small exe (or
Delphi code) that will do the job for you.
-Mike
thanksfor that. The BSOD is not a problem since, like you we will be
forcing a reboot/restart immediately. Since we are dealin with elderly
people we prefer that tey do not need to fidle with the buttone,
especially since timing between switch on and boot up is critical. If
you could send me the Delphi code then we can adapt it to fit into our
application. Many thaks
Justin
Justin,
I think you will have a problem with rebooting since in my tests
with several different motherboards the reboot command was
killed as soon as the BSOD occurred. I get around the problem
in my device because I have a custom microcontroller which
controls the power by hardware means.
Anyway, I have uploaded a test program with Delphi source
for you to play with. It's at:
www.cairnscarsound.com.au/tmp/CdEjectTest.zip
I haven't tested it on XPe as I am at home. If you have any problems
I will try it with XPe at work on Monday.
If you manage to get a software reboot happening after a forced
eject please let me know.
-Mike
Mike
Thanks for the file. I haven't got around to looking at XPe error
recovery processes yet - I have only just got as far as getting a
bootable DVD (a long winded process with so many DVD write processes to
do!). From what the guys at Abacus had said I had thought that XPe,
being intended for 'embedded' applications, would have some form of
automatically rebooting in order to recover from fatal errors. If the
worst comes to the worst we will have to have a hardware watchdog
timer, pinged thrugh the parallel port, which will hit the reset button
when the program stops running. I will let you know if I come across
any more elegant solution.
Regards
Justin
Another isea is to use RAM boot XPE.
You load all XPe to the memory and then you don't need CD at all, you
can eject it, you can insert another one - all is OK.
Browse this NG about RAM booted XPE.
--
Nikolai Vorontsov
Quadrox NV
Hi Justin,
The other problem you may have is when a system boots from a
hardware reset some (many) motherboards close the open CD
drawer. Because we power down our device it doesn't matter.
-Mike
thanks to everybody for all the suggestions on this topic. Eventually
we decided to 'cheat' somewhat - we used a slimline, laptop style DVD
drive (which cannot automatically retract) and fitted a mechanical
button to the outside which operates the emergency release catch
through the little hole in the front. This allows the user to change
the DVD while the machine is switched off, keepig the oeprating system
happy and prviding a simple clean interface for the users. Our
application is the shell and most of the time if the draw gets opened
accidentally it does not not BSOD, but if it does it is easy to simply
reboot the system. I am afraid this is not an approach which is
universally applicable, but it seems the right way to go for us at
present.
Justin