.NET Compact Framework and the Smart Device Programming Features of VS.NET

Posted November 20, 2003

Chat Date: November 13, 2003

Please note: Portions of this transcript have been edited for clarity

Introduction

Moderator: mikefos (Microsoft)
Welcome to today's .NET Compact Framework and the Smart Device Programming features of VS.NET chat! Questions, comments, and suggestions are welcome.

Moderator: mikefos (Microsoft)
We will make an effort to answer as many questions as we can. There may be times when a question may be asked that we do not have an immediate answer for or cannot get to. We encourage you to post any of these questions in the newsgroups.

Moderator: mikefos (Microsoft)
Let’s introduce our hosts for today.

Host: ScottHolden (Microsoft)
Scott Holden, Development lead of the Execution Engine for the .NET Compact Framework

Host: mikehall (Microsoft)
Hi, I'm Mike Hall, I work with Windows CE in the Embedded Devices Group

Host: clorton (Microsoft)
Chris Lorton, developer lead for GUI (System.Windows.Forms and System.Drawing) on the Compact Framework.

Host: Zoran (eMVP)
Good morning everybody! My name is Zoran Galovic. I am founder of DotNetEmbedded Solutions which specialized in .NET Compact Framework, WCE .NET, related Smartphones and PocketPCs.

Host: clorton (Microsoft)
Hi, I'm Carlton Lane, Developer for Visual Studio for Devices.

Host: Marcin (eMVP)
Hi all! My name is Marcin Przysucha, I'm from SQL Server CE team, mostly handling managed provider questions.

Host: aaronru (Microsoft)
Aaron Ruckman, responsible for building the compact framework for testing and release.

Host: achopra (Microsoft)
Hi, I am Amit Chopra, Program Manager with the Visual Studio for Devices Team. Welcome everyone to this Chat

Moderator: mikefos (Microsoft)
Welcome everyone, let’s get started

Start of chat

Host: ScottHolden (Microsoft)
Q: Someone is bound to ask this, so here goes. When will SP2 be released?
A: Before the end of the year

Host: ScottHolden (Microsoft)
Q: So what's the easiest way to tell whether and which version of the NetCF is installed on a given device?
A: If you go into Windows\cgacutil.exe and click on it, it will raise a dialog that gives the version installed.

Host: Marcin (eMVP)
Q: eVC++ 4.0 is completely enough for my project (for wince.net 4.1). I need not VS.NET 2003 but I need SQLCE (for XScale).
A: eVC++ 4.0 is enough to write applications using SQL Server CE through OLE\DB access library. You won't be able to use managed provider, though. Please make sure you have the latest SP for eVC installed - there are many improvements in it.

Host: clorton (Microsoft)
Q: I have developed my application using .NET CF and tested my project with PocketPC 2002. My doubt is whether my same application will run on Pocket PC 2003 and Smartphones? Or do I have to change my code?
A: Your project will run unchanged on PPC2003. Some controls are unsupported on Smartphone (notably Button), so your project may not run, unchanged, on Smartphone. In addition, you will likely need to modify your code for the screen form factor and difference in menus.

Host: ScottHolden (Microsoft)
Q: How about releasing the CF in a non-CAB format (i.e. files and reg entries) so we can roll it into our own software distributions for one-click installs?
A: Currently, we don't have any plans to release CF in a non-CAB format for RAM install. We will look into this for a future release.

Host: clorton (Microsoft)
Q: How do I populate my list view lazily, is there any compact framework methods to do this or is it in future release. What I mean is, I have to load 2000 records in list view, but it takes a lot of time to load and the user will not be patient.
A: There is currently not a way to do a virtual ListView. It is possible through Control.Invoke to load the ListView asynchronously.

Host: clorton (Microsoft)
Q: There is currently not a way to do a virtual ListView. It is possible through Control.Invoke to load the ListView asynchronously. Can you elaborate?
A: This may help https://msdnaa.com/Resources/display.aspx?ResID=2327.

Host: aaronru (Microsoft)
Q: Is there a way to install the CE Framework into ActiveSync's CeAppMgr so that it can be easily deployed to the PDA?
A: Today there is not a way that I am aware of to install the CE Framework into ActiveSync's CeAppMgr.

