AutoLaunch for CE 6.0

AutoLaunch for CE 6.0
Created by samphung on 11/20/2010 10:54:27 PM

Auto launch application when CE 6.0 start....  


Introduction

A typical Windows Embedded CE device is developed as a standalone device to perform a set of specific tasks. All Windows Embedded CE devices are designed with the mechanism to automatically launch one or more application when power on.
There are multiple options to enable a Windows Embedded CE device to automatically launch application during start up, such as:
-       Registry – Configure the [HKEY_LOCAL_MACHINE\Init] registry to launch application when the OS starts
-       Startup Folder – Place the application binary or shortcut to the operating system startup folder
-       AutoLaunch utility – Use the AutoLaunch utility to launch one or more application when the OS starts  
We will go over each of these three options and show how to implement each of these three options to launch application when the OS starts.
Registry
To configure Windows Embedded CE to automatically launch application during start up, the following registry entries are used:
                “Launchxx"=”your_application.exe”           
                Dependxx"=hex:XX,YY
The xx value defines the order of launching. For instance, “Launch60” is the sixth process to launch. The “Dependxx” denotes the processes to be launched before the current process can launch.
To better understand how these registry entries work, let’s review the [HKEY_LOCAL_MACHINE\Init] registry entries within the Reginit.ini file for an OS design project. During the build process, all registry entries from the OS components, application and device drivers are combined into the Reginit.ini file, in the following build release folder:
-       \OSDesigns\ \ \RelDir\_Release\
Open the Reginit.ini file with a text editor and search for registry entries for the [HKEY_LOCAL_MACHINE\Init] key. You will find entries similar to the following:
                “Launch20"=”device.dll”
                “Launch30"=”gwes.dll”
                Depend30"=hex:14,00
                "Launch50"="explorer.exe”
                "Depend50"=hex:14,00, 1e,00
The “Launch20” process launches the device.dll and does not have any dependency.
The “Launch30” process launches the gwes.dll, depends on the “Launch20” process, and cannot be launched until the “Launch20” process launches the device.dll.
Note:  14 in Hex is the equivalent of 20 in Decimal.
The “Launch50” process launches the explorer.exe, an depends on the “Launch20” and “Launch30” processes, and cannot be launched until the “Launch20” process launches the device.dll and “Launch30” process launches the gwes.dll.
Note:  1e in Hex is the equivalent of 30 in Decimal.
To launch project_application.exe when Windows Embedded CE starts, we can add the following registry entries to the OS design’s Project.reg registry file. Registry entries added to the Project.reg file are specific to the active OS design project. Changes and modifications made to the Project.reg file does not affect the BSP and/or common code.
                “Launch90"=”project_application.exe”
                “Depend90"=hex:14,00, 1e,00
 
Warning:  
Unless you know exactly what you are doing, do not add or modify registry entries to the Platform.reg file. The Platform.reg registry file is part of the BSP. When changes are made to Platform.reg, all subsequence Windows Embedded CE OS design created using this BSP will be affected by the changes.
 
When launching application with this method, command line parameters needed by the application cannot be passed along to the application.
Startup Folder
Another method to launch application when the Windows Embedded CE OS starts is to place the application or shortcut to the application in the operating system’s startup folder. This method is implemented within the Windows Explorer shell.
Using this method, the command line parameters for the application can be passed along by placing a shortcut for the application in the system’s startup folder.
One of the downside for using this method is that all of the applications placed in the startup folder are launched at the same time, which may be problematic when there is a chain of dependency between multiple applications.
AutoLaunch Utility
Another method is to use the AutoLaunch utility. The AutoLaunch utility was put together to support the 2007 Imagine Cup Embedded Development student competition, by Mike Hall and James Y. Wilson.
Initially, the AutoLaunch utility was created as a sub-project to a Windows Embedded CE OS design project, and configured to launch when the OS starts by adding appropriate entries under the [HKEY_LOCAL_MACHINE\Init] registry key.
The AutoLaunch utility can be configured, using the registry, to launch multiple applications with preset time delay to control the application launch sequences. Using the AutoLaunch utility, command line parameters can be passed to the application.
Using the AutoLaunch utility’s executable binary, compiled to support x86 devices, I created an installation package, which install the AutoLaunch utility to the Windows Embedded CE 6.0 Platform Builder, as one of the catalog component. By including this AutoLaunch component to the OS design project, the AutoLaunch utility will be compiled as part of the OS runtime image, and can be configured to launch one or more application, using the registry as follow:
                “Launch99"=”AutoLaunch_v200_x86.exe”
                “Depend99"=hex:0a,00,14,00
[HKEY_LOCAL_MACHINE\Startup]
                “Process0”=”Application_01.exe”
                “Process0Delay”=dword:00001388                              ‘ Delay 5 seconds after Windows Embedded CE starts
                “Process1”=”Application_02.exe”
                “Process1Delay”=dword:00002710                              ‘ Delay 10 seconds after Windows Embedded CE starts
                “Process2”=”Application_03.exe”
                “Process2Delay”=dword:00004E20                             ‘ Delay 20 seconds after Windows Embedded CE starts
