Windows Mobile Application Developer Chat Recap



A few weeks ago we announced the Windows Mobile application developer chat, which took place last Thursday. MVPs and Microsoft employees opened the floor to questions and provided a top-ten tip list for Windows Mobile application development. While you can find the top-ten tip list at this Microsoft blog and will soon see the chat transcript at this Microsoft Web site, I thought it might be nice to post some paraphrased excerpts of the type of questions and answers that came up in the chat.



Question: I’ve recently started looking at Unit Testing (mainly using NUnit) and have come across NUnitLite for unit testing on the Compact Framework, which works well, but have not been able to find any mocking frameworks (such as nMock), any suggestions?



Answer: I would suggest you check out the unit testing available in Visual Studio 2008. This is also available for .Net CF applications.



Question: Hi, I’m searching for a way to become more than the best Cell Tower from RIL.dll. Is there any chance to get the other Cell Towers?



Answer: There is a RIL API for Windows CE that you can theoretically access with Windows Mobile. However, this is not supported so you would be on your own (i.e. without help from MS) in accessing this APIs from WM. See: <http://msdn.microsoft.com/en-us/library/aa923065.aspx>



Question: Is there a system log in Windows Mobile similar to event log on desktop Windows? I am interested in system events.



Answer:Not really. The OpenNetCF does provide some logging capability you could use. In the Smart Device Framework (www.opennetcf.com/sdf) you can use the OpenNETCF.Diagnostics.EventLog. It is the same object model as the .NET Framework but logs to an XML file. Here is an article that uses the class: http://msdn.microsoft.com/en-us/library/aa446519.aspx

Question:
I am looking for errors that occur during OTA sync (not through desktop active sync).



Answer: To enable device logging, go to ActiveSync->Menu->Configure Server->Next->Advanced and turn up Event logging to Verbose. The logs will be saved in the Windows\ActiveSync folder. OTA errors will be here.


If you’re interested in future Windows Mobile application developer chats, the next one is on November 11, 2008, 10-11am (PST). For more information about joining chats and upcoming chats, see this Microsoft Web site.

Comments (4)

  1. Any News in Silverlight Integration In Windows Mobile ?

  2. HCH says:

    The question about mocking (not unit testing):  rhino mocks reportedly works.

    RIL: download the source to GoogleGears for Windows Mobile.  It has everything you need for doing cell tower stuff.

  3. Deepak Kumar says:

    I was wondering if anybody know where ActiveSync password get stored on the Device?

    I need to know tis to ensure security for the password either on File level or registry level [If Any!]

    Thanks for the help.

    -DK

  4. schoudhary says:

    All About cell-id stuff in Windows mobile

    Getting Cell id in windows mobile …?? developer can do just a try but everything is depends on OEM…..!

    confused…ok.

    My fight with WM devices to get CellID is very old (nearby from last 3 years)

    i tried with many approaches like.. TAPI….RIL and one Secret one (i will talk with u later about this….)

    RIL is first approach, if it doesn’t work then use last one approach.

    In between this, i want to tell about one interesting conversion between me and one WM PDA OEM… ASUS… yes regarding Cellid

    i was working on Asus P535 device (we bought 4 devices) but no luck to get cell id…. so what to do… i started to go in deep… some assembly code, memory , driver debug etc anything that came in way…

    At last i got the reason…and here someting was missing…!! here i am writing the small part of email conversion i had done with asus people……

    I got the POI(actual cause of problem) after lot of struggle ….. 🙂

    In the OEM RIL driver that sends the AT commands to modem (I think name may be ‘Galaxy’ in this Asus P535 device) has to initialize the modem boot time of the modem ,so that time it send the initialize string (a series of AT commands) to modem in Asus P535 the init string is following …

    “ATZS0=0E0Q0V0X4&C1&D1&W+CRC=1;+CR=1;+CMOD=0;+CREG =1;+CGREG=1;+FCLASS=0;+CSSN=0,1;+COLP=1;+CCWA=1;+C MGF=0;+CSCS=”UCS2″;+CNMI=2,2,2,1,0;+XDNOABORT=1;+X CALLSTAT=1;+CUSD=1”

    Here the value for ‘CREG ‘ is ‘+CREG=1’ it should be ‘+CREG=2’

    // +CREG=1 enables short +CREG notifications

    // +CREG=2 enables extended +CREG notifications (w/ and )

    So after initialization of modem …

    1. if in initialize string the value for ‘CREG ‘ is ‘+CREG=2’ ,now if the driver sends ‘AT+CREG? ’ to the modem ,then modem responds with “+CREG: 2,1,”0005″,”00000EF7” here ‘0005’ is Lac value and ‘00000EF7’ is cell id’s value for connected GSM tower.

    2. if in initialize string the value for ‘CREG ‘ is ‘+CREG=1’ ,now if the driver sends ‘AT+CREG? ’ to the modem ,then modem responds with “+CREG: 1, 10” here Lac value and ‘cell id’s value are not returned by modem, because the driver had set it to ‘short +CREG notifications’ at the time of modem initiation.

    So if in the modem initialize string the value of for ‘CREG ‘ is ‘+CREG=2’, then MS’s RIL standard API “RIL_GetCellTowerInfo” will work fine( because internally this API is converted to ‘AT+CREG? ’ and go to GSM modem by the OEM RIL driver(rilgsm.dll) .

    >>> Means fix/replace of rilgsm.dll (and it can be done with Asus signed CAB file)

    Sorry ….for lot of theory about RIL internal things…

    Conclusion : till now they didn’t solve it (i don’t know why??)