Moderator: mikefos (Microsoft)
Q: When will SP 2 be released?
A: A. Before the end of the year

Host: Zoran (eMVP)
Q: If I understand correctly, the Motorola MPx200 Smartphone runs WM2002, which does not contain the .NET CF runtime. When will all Smartphones ship with WM2003 and include the runtime? (or have I misunderstood?)
A: You are right. Smartphones 2002 will not support .NET CF. All Smartphones 2003 phones include .NET CF runtime.

Host: Zoran (eMVP)
Q: Understood. I was wondering why current phones are still shipping wm2002 when 2003 is available. Itg makes it hard to release CF apps since market is limited.
A: Designing/manufacturing mobile phones is very complex and long process. Some manufacturers started design and were very close to the production before Smartphones 2003 were released. Smartphone 2002 and Smartphone 2003 are based on different WCE OS versions.

Host: ScottHolden (Microsoft)
Q: Are there plans to improve the CE framework's ability to interact with the WinCE API? Such as callback handling in managed code?
A: yes, there are plans to add support for better p/invoke marshaling, RCW (COM interop managed to native) and some hosting support. Delegates/callbacks are not yet on the plan, but are being investigated.

Moderator: mikefos (Microsoft)
Q: Does SmartPhone 2003 support SQL Server CE?
A: Not at this time.

Host: clorton (Microsoft)
Q: Xml performance : dataset.readXML() is very slow, is there a better way, or will it be improved in future release, I actually changed my program from xml format to csv because of poor performance.
A: SP2 will show significant improvements reading XML. The next version of the Compact Framework also has numerous performance improvements will which positively affect reading XML.

Host: clorton (Microsoft)
Q: But will it equal the csv reading speed?
A: It won't ever reach the same speed, the parsing is more complex. However, you may see sufficient performance with XML if you include the schema rather than requiring the reader to infer the schema from the raw XML.

Moderator: mikefos (Microsoft)
Hello. For those just joining the chat - Our topic is .NET Compact Framework and the Smart Device Programming features of VS.NET. Questions, comments and suggestions are welcome.

Host: Marcin (eMVP)
Q: I have 35 columns in a [SQL CE] table in which I am selecting only two columns for display. Will there be a performance gain if I have a table only with these two columns and select my requirement from this new table.
A: There are very many factors to consider before you partition your table like that. Most of the time (in my experience) the bottleneck is outside of the db (for example, filling a combo box one item at a time takes much time). So, I would have to know more about your data before recommending the partitioning.

Host: aaronru (Microsoft)
Q: Will all devices that include the CF be able to upgrade to version 2 when that comes out or will v1 and v2 be installed side-by-side?
A: For PPC and most wince devices will be able to support v1 and v2 side by side install. Due to memory constraints on SP2003, we will only support upgrading.

Host: ScottHolden (Microsoft)
Q: What performance improvements will be added in v2 of CF?
A: There are many performance improvements in v2. In the EE we have improved the JIT compiler and garbage collector. This translates to performance across all BCLs. We made string class performance improvements which help out XML. We have also made improvements in the XML and Data framework as well.

Host: ScottHolden (Microsoft)
Q: Are there any plans to include better threading support in the CE Framework, such as read write locks, thread pause and resume, etc. Currently, we are using our own custom locking code.
A: We definitely plan on improving threading support. The one thing that was very difficult was ThreadAbort and will be added. We are looking at adding suspend/resume as well. In general, this area will be filled out more.

Host: Marcin (eMVP)
Q: The downloaded version of the SQLCE (from www.microsoft.com/sql/ce/...) has not support of the XScale. This support has included into the VS.NET 2003 only. Why?
A: For wince 4.1 you should use the ArmV4 sqlce bits. I'm [almost :) ] positive this is what you have in VS.NET 2003...

Host: Ben (Microsoft)

Q: Are there any plans to include the serialization classes in the CE Framework?
A: Our current plan is to support System.Xml.Serialization in our next version.

Host: clorton (Microsoft)
Q: To use dynamic Context Menus, it's important to know the mouse position which triggered the context menu to popup. Is it possible to get that information?
A: Short answer - no. Longer answer - we've looked at this and the input model on PPC doesn't reliably provide the mouse position when raising a context menu.

