Le Café Central de Deva
... Deva blogs!!
I changed the way of blogging. Re-designed the site & started using the latest Windows Live Writer 2011!! Additionally added Microsoft Translator gadget available @ top of page, so that you can change the page in your preferred language!!
Yesterday we released the latest Exchange MAPICDO (March 2014) and its version is 08.03.0.8353.000. You can download it from @ http://www.microsoft.com/en-us/download/details.aspx?id=42040. Note: Make sure to uninstall the earlier version (if you have installed it earlier) and install the latest one. For additional info, you can refer Steve’s blog post.
Click here to download Microsoft Exchange Server 2013 Service Pack 1 (SP1). It’s version would be “15.00.0847.032”. It resolves issues that were found in previous versions of Exchange Server 2013. This update rollup is highly recommended for all Exchange Server 2013 customers. This service pack resolves the issues that are described in the support KB article http://support.microsoft.com/kb/2926248
Also, you can download the following files 32-bit /64-bit of Microsoft Office 2013 Service Pack1 (SP1) from Microsoft Download Center. Microsoft Office 2013 Service Pack 1 (SP1) provides the latest updates for Office 2013. This service pack includes two kinds of fixes:
You can download the following workbook which lists the issues that are fixed by this service pack. Microsoft Office and SharePoint 2013 Service Pack 1 Changes.xlsx. For more info you can refer: http://support.microsoft.com/kb/2817430
As you know that Exchange Web Services (EWS) Managed API provides a managed interface for developing client applications that use EWS. Click here to download the latest Microsoft Exchange Web Services Managed API 2.1(Version 15.00.0847.032).
This EWS Managed API 2.1 package contains the EWS Managed API, a managed interface for developing client applications that use EWS. The EWS Managed API simplifies the implementation of applications that communicate with versions of Exchange starting with Exchange Server 2007 Service Pack 1 (SP1). Built on the EWS SOAP protocol and Autodiscover, the EWS Managed API provides a .NET interface to EWS that is easy to learn, use, and maintain. For your convenience, the package also includes the Exchange Server 2013 token validation library. You can use the EWS Managed API and the library to build mail apps for Outlook that can be authenticated by the identity tokens issued by Exchange 2013.
As Stephen updated earlier, Dave had published series of blog posts (given below) which helps you to create Outlook profiles programmatically using MFCMAPI utility to connect Exchange Server 2013/legacy versions of Exchange, Office 365. Adding them for your reference. How to use MFCMAPI to create a MAPI profile to connect to Exchange 2013 using latest version of MAPICDO? http://blogs.msdn.com/b/dvespa/archive/2013/05/21/how-to-mfcmapi-create-mapi-profile-exchange-2013.aspx How to create an Outlook profile for Office 365 using Outlook MAPI? http://blogs.msdn.com/b/dvespa/archive/2014/01/17/how-create-outlook-profile-office-365.aspx
How to configure an Outlook profile using MFCMAPI for Exchange 2013 using Outlook MAPI? http://blogs.msdn.com/b/dvespa/archive/2014/01/16/create-outlook-profile-exchange-2013.aspx
How to use the same profile to connect to both Exchange 2013 and legacy versions of Exchange Server using latest version of MAPICDO? http://blogs.msdn.com/b/dvespa/archive/2013/05/27/omniprof.aspx Note: You can download the latest MAPICDO (May 2013 update) from http://www.microsoft.com/en-us/download/details.aspx?id=39045
Hope this helps. Enjoy!!
For those who’re interested in the K4W version 2.0 and missed the early sign up, now you have the opportunity to sign-up to another 500 participants cost of $349.00. You can have them apply here:
http://blogs.msdn.com/b/kinectforwindows/archive/2013/12/19/kinect-for-windows-expands-its-developer-preview-program.aspx Learn more and apply now Related links: http://blogs.msdn.com/b/kinectforwindows/archive/2013/11/22/thousands-of-developers-are-taking-part-in-kinect-for-windows-v2-developer-preview.aspx http://www.microsoft.com/en-us/kinectforwindows/develop/
Visual Studio 2013 Launch: Announcing Visual Studio Online
A lot of exciting stuff coming out such as Visual Studio Online!
To learn more about Visual Studio Online, check out the videos on Channel 9:
On successful, you will get the similar one like mine
For those interested in watching the Visual Studio 2013 Virtual Launch, you can find it here: http://events.visualstudio.com/eng/launch-2013-event/
In MSDN, I came across the following two posts as part of Store API which talks about two algorithms that Microsoft Office Outlook uses, Algorithm to Calculate the Store Hash Number to calculate a store hash number based on the store mapping signature or entry ID and the store file name… Algorithm to Encode Entry IDs and Attachment IDs to Encode Entry IDs and Attachment IDs
Now you can download the Microsoft Exchange Serve 2013 Architecture in .PDF format. This poster highlights the significantly updated and modernized architecture in Exchange 2013, and highlights the new technologies in Exchange 2013, such as Managed Availability, the new storage and high availability features, and integration with SharePoint and Lync. In addition, it illustrates the new transport architecture in Exchange 2013.
A zoom.it version of the poster can be found at http://zoom.it/BuoF.
Recently I was assisting an developer who used Outlook Object Model (OOM) API and tried to get the SMTP address of the Sender of a given mail item. In order to get the values, he first made the following OOM call – it worked fine for him for couple of mail items, but fails to get the SMTP value as given below:
/O=MFC2013/OU=EXCHANGE ADMINISTRATIVE GROUP (FYDIBOHF23SPDLT)/CN=RECIPIENTS/CN=B370134F8FFD4CF3A0023F27B6B61F7D-ADMINISTRATOR
In this scenario, to determine the SMTP address for a mail item, you can use the SenderEmailAddress property of the MailItem object. However, if the sender is internal to your organization, SenderEmailAddress does not return an SMTP address, and you must use the PropertyAccessor object to return the sender’s SMTP address (adding the related C#.Net code for your reference).
1: private string GetSMTPAddress(Outlook.MailItem mail)
3: string PR_SMTP_ADDRESS = @"http://schemas.microsoft.com/mapi/proptag/0x39FE001E";
4: if (mail.SenderEmailType == "EX")
6: Outlook.AddressEntry sender =
8: if (sender != null)
10: //Now we have an AddressEntry representing the Sender
11: if (sender.AddressEntryUserType == Outlook.OlAddressEntryUserType.olExchangeUserAddressEntry
12: || sender.AddressEntryUserType == Outlook.OlAddressEntryUserType.olExchangeRemoteUserAddressEntry)
14: //Use the ExchangeUser object PrimarySMTPAddress
15: Outlook.ExchangeUser exchUser = sender.GetExchangeUser();
16: if (exchUser != null)
18: return exchUser.PrimarySmtpAddress;
22: return null;
27: return sender.PropertyAccessor.GetProperty(PR_SMTP_ADDRESS) as string;
32: return null;
37: return mail.SenderEmailAddress;
This will help you to move ahead and get the correct SMTP address:
Recently I was working with a customer (at his Windows XP) where his CDO app (CDOSEND.vbs – given below) is failing to send email and throws the error “CDO_E_FAILED_TO_CONNECT” (you can refer the below given Output also). We tried setting CONFIG parameters like user name, SLL, password – but it doesn’t help. Code Snippet:
Const cdoSendUsingPort = 2
If wscript.arguments.count <> 3 Then
wscript.echo "Arguments must be: <smtp server> <sender address> <recipient address>"
strSmartHost = trim(wscript.arguments(0))
strFrom = trim(wscript.arguments(1))
strTo = trim(wscript.arguments(2))
set iMsg = CreateObject("CDO.Message")
set iConf = CreateObject("CDO.Configuration")
Set Flds = iConf.Fields
' set the CDOSYS configuration fields to use port 25 on the SMTP server
.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = cdoSendUsingPort
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = strSmartHost
.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 10
' build HTML for message body
strHTML = "<HTML><BODY>" &_
"<b>This is the test HTML message body</b></br>" &_
' apply the settings to the message
Set .Configuration = iConf
.To = strTo
.From = StrFrom
.Subject = "This is a test CDO message (Sent via Port 25)"
.HTMLBody = strHTML
' cleanup of variables
Set iMsg = Nothing
Set iConf = Nothing
Set Flds = Nothing
1: CDO.Message.1 error '80040213'
3: The transport failed to connect to the server.
Yesterday in the keynote session at BUILD 2013, we announced the availability of Visual Studio 2013 Preview and .Net Framework 4.5.1 Preview which can be downloaded here. For detailed on this, I recommend you to visit Somasegar's blog for a look at what's new in this release of Visual Studio and you can also find additional resources on getting started with Visual Studio 2013 Preview, on MSDN. Also make sure to check out our other blogs that will have lots of news and updates about Visual Studio 2013 Preview: http://blogs.msdn.com/b/developer-tools
Download the preview, try it and please share your feedback on the same. Enjoy!!
Yesterday Steve Ballmer kicked off Build 2013 in San Francisco (The Moscone Center, June 26-June 28) by announcing the availability of the Windows 8.1 Preview, which I blogged earlier. This years Build 2013 will showcase how developers can take advantage of the future of Windows, Windows Phone, Windows Azure, Visual Studio and much more. At Build, we'll share updates and talk about what's next for Windows, Windows Server, Windows Azure, Visual Studio, and more. Build is the path to creating and implementing your great ideas, and then differentiating them in the market.
You can watch it live or offline by sessions @ Build 2013. You can check the schedule by clicking here. For more additional event information you can refer more @ http://www.buildwindows.com/. Enjoy the session. Cheers
As updated earlier, Windows 8.1 will be a free update for Windows 8 consumers later this year through the Windows Store - but today you can to take a first-hand look at many of the new features and improvements with the Windows 8.1 Preview. You can get more info by referring Brandon LeBlanc’s post or by visiting http://blogs.windows.com
Download: You can download it from here. Windows 8.1 has new ways for you to personalize your PC and includes a wave of awesome new apps and services.
For more on what's new, check out the Windows 8.1 Preview Product Guide and read the FAQ.
Recently I was playing for a VSS issue at my Exchange Server 2010 environment – when I run the ESEUtil (with its parameter /mh) command then I got the error “Jet error –1032”.
> eseutil /mh "D:\Temp\tempdb.edb" Extensible Storage Engine Utilities for Microsoft(R) Exchange Server Version 14.00 Copyright (C) Microsoft Corporation. All Rights Reserved. Initiating FILE DUMP mode... Error: Access to source database 'D:\Temp\tempdb.edb’ failed with Jet error -1032. The error code –1032 points to JET_ERRFileAccessDenied, which tells us that I cannot access the file, as the file is locked or in use. This is the first time I noticed the issue at my end. When I investigated further I realized the issue - I have mounted the database and ran the ESEUtil. The database needs to be offline to read the header information. So I dismounted the database and ran the ESEUtil worked like a charm – bingo!! Happy debugging!!
This wonderful eBook is written by Kraig. He provides comprehensive coverage of the platform for Windows Store apps, and devoted chapters on live tiles, notifications, background tasks, background transfers, networking, devices, printing, WinRT components, accessibility, localization, and the Windows Store itself. The final eBook contains 17 chapters. And of course all of the earlier chapters have also been reviewed and refined—over 800 pages in total, along with new and updated companion content!
So you can download the eBook in PDF format here: http://go.microsoft.com/FWLink/?Linkid=270056 (17.9 MB)
EPUB format is here: http://go.microsoft.com/FWLink/?Linkid=272592 (37.3 MB)
MOBI format is here: http://go.microsoft.com/FWLink/?Linkid=272591 (69.5 MB)
The eBook's companion content is here: http://go.microsoft.com/FWLink/?Linkid=270057 (59.9 MB) Just make use of it and develop new Windows 8 apps. Happy programming!!
Recently one of my developer customer pointed out that he used Extra.exe as part of troubleshoot performance issues at his Exchange Server 2010 environment. But he noticed that Extra.exe doesn’t work or collect the data as expected. During investigation I noticed that they were running it under the scheduled task. Based on investigation, they updated to Exchange Server 2010 SP2 Update Rollup 5 version 2 which resolved the issue.
Developers love code samples, but they have been sitting in front of desktop for too long. A Sample Browser app can give them some time to sit relaxingly in a sofa and continue to learn the beloved code samples. The Sample Browser gives developers a new experience to search, download, learn, and share thousands of code samples. The large sample repository includes Microsoft official code samples for Windows Store apps, over 1200 Microsoft All-In-One Code Framework samples driven by developers' real-world pains and needs, and various product samples and community samples. So now you can download them as wish, either to your Windows 8/RT device or Windows Traditional desktop: Windows 8 app: Download the Windows 8 app for your Windows 8 or Windows RT device it gives developers a new experience to search, download, learn, share and request code samples. Swipe and search and share - It's that easy! The app also supports the offline mode, so you can learn code samples anytime, anywhere. Traditional desktop: Download Sample browser for traditional desktop, this will be very useful when you are using Visual Studio Express. Adding few screenshots for your view:
Recently I was working with one of the developer who earlier designed an CDOSYS based mail component in his C++ application built using earlier Visual Studio (2005) version . After migration to VS 2008 environment, they noticed compile errors with the same code/no changes made. When I debugged further and noticed that the msado15.tlh and cdosys.tlh are not generated correctly for some reasons. When I compared the .tlh file generated by previous VS version, i noticed differences in it – as couple of keywords are missing in method definitions in the .tlh file generated by VS previous versions. That’s the reason, they noticed the compile time/linker errors.
The generation of .tlh files is affected by some codes in this project, which is compiled earlier than the import sentences. So i moved the import sentences to the very beginning of stdafx.h and used #import attribute “rename” to avoid any name collusion problems.
#import "c:/program files/common files/system/ado/msado15.dll" rename("ADODB","CDO") rename( "EOF", "adoEOF" )
After the above changes, I can successfully compile it without any errors. It helped them to move ahead.
In this post, we will see how to programmatically filter/restrict items “To” property. Let we take this scenario. In Outlook, we notice it contains 6 items “To” property containing “Deva G”:
Note:In specifying a filter in a Jet or DASL query, if you use a pair of single quotes to delimit a string that is part of the filter, and the string contains another single quote or apostrophe, then add a single quote as an escape character before the single quote or apostrophe. Use a similar approach if you use a pair of double quotes to delimit a string. If the string contains a double quote, then add a double quote as an escape character before the double quote. For example, in the DASL filter string that filters for the Subject property being equal to the word can't, the entire filter string is delimited by a pair of double quotes, and the embedded string can't is delimited by a pair of single quotes. There are three characters that you need to escape in this filter string: the starting double quote and the ending double quote for the property reference of http://schemas.microsoft.com/mapi/proptag/0x0037001f, and the apostrophe in the value condition for the word can't. Applying the appropriate escape characters, you can express the filter string as follows:
filter = "@SQL=""http://schemas.microsoft.com/mapi/proptag/0x0037001f"" = 'can''t'"
Alternatively, you can use the chr(34) function to represent the double quote (whose ASCII character value is 34) that is used as an escape character. Using the chr(34) substitution for a double-quote escape character, you can express the last example as follows:
filter = "@SQL= " & Chr(34) & "http://schemas.microsoft.com/mapi/proptag/0x0037001f" & Chr(34) & " = " & "'can''t'"
& Chr(34) & " = " & "'can''t'"
For this above test, first we need to get the property reference for “to” so that we can create DASL Filter for it. For this, you can make use of latest MFC MAPI and get the same using its Property Editor. I am making use of Outlook Object Model (OOM) API to filter/restrict “To” field items containing “Deva G”. In order to do that, you can make use of Items.Restrict method provided in OOM along with the Filter that you want to apply. The Restrict method is significantly faster if there is a large number of items in the collection, especially if only a few items in a large collection are expected to be found.
Filter = "@SQL= " & Chr(34) & "http://schemas.microsoft.com/mapi/proptag/0x0E04001E" & Chr(34) & " = " & "'Deva G'"
Using the above filter, we can build the code using Items.Restrict method – enclosing the Outlook VBA sample for your reference:
Public Sub RestrictFilter()
Dim myNameSpace As Outlook.NameSpace
Dim myItems As Outlook.Items
Dim currentItem As Outlook.Items
Dim Filter As String
Dim i As Integer
Set myNameSpace = Application.GetNamespace("MAPI")
Set myItems = myNameSpace.PickFolder.Items
Set currentItem = myItems.Restrict(Filter)
For i = currentItem.Count To 1 Step -1
When you execute the code, you can retrieve the filtered item’s “subject” property values(PR_SUBJECT)….
You can give a try and let me know how it goes…. Happy programming!!
Now you can download the beta for Office 2010 and SharePoint 2010 SP2. For more info, you can refer the Microsoft Office Sustained Engineering post.
Recently I tried joining my Windows Server 2008 R2 with the targeted domain controller (as part of new Exchange install), but it thrown the following error:
In order to move ahead, I tried the following step to move ahead… Try temporarily setting the IP address of domain controller as your first DNS server or Preferred DNS Server, join the domain (later you can change the DNS Server setting back). Here it goes: Step 1: In Windows Server 2008 R2 > View Network Connections > Network Connection > Active Connection > Properties > Internet Protocol Version (TCP/IPv4) > Preferred DNS Server > Update the IP address of primary domain controller > OK Step 2: Now try join your domain. (In addition, after successful joining domain, I change DNS servers back to earlier). It made the trick. Enjoy!!
Wow, it’s birthday time. Visual C++ turned 20 this month, which certainly has come a long way. To get more info, refer the related post: http://channel9.msdn.com/Shows/C9-GoingNative/GoingNative-15-VC-turns-20-Ale-turns-40-C9-turns-9. Also it’s no coincident that as VC++ turned 20 and Channel 9 turned 9 too. Enjoy!!
I got the above update couple of days earlier to my HTC Mozart device. At this, check its build number - 7.10.8862.144 (You'll see same on your phone in Settings > About > More info). It contains the following update:
Start. Provides resizable small, medium, and large Live Tiles so you can customize your Start experience in new ways.
Accent colors. Expands the number of available accent colors to 20.
Lock screen. Improves the lock screen experience with accidental wipe protection features and the Bing image of the day wallpaper.
Marketplace and Xbox. Expands Windows Phone Marketplace and Xbox support to new countries and regions.
Fonts. Enhances the Chinese font and improves the appearance of Arabic and other languages.
Live Tiles. Fixes performance issues from a previous update.
Other improvements. Includes many other improvements to Windows Phone. For more information, you can refer: http://www.windowsphone.com/en-us/how-to/wp7/basics/update-history…. Enjoy!!