Thank you for selecting Motorola, Inc as your mobility solution tool provider. The SMDK for .NET provides developers with the tools necessary to develop C# and VB.NET managed applications for enterprise mobility devices from Motorola. These tools include class libraries, sample applications, and associated documentation. SMDK for .NET allows Microsoft® .NET Compact Framework developers to programmatically access the enterprise mobility features on the devices. This developer kit is designed for use with Microsoft Visual Studio 2003, Visual Studio 2005 and Visual Studio 2008.
Although SMDK v1.7 for .NET has been designed to work with all Motorola mobile computers running Windows Mobile or Windows CE, it should only be used to develop applications for approved devices. Refer to the product download page for a complete listing of approved devices.For the latest software updates, go to the Developer & Software Tools page on the Support Central Web site at:
For more information on Motorola enterprise mobility devices, please visit the Business Products web page at:
Thank you,
The Software Development Team
Version 1.7
Version 1.6
Version 1.5 - Patch1
Version 1.5
Version 1.4
Version 1.3
Version 1.2
Version 1.1
Version 1.0
If the default location is not changed, the installed components can be found in the following folders:
Component - VS2008 Location under \Program Files Class library assemblies \Symbol Mobility Developer Kit for .NET\v1.7\SDK\Smart Devices Sample applications \Symbol Mobility Developer Kit for .NET\v1.7\Windows CE\Samples VS2008 Help files \Symbol Mobility Developer Kit for .NET\v1.7\Windows CE\Help Files CAB files \Symbol Mobility Developer Kit for .NET\v1.7\Windows CE\MassDeployment
Component - VS2005 Location under \Program Files Class library assemblies \Symbol Mobility Developer Kit for .NET\v1.7\SDK\Smart Devices Sample applications \Symbol Mobility Developer Kit for .NET\v1.7\Windows CE\Samples VS2005 Help files \Symbol Mobility Developer Kit for .NET\v1.7\Windows CE\Help Files CAB files \Symbol Mobility Developer Kit for .NET\v1.7\Windows CE\MassDeployment
Component - VS2003 Location under \Program Files Class library assemblies \Microsoft Visual Studio .NET 2003\CompactFrameworkSDK\v1.0.5000\Windows CE Sample applications \Symbol Mobility Developer Kit for .NET\v1.7\Windows CE\Samples VS2003 Help files \Symbol Mobility Developer Kit for .NET\v1.7\Windows CE\Help Files CAB files \Symbol Mobility Developer Kit for .NET\v1.7\Windows CE\MassDeployment
Development PC
Install Requirements for Visual Studio.NET 2003:
- Microsoft® Windows 2000 or Microsoft® Windows XP
- Microsoft® Visual Studio.NET 2003 *
- Microsoft® Visual Studio .NET 2003 Add-on Pack
- Microsoft ActiveSync 4.1 or higher
Install Requirements for Visual Studio 2005:
- Microsoft® Windows 2000 or Microsoft® Windows XP
- Microsoft® Visual Studio 2005 *
- Microsoft® Windows Mobile 5.0 SDK for PocketPC
- Microsoft ActiveSync 4.1 or higher
Install Requirements for Visual Studio 2008:
- Microsoft® Windows XP
- Microsoft® Visual Studio 2008 *
- Microsoft ActiveSync 4.5 or higher
* The edition of Visual Studio 2003/2005/2008 installed must support Mobile device development. Express editions of Visual Studio do not support Mobile device development.
Device Runtimes
To prepare a device to run applications that utilize Symbol .NET libraries, the following runtime software must be installed:
Microsoft .NET Compact Framework v1.0 SP3 or v2.0
CF1.0 SP3 is supported for development only with Microsoft Visual Studio .NET 2003.
CF2.0 is supported for development only with Microsoft Visual Studio 2005.
SMDK for .NET runtime environment (symbol.all.arm.cab).
Symbol.RFID2 requires CF2.0 SP2
Host Runtimes
Symbol.RFID2 for Host requires .NET Framework 2.0
The remote control operations on RD5000 requires installing the RFIDControl.zip package on the device. Refer to the Usage Note Using Symbol.RFID2 Host Assembly with RD5000 Device Reader
Update for Printing
Most of the enterprise mobility devices are shipped without the printer drivers installed. To use the Printer class library, the printer drivers must be added to the device. These drivers are available at http://symbol.com/support.
1. Accessing Help and Documentation
The SMDK for .NET components can be easily accessed using the "Symbol Mobility Developer Kit v1.7 for .NET" program group on the Windows Start Menu. This program group provides access to the Help file, Readme file and the Sample applications source code. SMDK for .NET Help has also been integrated with the Microsoft® Visual Studio® environment to provide an enhanced development experience through quicker lookups and intellisense.
2. Developing Applications
Once this package has been installed, creating .NET Compact Framework Applications that target SMDK is fairly simple. Follow the steps below to create a new application.
Create a new "Smart Device Application" project that uses either the Microsoft® Visual Basic.NET or Microsoft® Visual C# languages.
From the "Project" pull-down menu select "Add Reference...".
From the list of .NET assemblies, select the "Symbol" assembly as well as the particular SMDK assembly that matches the functionality you would like to develop with (Example: For barcode scanning applications select "Symbol" and "Symbol.Barcode").
Begin programming your application. Refer to the SMDK API documentation for information on the methods and properties of each class.
3. Developing Applications in VS2005/2008 using the "Symbol" Design Time Components
The device applications for scanning, imager and MSR can be developed using the design time (toolbox) components. SMDK v1.7 for .NET will automatically install these design time components to the toolbox in Visual Studio 2005/2008. These components can be dragged onto a form and begin the development without having to add references.
4. Adding the BarcodeReader Design Time Control to the VS2003 Toolbox
BarcodeReader Design Time control is a design time component that can be dragged onto a form. Before the BarcodeReader design-time control can be used, it must be added to the Visual Studio.NET 2003 toolbox:
- Activate the Toolbox window (Menu: View/Toolbox) from Visual Studio .NET.
- Within the Toolbox, right click the tab where you want to put the BarcodeReader control, and then select "Add/Remove Items..." from the pop-up menu.
- In the "Customize Toolbox" dialog, select the ".NET Framework Components" tab and then click Browse to locate the Symbol.Barcode.Design.dll. This DLL can be found at the following location:
\Program Files\Microsoft Visual Studio.NET 2003\CompactFrameworkSDK\v1.0.5000\Windows CE\Designer\
- Open Symbol.BarcodeDesign.dll. The BarcodeReader control will show up in the Customize Toolbox dialog. Click OK to close the dialog.
Note: Barcode Design Time is the only component available for the Microsoft Visual Studio 2003 environment.
5. Application Deployment through Visual Studio
During development, Visual Studio will automatically copy the .NET Compact Framework and SMDK CAB files to your device if they have not already been installed. Your application will then be deployed onto the device. For devices that have the .NET Compact Framework or SMDK class libraries installed, Visual Studio .NET will download the application only.
6. Application Mass Deployment
The following Mass Deployment directories are provided by the SMDK v1.7 for .NET:
Devices OS/CABs Location under \Program Files Windows CE, Windows Mobile 2003 \Symbol Mobility Developer Kit for .NET\v1.7\Windows CE\MassDeployment\CE.NETorWM2003 MKSeries CE 4.2 \Symbol Mobility Developer Kit for .NET\v1.7\Windows CE\MassDeployment\MKSeries
Included in these directories are files (.cab, .cpy, and .reg) that can be used to copy the .NET CF*** and SMDK cab files from an "\Application" partition into the "\Windows" directory and installed on a cold boot. The CAB files are installed using "Startup.exe" to launch wceload.exe (standard CAB installation method) with the command line that contains the name of the CAB file.
*** Please note that the .NET CF CAB files are not provided in the MassDeployment directory.
They can be manually copied from the Visual Studio .NET 2003/2005 directory to the "\Application" folder located on the
device.For Windows CE.NET or Windows Mobile 2003 devices the .NET CF CAB files can be found under "\Program Files\Microsoft Visual Studio .NET 2003\CompactFrameworkSDK\v1.0.5000\Windows CE\wce400\armv4" or "Program Files\Microsoft Visual Studio 8\SmartDevices\SDK\CompactFramework\2.0\v2.0\WindowsCE\wce400\armv4".
The included .cpy and .reg files are designed for CF1 cab installation. These files can be customized for CF2 installation. The following lines in the files "symbolmdk.cpy" and "symbolmdk.reg" should be modified to match the .NET CF CAB file.
For Windows CE 5.0 devices, the .NET CF CAB files can be found under "Program Files\Microsoft Visual Studio 8\SmartDevices\SDK\CompactFramework\2.0\v2.0\WindowsCE\wce500\armv4i".
With Visual Studio 2008, these will be avaiable under \Program Files\Microsoft.NET\SDK\CompactFramework\v2.0\WindowsCE.
"symbolmdk.cpy"
\application\netcfv2.ppc.armv4.cab > \windows\netcfv2.ppc.armv4.cab
"symbolmdk.reg":
[HKEY_CURRENT_USER\Software\Symbol\Startup\Programs\Prog10]
"Command"="\Windows\netcfv2.ppc.armv4.cab"
7. Caution with Power Samples
The CS_PowerSample1 and VB_PowerSample1 have been provided to demonstrate the Power Management features of devices that utilize a Microsoft Power Management architecture (MC9000, MC50, MC3000 etc.). The sample may not function with certain devices. Using Power Management features to change device and system power states should be avoided as it may interfere with the working of the device and may result in unexpected behavior and loss of data.8. Running Samples on MC1000
ScanSample1, AudioSample1 and ResCoordSample1(CS and VB) have been updated to fit the smaller display of the MC1000. Further modifications in the samples have been made to allow for keyboard navigation on the MC1000 where keyboard is the only means of input. Support for keyboard navigation requires the presence of CF1 SP3. Other samples may not be usable on the MC1000 without further modifications.9. Caution with WAN Samples
The WAN sample is provided for demonstrating the usage of TAPI and other WAN related features. This sample program is provided for demonstration purpose only and it should not be used as a production application. This sample will work on only those device that provide WAN capabilities like MC9090.10. Caution with CaptureAccumulateTransfer (CAT) Samples
The CAT sample is provided for demonstrating the usage of capturing and storing data on a device and transmitting it to a host PC using socket technology. This sample program is provided for demonstration purpose only and it should not be used as a production application. Please note that only one client device can connect to the host at any given time.11. Using RFID2 Host Assembly with RD5000
Using the RFID2.Host assembly with RD5000 requires installing additional software package. To obtain this package search for "RFID Control Daemon Package (RFIDControl) For The RD5000" on Support Central. Refer to the documentation provided in the package for installing and performing the remote control operation on RD5000.12. RFID2 Requires that the Application Keeps Track of Configuration
When reconnecting to reader (after incidental or manual disconnect), API assumes default configuration. When the customer application configures reader, and a disconnect operation is performed, the application would need to reconfigure the reader after reconnecting to reader.13. RFID2 Antenna Configuration
If an application needs to change any antenna settings, it must first get the current antenna configuration using IRFIDReader.GetAntennaConfiguration, make the desired changes, and then set the modified antenna configuration using IRFIDReader.SetAntennaConfiguration.14. RFID2 Migration
The help file contains a migration section for porting applications from the Keytone RFID API to the new RFID2 API. Applications written using the older RFID API cannot be ported. A complete rewrite is required.15. RFID2 Write ID exception
When using RD5000 or MC9090 readers, the user application may receive an exception indicating that the write operation could not be verified. The application must handle this exception and either reissue the command or read the tag ID to determine if the write operation actually succeeded.16. RFID2 API Product Support
Refer to Symbol.RFID2.Device assembly section in help file to find out the products supported by Symbol.RFID2
The MC70 Magnetic Stripe Reader may not restart firing read notifications after the device is resumed following suspension. The workaround is to close and open the Magnetic stripe Reader. The underlying driver issue will be addressed in a future release of the device software.
An attempt to disable fields Supplemental2 and Supplemental5 of the class UPCEANParamsAPI after reading one barcode will result in an exception. The underlying driver issue will be addressed in a future release of the device software.
Symbol.RFID namespace fails to write to EPC Class 0 tags. The underlying driver issue will be addressed in a future release of the RFID device software.
The MC50 Color Camera captures 16bpp BMP images that are not supported by the Microsoft .Net Compact Framework. However, JPEG images can be successfully captured using IMGOperations.dll version 1.7 or later.
The ImagerSample1 (CS and VB) may throw an exception when trying to capture an image on the MC3000 CE 5.0 device with Compact Framework 1.0. This problem does not appear when Compact Framework 2.0 is used.
MagStripeParams.TrackSelection may fail to report the data from a specifically requested track. The workaround is to set TrackSelection to ALL_TRACKS (default) and ignore the unwanted tracks.
On MK1100, MK2000 and PPT8800 devices, enabling and disabling the backlight may produce an error.
On MK2000, checking the contrast level in DisplaySample1 may produce an exception. A later release will contain a fix for this issue.
The XR series of RFID readers has limited support for read point configuration in the Symbol.RFID2.Host assembly. The read points may need to be configured using the web interface prior to using the reader from a RFID2.Host based application.
XR antenna settings are only supported in version 2.4.x
To use Autonomous mode with XR readers in Symbol.RFID2, the read points in the web interface must be configured as POLLED. In addition, if the host application looses reader connectivity while the XR reader is in autonomous mode, user must manually stop autonomous mode using the web interface before attempting to reconnect to reader.
When using Symbol.RFID2.Host with RD5000, the write tag id operation by default is for Gen 2 tags, but if there are no Gen 2 tags in the vicinity, the RFIDControl daemon will attempt to write to class 1 and class0 plus tags.
Symbol.RFID2.Host sample applications may have problems connecting to XR or RD5000 readers if the host PC has more than one network adapter.
Attempts by a second RFID2 host application to connect to an RD5000 reader may cause an already connected application to disconnect from the reader. Under normal operation the reader rejects connection to second host application.
GPIO notification event IRFIDReader.InputStatusNotifyEvent does not work with XR version 3.1.x. This feature only works with XR 2.4.x version. To get around this issue in XR 3.1.x, the application must use IRFIDReader.GetIOStatus to periodically poll for the status of input pins.
If versions prior to Compact Framework 2.0 for .NET Service Pack 2 are used, debugging trigger feature in MC9090 may crash both visual studio 2005 and the device application.
The symbol.mkseries.all.arm.cab does not deploy during application deployment using VS2005/2008. It should be manually installed on the device. The mksieries.all.arm.cab is available at "\Symbol Mobility Developer Kit for .NET\v1.7\Windows CE\MassDeployment\MKSeries" under program files
MC9000 Internet Explorer Components Warning
The Application image provided with the MC9000c42 DCP contains a directory labeled IE. This folder contains required components for developing, “.NET” applications. This folder must not be removed from the device.
First Available Trigger
Some of the samples make use of the first available trigger to capture a trigger event. Since a device could have multiple triggers, the assumption is first available trigger is the main trigger of the device. However, in the some of the new devices like MC9090, the first available trigger may not be associated with the main trigger. In that case the sample code must be modified to use the right trigger. An example of the modification required is shown below:
Replace this line:
trigger = new Symbol.ResourceCoordination.Trigger();
With this Line:
trigger = new Symbol.ResourceCoordination.Trigger(Symbol.ResourceCoordination.TriggerDevice.AvailableTriggers[triggerIndex]);
Error: Cannot Connect to Device
If you have a valid ActiveSync connection and still cannot connect to the device through Visual Studio .NET 2003, please refer to the Readme file Microsoft provides in its "Windows CE Utilities for Visual Studio .NET 2003 Add-on Pack". This documentation provides a number of steps that can be taken to fix this issue.
Last revised: January 21st, 2008
Copyright (c) 2008 Motorola, Inc.