Host: clorton (Microsoft)
Q: On the mouse idea - I agree with Chris that there are much non PPC devices out there using the .NET CF. *a good portion* of my customers use CE, and many use mice, keyboards, and the like
A: The next version of the Compact Framework includes enhanced support for keyboards (e.g. tabbing support, Form.KeyPreview and key events on controls).

Host: ScottHolden (Microsoft)
Q: Will there be better encryption support in the CE Framework?
A: Yes, we will be adding support for System.Cryptography.

Host: aaronru (Microsoft)
Q: In SP1, there's an API change (GetWebResponse, GetWebRequest). Are there any other new methods exposed in SP1 or the upcoming SP2?
A: Between SP1 and SP2 we did not introduce any API changes.

Moderator: mikefos (Microsoft)
Q: I am just starting to look into extending an application to the Pocket PC and Smartphone environment. I have .NET 2003 installed. I have MSDN Universal. Are there any other tools I should add to my development environment from MSDN or other sources?
A: You'll need to ensure that you've got the appropriate SDKs for the devices you're targeting.

Host: Marcin (eMVP)
Q: Does SmartPhone 2003 support SQL Server CE?
A: No. No edition of Smarthpone supports SQL Server CE.

Host: ScottHolden (Microsoft)
Q: Besides GetWebRequest/Response, are there any API changes in SP1 respect to RTM?
A: No, we did not change any other APIs.

Host: Ben (Microsoft)
Q: I have my application developed in .NET CF. I have given icon file in Project properties. And I have the inf file with icon file, setup creation using ezsetup. But still I am not getting the proper icon for my application in pocket PC device.
A: Pocket PC doesn't let you set the icon for an application.

Host: clorton (Microsoft)
Q: Is there a way to cert sign my assemblies and CABs using F5 deployment?
A: Not for Visual Studio 2003, but in the next version, you'll be able to set project property to cert sign your assemblies.

Host: ScottHolden (Microsoft)
Q: Is there any plans to expose the ConnMgr functionality added under the hood in SP1?
A: We are looking at this for future release, but not yet on the plan.

Host: Marcin (eMVP)
Q: I am porting my project from WinCE3.1 (MIPS) to WinCE.NET 4.1 (XScale). In the WinCE project I have used ADO. Can I use ADO in eVC4 (SP1) or I should use pure OLEDB for now?
A: ADO is not supported for eVC4. Please use OLE\DB.

Host: clorton (Microsoft)
Q: Will future versions of .netcf will have support for virtual list views, since many people seems having similar problems
A: That isn’t currently on our feature list.

Moderator: mikefos (Microsoft)
Q: Anyone done a wrapper for the CConnMgrEstablishConnection using Compact Framework?
A: Answer courtesy of Neil Cowburn: Yep, keep an eye on OpenNETCF.org for more news shortly.

Moderator: mikefos (Microsoft)
Q: How long is shortly as MS has totally not covered this in the smart dev world using CF. I have search High and low!
A: Answer courtesy of Neil Cowburn: 2 weeks, max.

Host: ctacke (eMVP)
Q: How do I fetch the device folder (Mydocument)of the in PC when device is not connected? I have multiple partnerships and I need the order in which the partnership was established,Eg. I need to know which partnership was established first,second,third
A: The partner info is in the registry based on user. For example mine is here:

HKEY_USERS\S-1-5-21-436374069-706699826-1801674531-1646\Software\Microsoft\Windows CE Services\Partners

I don't think there's a way to determine the order of creation though

Host: clorton (Microsoft)
Q: Can I access the autoscroll that appears in the list view so that I can load lazily when the user clicks this scroll? I find no way to access this nor can I have a separate VScroll over this (bad design!)
A: There isn’t an AutoScroll property on the list view. The control itself adds the scroll bar when there are more list view items than it can display.

Host: clorton (Microsoft)
Q: There isn’t an AutoScroll property on the list view. The control itself adds the scroll bar when the are more list view items than it can display.- that’s true, but a reference to this Scroller will be somewhere?
A: No.

Host: clorton (Microsoft)
A: Because the CFX Winforms implementation is actually wrapping the native WinCE ListView control, there is no way to publicly expose the scrollbar.

