How to auto restart shell?

J

Justin_Fang

Hi all,

I can not find a clear answer about this question, so I post it again.

I create a custom shell. Once the shell closed, it can not restart
automatically.
I found this issue in Winlogon. With minlogon, the shell can restart
automatically properly.
I already checked the key "AutoRestartShell" and "Shell " under both
HKLM and HKCU.

It seems that the only solution is write a watchgod program?
But once I write a watchgod program, user can find it when he presses
Alt+Tab. How to hidden it?

Is there any easy way to solve it? like change some registry keys?

Thanks,
Justin
 
K

KM

Justin,
It seems that the only solution is write a watchgod program?
But once I write a watchgod program, user can find it when he presses
Alt+Tab. How to hidden it?

Hmm. Why would you need to create a watch-dog app with a GUI window? You can easy make it windowless and then it won't appear in the
Alt-Tab list.

If it is absolutely necessary for your watch-dog app to have a window, you can either - hide it (ShowWindow(SW_HIDE)) or add
WS_EX_TOOLWINDOW window ex-style to CreateWindowEx call.
(if your app is not using WinAPI directly but, e.g., uses .Net, find an equivalent or use P-Invoke)
Is there any easy way to solve it? like change some registry keys?

I am really surprise the AutoRestartShell key doesn't work for you on the Winlogon based image. It should. Assuming you've got your
app that works as the shell configured properly in CD/TD (derived from Shell Prototype).
 
J

Justin_Fang

Hi, KM,

Thank you. I will try your suggestion to modify my watch-dog program
and let you know the result soon.

Regarding AutoRestartShell key, I already checked it in both Minlogon
and Winlogon image. The values are all 1. But the restart function
only works in Minlogon image. I saw other people posted the same
problem here and their solution are all watch-dog program in VB script
or C program. Off course, it will be best to change only one key to
solve this problem. Do you have any other idea? Thank you very much.

Justin
 
K

KM

Justin,

To confirm I did some testing here and it indeed seems the AutoRestartShell key only works for Minlogon images and doesn't work for
Winlogon images.

I did a little bit more digging in to the issue with debugger. It appeared that the key was there for Windows 2000 but was removed
from Windows XP and 2003 server. Shell and logon components were revamped there including GINA that was responsible for reading and
processing the AutoRestartShell key on Win 2K. I am not sure why this functionality was removed from XP [Winlogon] but obviously
embedded guys, or whoever did the minlogon implementation, thought it would be handy on XPe and it is supported there under
Minlogon.

Sorry for confusion I created earlier. Well, I got myself confused by searching in Internet. There are quite many places on the Web
where they mention XP in the list of OSes supporting the AutoRestartShell key function which appeared to be not true. (they
typically say NT/2000/XP/2003 but it only works for 2K and earlier)

The above is to prove that you need to create a watch-dog app if you plan on using shell auto restart feature on Winlogon image.

--
=========
Regards,
KM

PS. As I wrote above I don't believe Win2003 Server supports this feature either. So I think the info on the following page is
wrong: http://technet2.microsoft.com/WindowsServer/en/library/51a5caa7-919c-4b42-ac3f-3d90a0034bd61033.mspx
 
J

Justin_Fang

Hi, KM,

I already finished my watch-dog program according to your suggestion.
Thank you for your effort to look into this issue. It's fine for me to
write a watch-dog program.
Thank you again for answering my questions always.

Justin
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top