G
Guest
Hi,
I would like to have two shells (explorer shell and application shell) for
XPE operating system because there are two types of users: administrator and
normal user. The administrator should use the explorer shell that allows him
to have full access to the OS (XPE). The normal user should only be allowed
to use my company’s software application after user’s logon.
I have experimented the idea by following Sean Liming’s article “Different
Shells for Different Users†at
http://msdn2.microsoft.com/en-us/library/ms838576.aspx and using notepad as
an application shell. I included Explorer Shell component in my
configuration. I changed the value of the key
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows
NT\CurrentVersion\IniFileMapping\system.ini\boot\Shell
To
USR:Software\Microsoft\Windows NT\CurrentVersion\Winlogon
through the “Extra Registry Data†in the configuration. Then I logged on as
a user and started registry editor to add the key
“HKEY_Current_User\Software\Microsoft\Windows
NT\CurrentVersion\Winlogon\Shell†and the value
“C:\Windows\System32\notepad.exeâ€.
Then I logged on as a user again, the application shell launched the
notepad. When I logged on as an administrator, I saw the explorer shell.
The idea looked very promising.
Then I tried the same configuration and logged on as a user. I copied my
company software application from the external HDD to C:\ drive. I launched
my company application with no problem. Then I used registry editor to add
the key “HKEY_Current_User\Software\Microsoft\Windows
NT\CurrentVersion\Winlogon\Shell†and the value “C:\MyFolder\MyApp.exe†to
point to our company application. Then I logged on as a user and MyApp was
launched briefly and failed at SQLite database connection and then the
application crashed in unable to reference memory location. Why MyApp could
be launched manually in Explorer Shell but not by the application shell?
Later I saw Mike Hall’s article “Creating a Windows XP Embedded Shell†at
http://msdn2.microsoft.com/en-us/library/ms838335.aspx and created a custom
shell component with “Shell Prototype Componentâ€. I included this custom
shell component in my configuration. But when I ran the Dependency Checker,
it failed because of the collision between the Explorer Shell and the custom
shell.
Now I am stuck because both solutions didn’t work. Could someone point me
to the right direction?
Additional info: I am using XPE FP2007 but the configuration was created by
XPE SP2. I upgraded my development tools and component database in last week
to FP2007 but I didn’t update the components in the configuration for the
fear of destroying my configuration if the update doesn’t work out.
Many thanks.
I would like to have two shells (explorer shell and application shell) for
XPE operating system because there are two types of users: administrator and
normal user. The administrator should use the explorer shell that allows him
to have full access to the OS (XPE). The normal user should only be allowed
to use my company’s software application after user’s logon.
I have experimented the idea by following Sean Liming’s article “Different
Shells for Different Users†at
http://msdn2.microsoft.com/en-us/library/ms838576.aspx and using notepad as
an application shell. I included Explorer Shell component in my
configuration. I changed the value of the key
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows
NT\CurrentVersion\IniFileMapping\system.ini\boot\Shell
To
USR:Software\Microsoft\Windows NT\CurrentVersion\Winlogon
through the “Extra Registry Data†in the configuration. Then I logged on as
a user and started registry editor to add the key
“HKEY_Current_User\Software\Microsoft\Windows
NT\CurrentVersion\Winlogon\Shell†and the value
“C:\Windows\System32\notepad.exeâ€.
Then I logged on as a user again, the application shell launched the
notepad. When I logged on as an administrator, I saw the explorer shell.
The idea looked very promising.
Then I tried the same configuration and logged on as a user. I copied my
company software application from the external HDD to C:\ drive. I launched
my company application with no problem. Then I used registry editor to add
the key “HKEY_Current_User\Software\Microsoft\Windows
NT\CurrentVersion\Winlogon\Shell†and the value “C:\MyFolder\MyApp.exe†to
point to our company application. Then I logged on as a user and MyApp was
launched briefly and failed at SQLite database connection and then the
application crashed in unable to reference memory location. Why MyApp could
be launched manually in Explorer Shell but not by the application shell?
Later I saw Mike Hall’s article “Creating a Windows XP Embedded Shell†at
http://msdn2.microsoft.com/en-us/library/ms838335.aspx and created a custom
shell component with “Shell Prototype Componentâ€. I included this custom
shell component in my configuration. But when I ran the Dependency Checker,
it failed because of the collision between the Explorer Shell and the custom
shell.
Now I am stuck because both solutions didn’t work. Could someone point me
to the right direction?
Additional info: I am using XPE FP2007 but the configuration was created by
XPE SP2. I upgraded my development tools and component database in last week
to FP2007 but I didn’t update the components in the configuration for the
fear of destroying my configuration if the update doesn’t work out.
Many thanks.