Host: clorton (Microsoft)
Q: So can I have my own VScroll over this, a bad design! What do you suggest?
A: The best solution is to implement your own ListView control, deriving from Control. In your implementation, you can be creative on handling the scroll, loading the data into the ListView items collection, painting etc. Also, this isn’t a limitation on the CFX, the desktop FX doesn’t support this scenario either.

Host: ctacke (eMVP)
Q: Is there any change in the CAB file for a device and for an emulator?
A: You need the correct processor CAB, so x86 for the emulator and ARM for most PPCs

Host: ctacke (eMVP)
Clarification: My comment assumes you mean the CF itself. You app makes no difference, as it is processor agnostic

Host: aaronru (Microsoft)
Q: Is there any change in the CAB file for a device and for an emulator?
A: You need to use a cab is processor specific. If you are running on an emulator then you need x86 version.

Host: Marcin (eMVP)
Q: Can I install SQLCE (from VS.NET 2003) manually, without deploying any project?
A: Yes, you can manually copy the sqlce*.CAB files for your platform and execute them. sql*.cab contains the SQL Client library, so you need it only if you connect to SQL Server [not CE]. sqlce.dev* has tools and error message strings, so you may choose not to install it for customer's devices.

Host: Ben (Microsoft)
Q: Regarding icons, then how other companies are having their icons with their application?

A: The Compact Framework lets you set the icon for Windows CE (which will show up when you minimize an application), but doesn't let you set the icon for PPC. You're right though that it's possible to do on PPC, but in native code. ..

I just talked to our GUI team and recommended to them to add this functionality to the next version.

Host: clorton (Microsoft)
Q: Are there any plans to support scrollable forms, tab pages, or panels in the future?
A: Yes - all of the above in the next version.

Host: ctacke (eMVP)
Q: I am developing Pocket PC application. I have MSDN Subs. and SQL Dev. Licenses. My client wants to use this application in 100 PocketPCs. Will he have to buy 100 licenses for SQL CE?
A: Depends on connectivity to a server. See this: https://www.microsoft.com/sql/prodinfo/previousversions/sqlce/default.mspx

Host: ctacke (eMVP)
Q: maccoy: can you tell me any other way to get this info....
A: I don't think the order is stored anywhere, so you'll probably need to come up with a way to store it yourself on first connect

Host: clorton (Microsoft)
Q: Will managed support be added for the notification API?
A: There are no announced plans, but OpenNETCF.org has a full notification library available already.

Host: clorton (Microsoft)
A: Yes.

Host: Zoran (eMVP)
Q: It seems that the OS silences all the playing waves while the Phone Edition Device is ringing, anyway to play a sound at full volume while the phone is ringing?
A: Not as I am aware of.

Host: markih (Microsoft)
Q: Are there any plans to support the WS Security "standard" in the CE Framework?
A: This is currently under consideration

Host: ctacke (eMVP)
Q: Is there any way to incorporate live streaming video into a .NET application
A: Not inherently. You might be able to use a 3rd party COM wrapper like CFCOM to wrap the WMP libs

Host: clorton (Microsoft)
Q: I am looking for a way to add into my VB .NET application, the ability to support videoconferencing (H323)
A: Currently, there isn't any support for this scenario.

Host: ctacke (eMVP)
Q: Can I create the SQL CE DB file SDF in the PC and transfer it to my device?
A: This is not currently supported, but is under consideration for a future release.

Host: ctacke (eMVP)
Q: Will Remoting be supported or more importantly serialization?
A: XML serialization will be in v2

Host: Ben (Microsoft)
A: We don't plan to support remoting. We are however very interested in making interprocess communication better. For communicating between the device and a server, we recommend using XML Web Services. `For the next version, we are planning on supporting Message Queuing, which will help communicating between applications on the device, as well as between the device and server.

Host: Marcin (eMVP)
Q: Can I create the SQL CE DB file SDF in the PC and transfer it to my device?
A: No, this is currently not supported.

Host: ctacke (eMVP)
Q: Can you tell me how it is stored in the registry?
A: What in particular? As I said, the order isn't there, just the partner info.

Host: ctacke (eMVP)
Q: Will there be improved support for custom controls in the next version? Currently, we have a working solution, but it's extremely fragile.
A: Yes. It will be much improved.

Host: Ben (Microsoft)

Q: Will Remoting be supported or more importantly serialization?
A: We plan to support System.Xml.Serialization.