The AutoLaunch utility component supporting x86 device, for Windows Embedded CE 6.0, is available for download from the following URL:
Look for the “AutoLaunch_v200_x86_WINCE600.msi” file.
 
Summary
There are multiple options you can use to automatically launch application when the Windows Embedded CE operating system starts. The advantage and disadvantage between different options are depending on the type of solution you are developing, the development tool, deployment and post-deployment support. You need to evaluate, test and decide which option is best for your application.
 
Additional Reference
CE 6.0: Booting processes with Command Line Options:

Embedded101 Articles

Click to Expand/Collapse Groups
Skip Navigation Links.
Collapse Windows Embedded Compact (CE)Windows Embedded Compact (CE)
Collapse Compact 7Compact 7
Build A Windows Network Projector wi...
Filter Device Drivers
Asynchronous I/O request support
Configure Flash Storage to Launch Co...
CEDriverWiz V2.00: About this releas...
Installing CEDriverWiz for Visual St...
Collapse CE 6.0CE 6.0
Stream Driver with CEDriverWiz rev 0...
Connecting Visual Studio IDE to CE 6...
Windows CE: Save and Restore the Re...
Windows CE: Stream Interface Driver...
Windows CE: Persisting Registry Chan...
Windows CE: Enhanced BusEnum
Windows CE: Soft Reset
Windows CE: Reading a String from th...
Windows CE: Displaying Disk Informa...
Windows CE: Formatting TFAT
Windows CE: C# Application to Format...
Hive-Based Registry for CE 6.0
AutoLaunch for CE 6.0
Configure Flash Storage to Launch Co...
CEDriverWiz V2.00: About this releas...
Installing CEDriverWiz for Visual St...
Collapse CE 5.0CE 5.0
Configure Flash Storage to Launch Co...
Collapse Platform Builder & OS DesignPlatform Builder & OS Design
Platform Builder: Automatically Flus...
Windows CE: Enhanced BusEnum
Windows CE: Soft Reset
Windows CE: Displaying Disk Informa...
Build A Windows Network Projector wi...
CEDriverWiz V2.00: About this releas...
Installing CEDriverWiz for Visual St...
Collapse BSP, OAL & BootloaderBSP, OAL & Bootloader
Windows CE 6.0: User Mode KernelIoC...
Windows CE: Displaying Disk Informa...
Collapse RegistryRegistry
Platform Builder: Automatically Flus...
Windows CE: Save and Restore the Re...
Windows CE: Stream Interface Driver...
Windows CE: Persisting Registry Chan...
Windows CE: Reading a String from th...
Hive-Based Registry for CE 6.0
Collapse Device DriverDevice Driver
Stream Driver with CEDriverWiz rev 0...
Windows CE: Stream Interface Driver...
Windows CE: Enhanced BusEnum
CEDriverWiz V2.00: About this releas...
Installing CEDriverWiz for Visual St...
Collapse File SystemFile System
Windows CE: Formatting TFAT
Windows CE: C# Application to Format...
Collapse Application DevelopmentApplication Development
Connecting Visual Studio IDE to CE 6...
Windows CE: Persisting Registry Chan...
Windows CE: Reading a String from th...
Windows CE: Formatting TFAT
Windows CE: C# Application to Format...
AutoLaunch for CE 6.0
Windows CE: Stream Interface Driver ...
IBW & ICE
Stream Driver with CEDriverWiz rev 0...
Connecting Visual Studio IDE to CE 6...
Platform Builder: Automatically Flus...
Windows CE: Save and Restore the Re...
Windows CE: Stream Interface Driver...
Windows CE: Persisting Registry Chan...
Windows CE: Enhanced BusEnum
Windows CE: Reading a String from th...
Windows CE: Displaying Disk Informa...
Windows CE: Formatting TFAT
Windows CE: C# Application to Format...
Build A Windows Network Projector wi...
Hive-Based Registry for CE 6.0
AutoLaunch for CE 6.0
Hello all
Filter Device Drivers
Asynchronous I/O request support
Configure Flash Storage to Launch Co...
CEDriverWiz Version 2.00 User Manual
CEDriverWiz V2.00: About this releas...
Installing CEDriverWiz for Visual St...
CEDriverWiz Version 2.00: An Example
CEDriverWiz Version 2.00: Using the ...
Collapse Windows Embedded StandardWindows Embedded Standard
WES7
WES-2009
Windows XP Embedded
Target Designer
Enhanced Write Filter
Collapse NET Compact FrameworkNET Compact Framework
Windows CE: C# Application to Format...
Windows Phone 7
Misc.
Turkish porno izle video site in rokettubeporno izle