In Net Mobile upgrade 2 we add a lot of new features to the generator with the support of
Compact Framework 2.0.
Requirement
Requirement and considerations
- New model property: Target Platform = Pocket PC 2003 / Windows Mobile 5.0 Pocket pc / Windows Mobile 5.0 Smartphone
- Default: Pocket PC 2003
- When you change the Target Platform all the standar classes are copied to the model directory.
- If Target Platform =Windows Mobile 5.0 Smartphone the following controls are not supported (details here: Controls in .NET Compact Framework).
- Button
- Context Menu
- Radio Button
- Status Bar
- Tab Control with visible tabs (it ignores the property Hide Tabs, it always works as if Hide Tabs=true)
- Tool Bar
- SIP (Simple input panel is not supported in Smartphone 2005)
- BorderStyle in Edits.
- BackColor y ForeColor in all controls
- Html Help (.chm only if the device has a reader).
- Forms auto scroll (New model property for TRN & WRK: Scrollable form).
- InstallSdk F5 for device and emulators
- Queue and QueueMessage data types for Windows Mobile 5.0 Pocket PC and Windows Mobile 5.0 Smartphone.
If the platform target si Windows Mobile 5.0 Pocket pc or Windows Mobile 5.0 Smartphone you must compile with framework 2.0 compilator
If you use the framework 1.1 compilator, can see the next error
fatal error CS0009: Metadata file 'c:\Program Files\Microsoft Visual Studio 8\SmartDevices\SDK\CompactFramework\2.0\v2.0\WindowsCE\mscorlib.dll' could not be opened -- 'Version 2.0 is not a compatible version.'
Connect ActiveSync and the emulators: Connecting to different emulators
Synchronizing with bluetooth
Upgrading Database Files
You can connect SQL Server 2005 Mobile Edition to SQL Server 2000 SP3a and later versions. Similarly, you can connect SQL Server CE 2.0 to SQL Server 2005.
You can upgrade a database created with an earlier version of SQL Server CE 2.0 to a database created with SQL Server Mobile by using the SQL Server Mobile Database Upgrade tool (upgrade.exe)
- The database upgrade tool is installed with Visual Studio 2005 as part of SqlMobile30DevToolslang.msi file. The default location of the file is <drive>:\Program Files\Microsoft Visual Studio 8\SmartDevices\SDK\SQL Server\Mobile\v3.0\platform\processor\upgrade.exe.
- Using ActiveSync, copy the upgrade.exe file to the My Device folder on the smart device. For example if you have a pocket pc 2005 you should copy <drive>:\Program Files\Microsoft Visual Studio 8\SmartDevices\SDK\SQL Server\Mobile\v3.0\wce500\armv4i\upgrade.exe.
- Open a command line on the smart device:
- press and hold the action or enter button on the device.
- While pressing the action or enter button, tap and hold the clock icon in the top menu bar.
- Release the action or enter button. A menu with two options (Run and Clock) is displayed.
- In the Open text box of the command prompt window, type the command to upgrade your database. The upgrade tool uses the following syntax:
upgrade.exe /s "\dir1\source.sdf" /sp "password1" /d "\dir2\destination.sdf" /dp "password2"
It can be done using shell function from a genexus program: &res = Shell("\windows\upgrade.exe upgrade.exe /s "\dir1\source.sdf" /sp "password1" /d "\dir2\destination.sdf" /dp "password2")
- SQL Mobile 2005 (What's New in SQL Server Mobile Edition)
- Synchronization: To support multiple applications accessing the same database at the same time, SQL Server Mobile provides multiuser support. Multiuser support enables multiple users of a database to synchronize data without having to disconnect the database before they use merge replication.
- Multiuser support: To support multiple applications accessing the same database at the same time, SQL Server Mobile provides row-level locking of data pages, page-level locking, and isolation levels to help ensure data integrity during concurrency
- Automatically reuses empty pages: SQL Server Mobile supports the autoshrink feature, which automatically reclaims unused data pages and saves device storage space.
- ACID transactions: The storage engine architecture has been rewritten to optimize for a mobile architecture in which each application shares a common memory pool. Better data reliability is now ensured through true atomicity, consistency, isolation, and durability (ACID) support, and when devices experience battery power issues and connectivity disruptions. For more information, see "Overview of Database Engine (SQL Server Mobile)" in the SQL Server Mobile Books Online.
- Cost-based optimization: The query processor takes advantage of statistics support in the storage engine to create significantly better cost-based query plans
- Integration with SQL Server 2005: You can manage a SQL Server Mobile database on a desktop computer or a device by using SQL Server Management Studio, a SQL Server 2005 management tool that replaces SQL Server Enterprise Manager and SQL Server Query Analyzer
- Integration with Microsoft Visual Studio 2005: Developers can manage a SQL Server Mobile database on a desktop computer or supported devices by using Visual Studio 2005
Device
|
Compact Framework 1.0
|
Compact framework 2.0
|
Compact framework 2.0 SP1
|
SQL server CE 2.0
|
SQL Server Mobile 2005
|
Pocket PC 2000
|
Yes
|
No
|
No
|
Yes
|
No
|
Pocket PC 2002
|
Yes
|
No
|
No
|
Yes
|
No
|
Pocket PC 2003
|
Yes
|
Yes
|
Yes
|
Yes
|
Yes
|
Pocket PC 2003, SE
|
Yes
|
Yes
|
Yes
|
Yes
|
Yes
|
Pocket PC 2005
|
Yes
|
Yes
|
Yes
|
Yes
|
Yes
|
Smartphone 2003
|
Yes
|
No
|
No
|
No
|
No
|
Smartphone 2005
|
Yes
|
Yes
|
Yes
|
No
|
Yes
|
WinCE 4.x
|
Yes
|
No
|
Yes
|
Yes
|
Yes(*)
|
WinCE 5.x
|
Yes
|
Yes
|
Yes
|
Yes
|
Yes
|
(*) The SQL Mobile Device SDK contains a cab for just the ARM processor for Windows CE 4.2 and cabs for all supported processors of Windows CE 5.0.
See the following link for a complete list of Hardware Devices.
- If your Target Platform is Windows Mobile 2005 or Windows Mobile 5.0 Smartphone you have to download Redistributable Server Components for Windows Mobile 5.0. , unzip it and copy and install the "Optional Windows Mobile 5.0 Server Components\msmq\msmq.arm.cab" on the pocket pc 2005 device. If your Target Platform is Pocket pc 2003, the MSMQ redistributable files can be found at the following location <drive>:\Program Files\Windows CE Tools\wce420\POCKET PC 2003\Support\Msmq\armv4. Copy these files to the \\Windows folder of the device.
- To send messages from pocket pc to remote non-transactionl queues on a PC use the formated name, for example if there is a private queue called mqsample on your PC use: "FORMATNAME:DIRECT=OS:your_pc_name\private$\mqsample" or "FORMATNAME:DIRECT=TCP:your_pc_ip\private$\mqsample". If it is public use: "FORMATNAME:DIRECT=OS:your_pc_name\mqsample" or "FORMATNAME:DIRECT=TCP:your_pc_ip\mqsample". You cannot use the friendly name syntax like "your_pc_name\mqsample" because the primary domain controller (on which Active Directory resides) is not available on pocket pc, so it cannot resolve the path -friendly name- to the format name.
- To send messages to a private local queue in the pocket pc you can use this format: ".\private$\mqsampleinpocket". The Connect method of the Queue data type automatically creates the queue if it doesn't exist and starts the MSMQ service on pocket pc if it is not running.
- MSQMAdmin and Visadm utilities for pocket pc provide administration capabilities on local queues in the pocket. Both are installed with the msmq.arm.cab which is part of the Redistributable Server Components for Windows Mobile 5.0
- The .NET Compact Framework does not support the following features, because they are not available in Windows CE:
- Multiple message transactions. Transaction support is limited to single message transaction
- Remote queue read.
- Local outgoing queue read.
- Encryption.
- Public queues based on Active Directory
- Stored messages in a queue on the pocket remain intact even if the user closes the application or performs a soft reset on the device.
- When writing from desktop to remote queues on pocket pc make sure the following is true:
- Device name is not default (POCKET_PC) and unique.
- If you're using host names (not IP), please make sure your network has proper address resolution.
- You can ping desktop from device and device from desktop.
- MSMQ ports are not closed by firewall (TCP 1801. 2103, 2105. 2107). You could use vxUtils to do a port scan to verify.
- A good test would be sending a message from desktop to desktop.
Here:Networking_: ping the emulator is how you can ping your Windows Mobile 5.0 Pocket PC emulator