Custom Shell - .NET? or Win32

G

Guest

I have a newbie question. I have a .NET application that I want to use as a
custom shell. When I try to use the custom shell, I get a "mscorwks.dll
could not be loaded" initialization error.

My question is this: Can I use a .NET application as a shell, or do I need
to use a Win32 application as the shell that then starts the .NET application?

What is the normal practice on using a .NET application as a custom user
interface?

Thanks,

Kevin
 
S

Sean Liming \(eMVP\)

Yes, you can use a .NET application as the shell, but you need .NET
Framework and possbily Windows Logon (Standard) components in the image.
There is no difference between a .NET shell and a Win32 shell.

Regards,

Sean Liming
www.sjjmicro.com / www.seanliming.com
XP Embedded Book Author - XP Embedded Advanced, XP Embedded Supplemental
Toolkit
 
K

KM

Kevin,

Assuming you've got the required .Net framework libraries in your image as well as Winlogon and such.

Did you try loading your application manually with Explorer Shell for instance? Does it work on your image?
As soon as you get that working you can set it up to launch the app as shell. The process is the same as with a regular Win32 app.
 
G

Guest

Sean/KM,

Thanks guys for the response.

BTW Sean, I enjoy your "Windows XP Embedded Advanced" book very much.

KM, I took your suggestion and ran the application manually with Explorer
Shell . I get the same error: "mscorwks.dll could not be loaded". I have the
".NET Framework Version 2.0.50727" component selected in Target Designer. Is
there anything else that needs to be added to support .NET? The application
is written in Visual C#. Feature Pack 2007 has been installed. The
application does run on my development system running Windows XP
Professional. My target can dual-boot into Windows XP Home. I'm going to
install the application under XP Home and make sure that it can run on the
target hardware.

I'm really stuck at this point.

Thanks,

Kevin
 
K

KM

Kevin,

Interesting.. The .Net 2.0 component should definitely be enough to get a .Net app running assuming you resolved all the component
dependencies.

A few suggestions:
- Manually find the mscorwks.dll (typically somewhere under \windows\microsoft.net\framework\v2.0.50727) and re-register it
with regsvr32 tool.
- Make sure you are logged under administrator and have enough permissions to load all the framework libraries.
- You may want to try to build XPProEmulation image (www.xpefiles.com, only take FP2007 RTM version) and run your app there. At
least you'd know whether it is a missing dependency (dll) issue.
--
=========
Regards,
KM

PS. Are you sure the exact component name you added in TD is ".NET Framework Version 2.0.50727"?
 
G

Guest

KM,

I took your suggestion and used the XPProEmulation image. The application
works fine with the XPProEmulation build. Strangely, dates are displayed in
the XPProEmulation image build in what looks like Arabic, however.

I guess my plan of attack is to remove components from the XPProEmulation
image until I end up with a working image with the functionality I need.

The build I created had some strange problems in addition to not running
..NET applications. I never had a Start button on the task bar. Obviously, I'm
missing some important dependencies.

Thanks,

Kevin
 
K

KM

Kevin,

The issue with the date format is there due to the multiple locales included in the image config. One of the east locales is being
set as the default on your runtime.

Although the approach where you start with XPProEmulation image and delete components until you get the issue to repro is valid but
usually is much more laborious and time consuming that the opposite approach where you start with your own (fat or non-fat) image
and trying to investigate what's missing with the known XPe tools like ProcessMonitor, Filemon/Regmon, ProcessExplorer and etc.

Also, you may still want to check the permissions set on the framework libraries and the mscorwks.dll registration.
 

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