CustomShell Not Launching

S

SV

Thanks in advance...

My custom shell app and required files are in c:\myapp\.
All required files are there.
If I double click on c:\myapp\myapp.exe or run it from command line, It
works. It needs an MSMQ component, but the GUI and data come up.
I have set cmiShellPath to c:\myapp\myapp.exe. The Shell inherits Shell
Prototype Component. I'm using Windows Logon and have 3 user accounts set
up. When I logon, I believe I'm in my custom shell, but the application GUI
does not come up.
I've double and triple checked the process for making a custom shell... (I
haven't done anything to the registry or added a delay). Nothing in FBA.log
shows a relevant problem (I guess it
probably wouldn't).

?????

What next...? I can run Dependency Walker, but still doesn't explain why it
runs, just not at shell start... (would it?)

TIA*TIA*TIA
 
L

Lucvdv

If I double click on c:\myapp\myapp.exe or run it from command line, It
works. It needs an MSMQ component, but the GUI and data come up.
I have set cmiShellPath to c:\myapp\myapp.exe. The Shell inherits Shell
Prototype Component. I'm using Windows Logon and have 3 user accounts set
up. When I logon, I believe I'm in my custom shell, but the application GUI
does not come up.

I had the same problem. I explained how I solved it in the thread
with subject 'again "customer shell" problem' started earlier today.
 
S

SV

Maybe, but I'm not sure yet. This app doesn't have much needs from Windows
stations... Not a user interfaced app... Believe it or not, it may be
something much simpler. It wouldn't launch upon logging in when the Shell
path in the registry said: c:\myapp\myapp.exe. But it DID when it said
C:\myapp\myapp.exe.

Grrr..... So I revised and reimported the component accordingly. Verdict is
still out...
 
K

KM

SV,

It may be a better practice use environmental variables instead (%SystemDrive% or etc.).

Also, you can include some debugging GUI in your app (e.g., a console, or launch for CMD.exe with parameters you need), or even
better use OutputDebugString statements and try to catch Windbg/KD attached from another machine connected.
This way you can find out what is going on with your app.
 
S

SV

Yes, I should do that instead (use environmental vars). Thanks. And I am
also in the process of learning how to use Windbg. Thanks again. SV

KM said:
SV,

It may be a better practice use environmental variables instead (%SystemDrive% or etc.).

Also, you can include some debugging GUI in your app (e.g., a console, or
launch for CMD.exe with parameters you need), or even
better use OutputDebugString statements and try to catch Windbg/KD
attached from another machine connected.
 
P

Philipp Stampfl

Hi!

I also tried to get myapp.exe running as customer shell, but it woudn't
launch. I then got hints to write a launcher application that just waits and
then launches myapp.exe but again, even this small app (no window, just a
simple Sleep() and a CreateProcess() command) does not launch as customer
shell!

Do you guys use console applications as launcher app or standard windows
applications?

Phil


SV said:
Yes, I should do that instead (use environmental vars). Thanks. And I am
also in the process of learning how to use Windbg. Thanks again. SV

KM said:
SV,

It may be a better practice use environmental variables instead (%SystemDrive% or etc.).

Also, you can include some debugging GUI in your app (e.g., a console,
or
launch for CMD.exe with parameters you need), or even
better use OutputDebugString statements and try to catch Windbg/KD
attached from another machine connected.
This way you can find out what is going on with your app.
Verdict
 
K

KM

Philipp,
Hi!

I also tried to get myapp.exe running as customer shell, but it woudn't
launch. I then got hints to write a launcher application that just waits and
then launches myapp.exe but again, even this small app (no window, just a
simple Sleep() and a CreateProcess() command) does not launch as customer shell!

This sounds strange. I am able to run as shell (or even from Run key) any simple app that does not have to wait until some resources
is ready. talking about Minlogon. Winlogon is even easier (no problems to launch an app at all).

You may want to "debug" your launching app to see what's going on there. Use messageboxes, debug outputs (OutputDebugString API),
etc. to see where it is failing. Don't forget to implement proper error handling and check GetLastError everywhere you can
(especially after CreateProcess call and etc.).
Do you guys use console applications as launcher app or standard windows
applications?

It should not matter.

KM
 
L

Lucvdv

Hi!

I also tried to get myapp.exe running as customer shell, but it woudn't
launch. I then got hints to write a launcher application that just waits and
then launches myapp.exe but again, even this small app (no window, just a
simple Sleep() and a CreateProcess() command) does not launch as customer
shell!

Do you guys use console applications as launcher app or standard windows
applications?

I wrote my launcher in VB.Net, it displays a splash screen in its
startup form.

That splash screen does *not* become visible either if the launcher is
started as shell, but it does succeed in starting my main app after 2
or 3 retries at 15 second intervals.

When I boot to a CMD shell and start the launcher manually, its splash
screen is shown and the main app starts on the first attempt.
 

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