Question

I'm trying to run code started through HKLM/Init where I don't let Explorer start -- so that the user has a difficult time to run anything other than what's running. My program now tries to call RasDial so that an Internet Connection is established. This program works fine once I have signalled my completion, which lets Explorer start -- once Explorer is running my program seems to have no problem dialing. But if I dial without explorer running, I get a 608 error: ERROR_DEVICE_DOES_NOT_EXIST. It is interesting that my program can open the com port to the modem's diagnostic port and successfully talk to the modem, so the device is there. It just seems that RAS isn't setup yet. Any clues how I can solve this?

Was it helpful?

Solution

After a few weeks with Microsoft Support, they came up with the solution: I made the mistake of preventing Explorer from starting by not calling the SignalStarted in my program -- that effectively prevented any follow-on tasks in the Init sequence to start (including Explorer).

The problem with this approach is that RAS doesn't set up until all the BOOT\Init programs in the sequence have set the SignalStarted value.

Therefore my solution was to actually take Explorer out of BOOT\Init and letting the boot sequence complete.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top