Host: clorton (Microsoft)
Q: Can you recommend some examples or code
A: Not to my knowledge but the community and mobility websites should be useful.

Host: ctacke (eMVP)
Q: The next version of c# includes some very interesting features. Will VB be upgraded similarly? Should we all consider switching to c#-only development?
A: Which features specifically are you looking at?

Moderator: mikefos (Microsoft)
Thanks for joining us today and thanks for the questions. It's time for us to officially end now, but some folks will be hanging out for a few minutes.

Moderator: mikefos (Microsoft)
Please see the chats schedule for upcoming topics.

Host: clorton (Microsoft)
Q: What printing facility available in .NET CF? I want print facility in my application to handy printers.
A: The Compact Framework is limited by the support available in the underlying platform (PPC/WinCE).

Host: Zoran (eMVP)
Q: My application runs full screen, how can I prevent Notification Bubbles from popping up, while my app is running?
A: What OS, OS version and .NET CF version are you referring to?

Moderator: mikefos (Microsoft)
Q: PrinterCE supports PocketPC 2002? Is it free?

Moderator: mikefos (Microsoft)
A: Ginny_MVP : Sarathy: PrinterCE is not free.

Moderator: mikefos (Microsoft)
Q: FPunzo : (repost) The next version of c# includes somwvery interesting features. Will VB be upgraded similarly? Should we all consider switching to c#-only development?
A: MaartenS_eMVP : FPunzo: If you are talking about generics, they are part of the CLR and thus likely to be available in VB.NET as well.

Host: clorton (Microsoft)
Q: carlton_MS : can you recommend some examples or code
A: Not to my knowledge but the community and mobility websites should be useful.

Host: clorton (Microsoft)
Q: Will there be improved support for custom controls in the next version? Currently, we have a working solution, but it's extremely fragile.
A: There will be an great experiance for custom controls, user controls and inheritated forms in the next version of Visual Studio.

Host: ctacke (eMVP)
Q: Can you tell me how it is stored in the registry - ok give me some links regarding this
A: Take a look at my previous response with the key from my machine. It varies with every partnership

Host: Zoran (eMVP)
Q: Younes : Zoran_eMVP: Windows Mobile 2003, .NET CF 1.0
A: PocketPC or Smartphone?

Moderator: mikefos (Microsoft)
Q: If PrinterCE is not free, how can I use and tell to my client? Why .NET has no printing functions?
A: There's also the HP Mobile Printing SDK. This should get you started: https://h20015.www2.hp.com/hub_search/document.jhtml?lc=en&docName=c00037326

Host: Marcin (eMVP)
Q: Please implement the SQL CE DB creation in PC feature, it will solve lot of datatransfer problem
A: We've had feedback on it. We have plans for it in our Laguna release "3.0".

Host: clorton (Microsoft)
Q: How do I capture hardware buttons press?
A: Currently unsupported. Hardware button support will be in the next version.

Host: Zoran (eMVP)
Q: Younes : Zoran_eMVP: Pocket PC
A: I know it is possible, but I am not aware of any .NET CF API.

Host: ctacke (eMVP)
Q: How do I show small sized forms (eg. msgbox style)?
A: Currently on the PPC the only way to do this is to use a borderless form. On CE devices, it works as expected.

Host: ctacke (eMVP)
Q: Is SQLCE the only Microsoft supported Pocket PC supported database tool? What about Access and Visual FoxPro?
A: The only managed provider is for SSCE. You can use Pocket Access with a 3rd party control or your own libs. There is no VFP support at all.

Host: Zoran (eMVP)
Q: Younes : Zoran_eMVP: Anything I can P/Invoke...or I can even make a native DLL if I have to
A: P/Invoke - way to go... It needs an investigation

Host: ctacke (eMVP)
Q: Can you tell me how it is stored in the registry - ok give me some links regarding this...
A: I don't think any links exist for this info. Re-post your questions to the newsgroup and I'll follow up there.

Moderator: mikefos (Microsoft)
Thanks for all of the great questions guys

For further information on this topic please visit the following:

Newsgroups: Mobile and embedded application development topics

Mobile and Embedded Transcripts: Read the archive

Website: Visit the Mobile & Embedded Developer Center

Top of pageTop of page