Le Café Central de

                 ... Deva blogs!!

  • Le Café Central de DeVa

    Click to connect MSDN/TechNet forums from your desktop


    Using MSDN Forum Assistant and TechNet Forum Assistant gadgets offer a convenient way for the forum users to read the forum recent threads and your own threads, it also make it easy to create new threads and search in the forum.

    How is simple is that…. I tried the gadgets at my Windows 7 machine in 3 simple steps Smile

    1. Double-click the gadget installation package.


    2. On the popup window, click “Install” to finish the installation.

    image   image

    3. The gadget usually will be automatically located on the desktop. If not, look it up from the Gadget Gallery and add it to the desktop

  • Le Café Central de DeVa

    Video: Role of a Software Architect in today’s world


    Recently viewed this interview - Brian Prince, Principal Developer Evangelist at Microsoft, and Juval Lowy, Software Architect & Principal at IDesign as they discuss the role of an architect in today's world. Juval breaks down how the role of an architect has evolved over the years from applying engineering principles and practices to software systems to now also taking an active leadership role in the process and in technology. Today's architect does less of showing developers "how-to" but instead showing more what to do in specific scenarios.

    I like the following excerpts which I liked from the interview: “you can copy and paste the code but are you know whether this is right to do in your context”, “architect should constant likely at the technical aspect of the project”. This is a great interview to catch if you're headed down this career path!

    Click here to view the video:

  • Le Café Central de DeVa

    Outlook 2010: Migrating CDO based application to Outlook Object Model(OOM) library


    Recently one of my developer customer migrated from Outlook 2003 to 2010. He tried running the custom application (uses CDO & Outlook 2003) in Outlook 2010. It throws the error “ActiveX component can’t create object”. 

    Using the following test sample, I can reproduce the exact issue at my end:


    As you know, Microsoft Outlook 2010 includes many architectural changes to the client-side MAPI subsystem. Of particular concern are scenarios in which Outlook is configured to use multiple Exchange accounts. Also, CDO 1.2.1 is a 32-bit client library and will not operate with 64-bit Outlook 2010. Given all these factors, CDO 1.2.1 is not supported for use with Outlook 2010 and we don’t recommend its usage with Outlook 2010. As updated earlier, in Outlook 2010 you need to re-write/migrate the code base referencing CDO to Outlook Object Model or MAPI, messaging libraries which ever suits you.  So the programs/custom applications that use CDO should be re-designed to use other Application Programming Interfaces (APIs) instead of CDO.

    Starting with Outlook 2007, the Outlook object model was greatly expanded to provide functionality that was previously available only by using CDO 1.2.1. The Outlook 2010 object model includes some new features to expand on this more. For example, the Outlook 2010 object model has new functionality to operate correctly with multiple Exchange accounts. The Outlook object model also works for both 32-bit and 64-bit versions of Outlook. Developers should use the Outlook 2010 object model instead of CDO 1.2.1. Also, developers can still use Extended MAPI (which requires unmanaged C++) in some scenarios where CDO was required. However, if it is possible, we generally recommend that the Outlook object model be used instead of Extended MAPI.

    In this post, we will take the above code sample and will show how you can migrate/re-write the CDO based application to Outlook Object Model library.

    CDO sample – created in Outlook 2003:
       1: Dim MapiSession As Object
       2: Dim MapiMessage As Object
       6: Set MapiSession = CreateObject("Mapi.Session") ' Create the MAPI Session.
       8: MapiSession.Logon , , , False                  ' Log on to the session.
      10: Set MapiMessage = MapiSession.Outbox.Messages.Add
      12: With MapiMessage
      13:     .To = "testuser@contoso.com"
      14:     .Subject = "Test"
      15:     .Text = "Test"
      16:     .send showdialog:=True
      17: End With
      19: MapiSession.Logoff
      21: Set MapiSession = Nothing  ' Clear the object variable.
    • In order to start with, we will do it from the declaration section – you can see the CDO/OOM migrated sample and notice the changes.
    • In CDO code, it’s specified as Set MapiSession = CreateObject(“Mapi.Session”). When it comes to Outlook Object Model, then it should be converted as, Set MapiSession = CreateObject("Outlook.Application")
    • Now, we will try the next line, which is doing logon() call. In CDO, it’s MapiSession.Logon , , ,False. In OOM, it’s you need to add GetNamespace, so MapiSession.GetNamespace("MAPI").Logon , , , False
    • Next line in CDO points that a new mail item will be created in Outbox folder. In OOM, it need to be simplified: MapiSession.CreateItem(olMailItem).
      • Please note I haven’t used outbox folder like, MapiSession.GetNamespace("MAPI").GetDefaultFolder(olFolderOutbox)
    • I don’t see much changes when you specify the values for MapiMessage, except for .Send (CDO) – just needs to be trimmed as .Send(in OOM)

    Once you done with migration, the OOM code (created in Outlook 2010) will look like the below:

       1: Dim MapiSession As Outlook.Application
       2: Dim MapiMessage As Outlook.MailItem
       4: Set MapiSession = CreateObject("Outlook.Application") ' Create the MAPI Session.
       5: MapiSession.GetNamespace("MAPI").Logon , , , False
       7: Set MapiMessage = MapiSession.CreateItem(olMailItem)
       8: With MapiMessage
       9:     .To = "testuser@contoso.com"
      10:     .Subject = "Test"
      11:     .Body = "Test"
      12:     .Send
      13: End With
      15: Set MapiSession = Nothing

    Please note: Microsoft product support can help developer customers migrate custom programs from using CDO 1.2.1 to using other APIs. However, Microsoft will not provide support for any scenarios in which CDO 1.2.1 is used with Outlook 2010.

    Happy programming!!

  • Le Café Central de DeVa

    Fix: Windows Phone 7.5 & Facebook Password update “0x83cf1202”

    Recently one of my customer changed his Facebook password via laptop. Later when he tried connecting via my Windows Phone/Facebook chat, it requested him to update the password. Unfortunately, he opted to delete the Facebook account, but it failed. After this, he can’t update his password. Doing so (Settings > Email+accounts > Facebook), it throws “Attention required – can’t delete Facebook” and error code “0x83cf1202”. 

    Tried the following steps, which helped him to fix the issue:

    1. Disconnect all devices/desktop apps and login with browser
    2. Delete Facebook account (connected with Hotmail account) using the browser
    3. Boot the phone
    4. In Phone, Sync the Hotmail account. At end of this, delete the Facebook account
    5. Now you can connect the Facebook account using Settings > Email+accounts > Facebook in the phone.

    Note: Prior to that I learnt that he is connected with messenger desktop app browser, Windows Phone to the Hotmail account. Also the Facebook updates, notifications, still seem to work, but only chat doesn't Smile

  • Le Café Central de DeVa

    How to get the EWS endpoint URL from Outlook 2007/2010?

    You can try the following steps to get the EWS endpoint URL from Outlook 2007 or 2010:

    • CTRL+Right click the Outlook icon in the notification area in the lower right-hand area of the screen. You can notice the following window:


    • Select Test E-mail Auto configuration.
    • Enter your email address and password.
    • Select the Use AutoDiscover box (you can uncheck the other boxes).
    • Select the Test button.


    • In the results window, you can see the Availability Service URL  Smile
Page 1 of 1 (5 items)