Le Café Central de

                    ... Deva blogs!!

  • Le Café Central de DeVa

    How to install the latest applicable updates for Microsoft Outlook 2003, 2007 and 2010?


    The above query is a common one that we receive from our customers. Have a look at our support KB regarding this (specific to US English version only) http://support.microsoft.com/kb/2625547 . This article provides a comprehensive list of the most recent hotfix updates and service packs for Microsoft Outlook. Some Outlook features are dependent on Microsoft Word and Microsoft Office components. Therefore, you should also install the latest updates for the Word and Office core components.

    The above article is applicable to Outlook 2003, Outlook 2007 and Outlook 2010. Also, the above article will be updated to reference new updates as they are released.

    Note: You can visit the Update Center for Microsoft Office (http://technet.microsoft.com/en-us/office/ee748587.aspx) to find links to the most recent cumulative and public updates for Microsoft Office.

    Happy updating!!

  • Le Café Central de DeVa

    Outlook 2007 : Why i can’t accept an invitation that is in a third-party calendar format?


    One of my customer updated that they have an application which uses Outlook Object Model which usually receives the invitation and process it. But when has issues for a specific invitation to a meeting in Microsoft Outlook 2007. This impacts him that he can’t no longer accept the invitation. When we researched regarding the issue, we found it’s not with respect to the code. We found that the invitation is generated and present in a third-party calendar format (ical).

    This issue is fixed in the Outlook 2007 post-Service Pack 1 Hotfix Package that was released on January 28, 2008.

  • Le Café Central de DeVa

    Unicode mails send using CDOSYS & Bodypart show special or funny characters in message body


    Recently I was working with a Customer who uses ASP & CDOSYS to send Unicode content e-mails. He had the following partial code-snippet:

    Set objMail = Server.CreateObject("CDO.Message") 'Create CDO.Message Object
    Set objBodyPart = objmail.BodyPart 'Create BodyPart
    objBodyPart.Charset = "UTF-8" 'Set relevant Charset
    Set objConf = Server.CreateObject("CDO.Configuration") 'Create Configuration Object
    Set objFields = objConf.Fields 'and set its Configuration fields
    With objFields 
    .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 'Send using port or pickup
    .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "localhost" 'Specify SMTPServer
    .Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 20 'Specify timeout
    .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25 'Specify the port
    .Update 'Update the Configuration
    End With 
    With objMail 
    Set .Configuration = objConf 'Set the configuration object
    .From = email 'Set From users
    .To = Trim(recip) 'Set recipients
    .Subject = subject 'Set the subject
    .TextBody = txString 'txtString contains the unicode chars
    End With 
    objMail.Send 'Send
    'Release the objects
    Set objFields = Nothing 
    Set objConf = Nothing 
    Set objMail = Nothing 

    But he updated that he can display the information correctly in a web browser using UTF-8 encoding on the web page; But whenever he send the information
    via email the Unicode values in the message body show the "special or funny" characters.He also tried setting the charset for the email but it doesn't made any difference.

    When we started troubleshooting we found that we need to set the HTMLBodyPart and TextBodyPart Charset in the above code, which resolved the issue.

  • Le Café Central de DeVa

    Monitoring event sink # 27 - After you register an event sink on a mailbox store, the Microsoft Exchange Information Store service does not start in Exchange Server 2003


    One of my customer had migrated from Exchange server 2000 to Exchange Server 2003, where had an event sink registered on a mailbox store. But his Store.exe (Exchange Information Store service) stops responding for one of the following events: 

    • You restart the Microsoft Exchange Information Store service.
    • Store.exe automatically starts after a restart of the Exchange Server 2003 server, along with the event logged in the application log;

    Event Type: Error
    Event Source: Application Error
    Event Category: (100)
    Event ID: 1000
    Date: Date
    Time: Time
    User: N/A
    Computer: Computer_Name
    Description: Faulting application STORE.EXE, version Version_Number, faulting module EXOLEDB.DLL, version Version_Number, fault address 0x0002145b. For more information, see Help and Support Center at http://support.microsoft.com

    • When we troubleshooting the issue, we tried manually start the store.exe, we get the following error message:  System error has Occurred. The process terminated unexpectedly.

    When we troubleshooted the issue further we found that the issue occurs if the Criteria field in the event sink has a value of Null. To work around this problem, we tried unregister the event sink and it started working, also we recommended the customer to upgrade with the latest service pack for the Exchange Server 2003.


  • Le Café Central de DeVa

    Error : Outlook blocks access to the potentially unsafe attachments ?


    Recently one of the developer sent out an email to me stating the he face 'new' issue with Outlook 2007, which blocks access to some of the mail's attachments. When they try to access the attachment they get the following error message “Outlook blocked access to the following potentially unsafe attachments: []”. He also complained that the Outlook blocks the specific attachment; he cannot save, delete, open, print, or can’t work with the attachment in Outlook. For him it’s quite annoying as he is using Outlook from version 2000 onwards (2000, 2003 & 2007), but he noticed this strange behavior in 2007 and want to know that it might be a bug or new security feature with Outlook?

    Later i checked regarding the same and responded him to refer the support KB which states methods that he can use if he have to open an attachment that is blocked in Outlook. Additionally, this article contains information about the kinds of attachments that Outlook blocks. Per KB’s excerpt, it’s bit clearly mentioned that “All versions of Outlook since Outlook 2000 Service Release 1 (SR1) include a security feature that blocks attachments that might put your computer at risk for viruses or other threats. Although Outlook blocks access to the attachment, the attachment still exists in the e-mail message…”.

    Also guided him to check whether the mail contains the actual attachment or just a shortcut to a file in Outlook(if we right-click the original file, drag the file to the Inbox folder in Outlook, and then click Send with Shortcut), which may also prompt outlook to throw this message.

    Please note: Shortcuts that have file name extensions of .lnk or .url are Level 1 e-mail attachment types and are not available to the recipient.

    Hope this helps.

  • Le Café Central de DeVa

    Exchange Server 2007 - Transport Agent


    Transport Agent - Introduction

    Exchange Server 2007 provides a class library based on the MS.NET Framework that enables you to implement transport agents that programmatically check and take action on transport events. It can be used to change and read the message contents during these events.

    Transport agents enable you to access information about messages that travel through the Edge and Hub Transport servers. They have access to e-mail messages and their contents while the messages move through the transport services.


    • An Exchange Server 2007 has Edge and Hub Transport server roles installed
    • Microsoft.Net 2.0 SDK installed
    • Microsoft Visual Studio .Net 2005 (recommended)

    Used Namespaces 

    • Microsoft.Exchange.Data.Transport            
    • Microsoft.Exchange.Data.Transport.Email    - to make use of common email elements
    • Microsoft.Exchange.Data.Transport.Smtp     - to make use of SMTP receive agent
    • Microsoft.Exchange.Data.Transport.Routing  - to make use of Routing agent

    Referencing Assemblies 

    • When we install Exchange Server 2007 in our system, Exchange Sever installer installs & registers in the global assembly cache (GAC) the assemblies that are required for the development of transport agents.
    • To begin implementing a transport agent, create a reference to the Microsoft.Exchange.Data.Transport assembly in a class library project


    Installing an Agent

    Once you compile the agent to a .dll; you must install and enable the agent on development Exchange server. At Exchange Management Shell(EMS), use the Install-TransportAgent command to install your agent, and the Enable-TransportAgent command to enable your agent.

    For example you can make use of EMS to install and enable an agent named "MyAgeOne" by using a class derived from SmtpReceiveAgentFactory named MyAgentOne.MyAgeOneFactory.

    Install-TransportAgent -Name "MyCustomAgent" -TransportAgentFactory "MyAgeOne.MyAgeOneFactory" -AssemblyPath "C:\myagents\MyAgeOne.dll"

    Enabling an Agent

    For example the agent MyCustomAgent on the server on which the agent is installed:

    Enable-TransportAgent -Name "MyCustomAgent"

  • Le Café Central de DeVa

    Tutorial : Organizational Forms Library - Series # 1


    What are the various types of Outlook form libraries available?

    There are three types of Outlook form libraries are available, they are (i) Organizational Forms Libraries (2) Personal Form Libraries (3) Folder Libraries.

    What is an Organizational Forms Library?

    • An organization's forms library is a repository for forms (templates that help users to enter and view information)  that are accessed by all users in a company.
    • In simple terms, an organizational forms library is a special type of public folder that is listed only with system folders.

    Some of the examples are, a standard supply request form can be stored in an organizational forms library or a form used to report vacation time etc.

    Why to use Organizational Forms Library?

    If we publish the forms at Organizational forms library it will used throughout the enterprise-wide. Org. forms library acts as the centralized library or repository. Saving to this library provides a quick and easy way to distribute and update forms.

    How to use the forms enterprise-wise or throughout the organization?

    • You must publish a form to this library if you want to make the form available to everyone in your organization.
    • You can publish a form to the Organizational Forms Library when you want to use the same custom form in more than one folder.
    • This library is frequently used for e-mail message forms because they are typically not based on a specific folder.
    • When you publish a form, you can maintain only a single published form.
    • Everyone in the organization can access the forms that are published to this library as long as the administrator grants the users permissions to the library.

    Where these libraries stored in Exchange?

    Exchange stores these libraries in the EFORMS REGISTRY system folder.

    Note: In Exchange Server 2003, you can only create organizational forms libraries in the system folders subtree of the Public Folders tree. Even if you have created new public folder hierarchies to work with the organizational forms libraries, only the Public Folders tree supports the EFORMS REGISTRY system folder.

    What are the permissions required to view or use this?

    Org. forms library is stored on the Microsoft Exchange Server-based computer. The administrator must give you permissions to publish to the Organizational Forms Library. This permission is typically given to only some individuals or a department that manages the Exchange server-based computer

    Note: You can't publish forms to the Organizational Forms library unless the systems administrator grants you permission.

    Multi-languages support for Organizational Forms Library?

    • Organizational Forms libraries provides supports for multi-languages.
    • When you create an organizational forms library, you assign a language to it. You can have only one organizational forms library for each language.
    • When you use the Forms Administrator to create Organizational Forms Libraries, you must consider the different languages that clients use to access those libraries.
  • Le Café Central de DeVa

    Offline Address Book - Birds eye-view


    What is an Offline Address Book?

    An offline address book is a container that stores a collection of offline address lists. Administrators configure available offline address books, and Outlook users can choose which offline address lists they want to download.

    What is an Offline address list?   

    An offline address list is a set of address lists in files that are created and stored on an offline address list server. Users who work offline can connect to an Exchange Server computer and download offline address lists to obtain information about other users in the organization. When you create an offline address book, the specified address lists are converted to a separate set of files and stored in a public folder. When users download the offline address book, this data file is used as the source of information. Outlook 2003 uses offline address book to provide offline access to directory information from global address list (GAL) and from other address lists.

    • Exchange generates new offline address book files & places them in a special public folder, known as a system folder, for Outlook to download.
    • Offline address book files are compressed before they are added to offline address book system folders so that the download to Outlook is minimal.
    • Outlook is scheduled to check periodically for new offline address book files in these system folders, and download the required files.
    • Offline address books typically contain at least one address list that represents the global address list (GAL).
    • Users who are working offline can use this global address list with Messaging Application Programming Interface (MAPI) e-mail clients.

    How it's getting created?

    • Several Exchange Server components work with Active Directory to generate and maintain offline address books.
    • After an offline address book has been created
      • either automatically by Exchange Setup
      • or manually by an administrator using Exchange System Manager
      • Exchange Server and Active Directory work together to maintain the offline address book, keeping it synchronized with changes that may be made in the directory.

    Where it will be displayed?

    • System folders can be displayed in Exchange System Manager, enabling an administrator to view the files that make up the offline address book

    What will be the size of Offline address book? 

    • Offline address book sizes can vary from a few megabytes to a few hundred megabytes. (It depends on various factors)

    Note: Address book size refers to the size of the compressed offline address book files on the Exchange Server, and not the uncompressed, expanded file size for the offline address book files on the Outlook client.

  • Le Café Central de DeVa

    My First Preview : Outlook 2010 – Calendars & Inbox


    I want to share couple of relevant information with respective Outlook 2010 CTP with respect to Calendars.

    Outlook has adopted the Ribbon in the Inbox and all throughout Outlook.

    The purpose of the Ribbon in Outlook is to help you become more efficient in getting your work done – be that processing e-mail in your Inbox (Mail Home Tab), managing your Calendar (Calendar Home Tab), or doing work in Tasks (Tasks Home Tab).

    Feature called “Quick Steps” available in Outlook. It is easy-to-use one-click buttons which perform multiple actions at once. Well, you can customize that one also – if you want to make your Outlook sophisticated with the use of this new feature.

    To more learn about this, you can refer the blog post about Introducing Quick Steps by Melissa Macbeth, Program Manager …

    Experience with Conversation. Try with the Conversations experience in Outlook 2010, its an entirely new way to take control of your Inbox.

    Certainly this will be the whole new level by allowing all of your email to look, act, and function as smart groups of related messages.

    Even if you want to slim down the conversation, you can use the same conversations drop-down feature – which helps us to hide the bulkier (even if it is) conversation thread too. If you want to read more on this, you can refer the blog post “What’s up with my Inbox in Outlook 2010 from Michael Affronti, Product Manager and learn how these features were designed to help you get through your email faster than ever before.

    • Easier way of create & manage meetings: If an e-mail conversation gets to a point where a meeting would be more useful, just click Meeting Reply to set up a meeting with the people involved in the conversation. It will copy the content of the e-mail conversation into the meeting request, to help keep you within the context of what has already been discussed, and add the recipients to the invitation.

    Also we can try easily searching the appointments using “Search Contextual Tab”.

    If you want to view the “new schedule view”, you can view multiple calendars horizontally - very effective way to help teams organize meetings. If you want to try read more on this, you can refer the blog post from Rainer Schiller, Outlook Program Manager.

    • Working with Calendar Preview: Now if we want to try something with respect to Meeting requests, we can see what’s new with this version – you can feature with “Calendar Preview”. 

    screenshot of calendar preview in reading pane

    This shows a slice of your calendar in the meeting request allowing you to read the request and check that date on your calendar at the same time – this saves your time by combining two steps – read meeting request & see if you’re available in your calendar

    screenshot of meeting series calendar preview in reading pane with labels for the buttons

    If you want to learn more, you can get detailed blog post from Tom O’Neil on this. Also i request you to try checking the Microsoft Office Outlook team Official blog site to get more update about Outlook 2010 and so on.

    Certainly these are some of my my favorite features in Outlook 2010, and I hope you like it too. I will keep you posted more on this…

  • Le Café Central de DeVa

    MIX 11: Hardware-accelerated HTML5, IE9 & Mango


    Last March 2010 @ MIX 10, we (MS) announced Hardware-Accelerated HTML5, Pushes Boundaries on Web and Cloud Development. Also MS released first platform preview for Windows Internet Explorer 9, highlights commitments to jQuery, OData, expanded support for HTML5, hardware-accelerated graphics and text, and a new JavaScript engine. Together these allow developers to use the same markup and deliver graphically and functionally rich Web applications that take advantage of modern PC hardware through a modern operating system. As part of its commitment to interoperability, MS detailed its support for a number of HTML5 specifications, including CSS3, Scalable Vector Graphics (SVG), XHTML parsing, and the video and audio tags using industry-standard (H.264/MPEG4 and MP3/AAC) codecs, among others. In addition, MS demonstrated a new JavaScript engine that uses the multiple cores of today’s modern chips to effectively manage computing resources and improve Web performance. By combining increased interoperability with a new JavaScript engine and Direct 2D technology, Internet Explorer 9 enables Web developers to provide users with richer experiences that render more quickly and consistently.

    Now @ MIX 11, MS demonstrated the value of developing for HTML5 and the standards-based Web with Internet Explorer 9 on PCs running Windows and Internet Explorer 9 on Windows Phone. With the forthcoming release of Windows Phone, coming later this year, MS is providing developers with more hardware capabilities, better browsing and improved tooling, as well as expanded opportunities and Windows Phone Marketplace options. Together, these technologies create a richer application environment that expands mobile usage scenarios.

      Qantas for Windows Phone allows users to manage travel plans including checking in and reviewing the status of an upcoming flight. Coming soon to Windows Phone Marketplace.

    The new application platform enables developers to take advantage of the following:

    • Application multitasking for background processing, audio and file transfer, and fast application switching

    • Deeper phone integration so apps can, for example, take better advantage of the versatility of Live Tiles (refer the above pic)

    • Access to the camera and Motion Sensor library so developers can build apps that incorporate device hardware and build augmented reality experiences

    Apart from this, MS provided the first deep look at the development platform for the next version of Windows Phone, arriving on new and existing handsets later this year. Developers will soon have updated Windows Phone Developer Tools. Improved tools include a performance profiler and sensor simulation, enabling developers to build more integrated and high-performing applications. Using this, the developers (we) will be able to take advantage of these new capabilities to create even more creative and engaging Windows Phone apps and games.

    Way to go!!

  • Le Café Central de DeVa

    Interesting read: Microsoft offerings, OpenSSL & Heartbleed vulnerability


    In recent headlines, the Heartbleed vulnerability in OpenSSL has received a significant amount of attention. While the discovered issue is specific to OpenSSL, many customers are wondering whether this affects Microsoft’s offerings or not. To answer that, I found a similar query posted at Microsoft forum the update – here is the forum post and answer. In addition, you can refer post at Windows Azure blog - http://blogs.msdn.com/b/windowsazure/archive/2014/04/09/information-on-microsoft-azure-and-heartbleed.aspx!!

    Happy reading!!

  • Le Café Central de DeVa

    Exchange Server 2007 : Do you know what is Calendar Concierge?


    Exchange Server 2007 Microsoft Exchange Server 2007 seamlessly improves the reliability of calendaring by introducing the "Calendar Concierge", a suite of new calendar improvements.


    This suite includes,

    • Scheduling Assistant:

    It allows you to schedule meetings faster through an intuitive color-coded interface. Simply, the Scheduling Assistant makes scheduling a meeting a breeze!

    • Calendar Attendant:

    It helps ensure the reliability of calendar items. In addition to making scheduling more efficient, Exchange Server 2007 makes the calendar more reliable with the new Calendar Attendant.

    • Resource Booking Attendant:

    The calendar improvements in Exchange Server 2007 affect not only individual schedules but also the scheduling of resources, such as rooms, projectors, and televisions. It automates resource management, such as conference rooms, projectors, and televisions.

    Together, the elements of the Calendar Concierge the Scheduling Assistant, Calendar Attendant, and Resource Booking Attendant make scheduling a meeting easier and more reliable than ever before.

  • Le Café Central de DeVa

    Exchange throttling: MAPI application fails with error “The information store could not be opened. [MAPI 1.0 - [MAPI_E_LOGON_FAILED(80040111)]]”


    We recently resolved a case where a customer tries accessing Exchange Server 2010 mailboxes (DAG) via their custom Exchange MAPICDO based application. On average 2-3 days once, they're frequently facing an error “The information store could not be opened. [MAPI 1.0 - [MAPI_E_LOGON_FAILED(80040111)]]” while attempting to connect to Exchange server 2010. After some days of normal working, Exchange server starts to refusing their connector to open the users' mailboxes. Whenever they notice this error, the application just fails and they need to restart the app to make it work.

    During debugging, we haven’t noticed any issues logged Exchange Server’s event viewer and MPS also looked fine. We took memory dump and analyzed RCA logs, which pointed client throttling policy.

    Earlier, Steve had blogged an excellent article on this. So first we need to understand more about Exchange Client throttling, a feature which got introduced in Exchange Server 2007. Exchange server 2007/2010 allows many clients to connect via Outlook, MAPI, ActiveSync, Outlook Anywhere, OWA ,IMAP  or  POP3, to their Mailboxes through the (CAS) Client Access Server role. Throttling policies are used to restrict clients in the Exchange Server resources they can use. The purpose of these restrictions is to make sure a client can’t bring down an Exchange Server or disrupt services for other clients, intentionally or unintentionally, by exhausting resources. Thus, throttling will also help in lowering the impact of denial-of-service attacks. Because the limit is enforced on clients, and clients can connect to their mailbox simultaneously using different components, throttling policies are applied to mailboxes.

    Note: By default the mailbox attribute ThrottlingPolicy is not set, meaning the default throttling policy will be used (refer the below pic):

    Default Throttling Policy

    Once the ThrottlingPolicy is set, it will be shown like the below:

    Modified Throttling Policy

    You have to use the exchange shell to manage throttling policies with the New-ThrottlingPolicy, Get-ThrottlingPolicy, Set-ThrottlingPolicy & Remove-ThrottlingPolicy cmdlets. We pointed them to fix it by creating/modifying client throttling policy – it helped them to move ahead.

  • Le Café Central de DeVa

    Developers Must: Download MSDN Samples library browser


    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.

    Sample Browser for Windows 8/RT device  Sample Browser for Traditional Desktop

    Adding few screenshots for your view:

    Sample Browser for Windows 8  Sample Browser for Windows 8

      Sample Browser for Windows 8  Sample Browser

  • Le Café Central de DeVa

    Outlook Object Model : Creating simple tasks programmatically using OOM & VBA?


    In this post, we will create the simple Outlook tasks programmatically using Outlook Object Model API & VBA. We do this by using the code snippet:

    '[Code Snippet for creating Simple Tasks using Outlook Object Model API & VBA]
    Private Sub CreateTasks()
        'Declare the Task item
        Dim objTask As TaskItem
        ' Create Outlook Task item
        Set objTask = Application.CreateItem(olTaskItem)
        'Define its values
        objTask.Subject = "Test Item"
        objTask.Body = "Test task item"
        objTask.Importance = olImportanceNormal
        objTask.Status = olTaskNotStarted
        objTask.NoAging = True
        'Save the task
        MsgBox "Task Created"
        ' Clean up.
        Set objTask = Nothing
    End Sub
  • Le Café Central de DeVa

    "MAPI_E_FAILONEPROVIDER" when you try to connect to a mailbox on an Exchange 2010 from an Exchange 2003 server


    Recently one of my customer updated that when he tried connecting to a mailbox that is located on a  Exchange Server 2010 from Exchange Server 2003 by using a custom MAPI/C++ application. But it failed and it thrown the following error message: “MAPI_E_FAILONEPROVIDER”.

    As part of troubleshooting the issue, we tried using MFC MAPI utility and can reproduce the issue. During troubleshooting, we found that this issue occurs because the MAPI subsystem on an Exchange Server 2003 server is not designed to be used on an Exchange Server 2010 server.

    To resolve this issue, we recommended to use the following Exchange MAPI subsystem on an Exchange Server 2010 server/on a Exchange Server 2007 server.

    Please note that the Exchange MAPI client and Collaboration Data Objects (CDO) 1.2.1 can be installed only on Exchange 2007 and Exchange 2010 servers. Additionally, it includes the MAPI client libraries and supports CDO 1.2.1. However, you cannot install this download on an Exchange 2003 server.


    1) You can download the MAPI Sub system @ Microsoft Exchange Server MAPI client and Collaboration Data Objects 1.2.1

    2) You can download the MFC MAPI Utility @ http://mfcmapi.codeplex.com/

  • Le Café Central de DeVa

    Download: .Net Universe 2013 Poster


    You can download the .Net Universe 2013 poster. This Poster showing the main .NET SDKs, libraries and packages classified by application type and package type (NuGet, official support, etc.).
    .Net Universe 2013 Poster
    This poster shows how the trends are changing in .NET as we´re moving from a single large .NET Framework to a more loosely coupled and autonomous libraries and sub-frameworks, many of them even published as NuGet packages and evolving continuously. The number of those libs and packages is evolving and growing, so having a visual photo of it can be helpful. The main idea of the poster is to show that you can create any kind of application with .NET, from the largest applications to the smaller apps: in the cloud, on the web, on desktops, tablets, phones, and in embedded environments (even watches!). Any of those application types is shown as category/bucket in the poster and within each bucket we´re tossing the main libraries/SDKs/packages out. Then we´re also showing cross-cutting concerns buckets like Security, Data Access, and .NET Extension libs. The main categories are the following: - Emerging application patterns (Mobile, Web & Cloud) - Established application patterns (Desktop and Embedded) - Cross-Cutting concerns Finally, the poster is putting a check/mark on every lib/SDK bullet depending if they are or not complaint with the following: - NuGet package - Open Source - Microsoft Official Supported You can print it out or use it as in electronic format (.PDF). Using the electronic format (.PDF) allows you to access each content URL/page related.

  • Le Café Central de DeVa

    How to : Configuring EWS Impersonation for Exchange 2010


    Please find the articles how you can configure EWS impersonation for the Exchange 2010:

    Hope this helps!!!

  • Le Café Central de DeVa

    Best Practices : How to quit Outlook application after automation from Visual Studio .NET client?


    When you automate a Microsoft Outlook application from Microsoft Visual Basic .NET or Microsoft Visual C# .NET, the Outlook application does not quit when you call the Quit method. You can notice the application is closed, but still if we notice either the application or Outlook is running in behind the scenes. To make sure that the Office application quits, make sure that your automation code meets the following criteria:    

    • Use System.Runtime.InteropServices.Marshal.ReleaseComObject when you have finished using an object. This decrements the reference count of the RCW.
    • To release the reference to the variable, set the variable equal to Nothing or Null.
    • Use the Quit method of the Office application object to tell the server to shut down.
    • You can try this C#.Net code snippet:

      //If you are using Visual C# .NET, reference the code for the ReleaseObj() function:
      private void ReleaseObj(object obj)
          catch {}
              obj = null;

      In this scenario, you can use the GC.Collect() method and the GC.WaitForPendingFinalizers() method after you release the last object. Because the runtime performs garbage collection on the RCW, the GC.Collect() method forces the garbage collector to run and might release any references that the RCW still has. The GC.Collect() method tries to reclaim the maximum memory that is available.

      Note: That this does not guarantee that all memory will be reclaimed.

      For more reference and detailed information, read blog post series by Matt.

      mstehle- The CDOs and CDONTS of Messaging Development - OOM.NET- Part # 1
      mstehle- The CDOs and CDONTS of Messaging Development - OOM.NET- Part # 2
      mstehle- The CDOs and CDONTS of Messaging Development - OOM.NET

  • Le Café Central de DeVa

    Outlook Performance Series : How to troubleshoot performance issues in Outlook 2007 with .pst or .ost files?


    Welcome to troubleshooting performance issues in MS Outlook Series - Part 2

    Do you face any one of the following issue, when you work with MS Outlook 2007?

    When you try to,

    • read e-mail emessages ?
    • move e-mail messages?
    • delete e-mail messages?

    Do you face Microsoft Office Outlook 2007 momentarily stops responding?

    Do you know, these symptoms are most noticeable during mail delivery or during synchronization. These symptoms become more pronounced as store size increases. They are more likely to occur when the size of the .pst file or the size of the .ost file approaches 2 gigabytes (GB). Additionally, they are more pronounced in a very large .pst file or in a very large .ost file that is 4 GB or larger. 

    For more information, please find this wonderful article, which talks about how to troubleshoot the performance issues in Outlook 2007 and with respect to larger .pst or .ost files. 

  • Le Café Central de DeVa

    Outlook Errors : Send and receive e-mail errors - Part # 1


    Outlook Send and receive e-mail errors:

    When you try to send and receive e-mail, you may receive an error message that is similar to one of the following:

    No connection could be made because the target machine actively refused it.

    The server could not be found. (Account:account name, POPserver:'mail', Error Number: 0x800ccc0d)

    Task 'server name - Sending and Receiving' reported error (0x800ccc0f): 'The connection to the server was interrupted. If this problem continues, contact the server administrator or Internet service provider (ISP). The server responded: ? K'

    Your server has unexpectedly terminated the connection. Possible causes of this include server problems, network problems, or a long period of inactivity. Account. account name, Server: 'server name', Protocol: POP3, Server Response: '+OK', Port: 110, Secure(SSL): No, Error Number: 0x800ccc0f

    Task 'SMTP server name - Sending and Receiving' reported error (0x80042109): 'Outlook is unable to connect to your outgoing (SMTP) e-mail server. If you continue to receive this message, contact the server administrator or Internet service provider (ISP).'

    The operation timed out waiting for a response from the receiving (POP) server 0x8004210a

    A time-out occurred while communicating with the server 0x800ccc19

    You may also receive an error message that includes one or more of the following error codes:


    • 0x80042108

    • 0x800ccc0e

    • 0x8004210b

    • 0x800ccc0b

    • 0x800ccc79

    • 0x800ccc67

    • 0x80040900

    • 0x800ccc81

    These error messages may occur if Microsoft Outlook or if Microsoft Outlook Express cannot establish a connection with your e-mail server. These error messages are frequently caused by one of the following:

    • You are not connected to the Internet or a network

    • Incorrect account settings

    • Your user profile in Outlook is damaged

    • An e-mail item on your POP3 server is damaged

    • Incorrect configuration of your AV software

    • Outlook Express has been removed from the computer or the installation is damaged

    • Incorrect configuration of personal firewall software

    The most common causes of these error messages are problems with Internet connectivity and incorrectly configured account settings in Outlook or Outlook Express.

    Please find the following article which talks about the following possible resolution methods available for the various Outlook or Outlook Express and its versions.

  • Le Café Central de DeVa

    Tutorial : Using Internet Free/Busy (IFB) information – Series # 3


    With continuation from the previous free/busy article 1 & 2, now we will see how to view other people’s free/busy information on the internet; also how to set the free/busy search path for a specific contact using Internet Free/Busy (IFB) feature & ical.

    How to view other people's free/busy information on the Internet?

    You can view the free/busy information for any one of your contacts that publish this data on the Internet. If all your contacts store this information on the same free/busy server, you can set the search path for this information globally for all contacts. Or, if the location of this information varies by contact, you can set the search path specifically for each contact. Use one of the following methods to view other people's free/busy information on the Internet.

    How to set the global free/busy search path for all contacts?
    1. On the Tools menu, click Options.
    2. On the Preferences tab, click Calendar Options.
    3. Click Free/Busy Options.
    4. In the Search location box, type the URL from which you want to view other people's free/busy information.
    5. Click OK three times to close all dialog boxes.

    How to set the free/busy search path for a specific contact?
    1. In the navigation pane, click Contacts, and then double-click an entry to open a contact.
    2. Click the Details tab.
    3. Under the text that reads Internet Free-Busy, type the fully qualified path of the location that you want to search for this Contact's free/busy information in the Address box.
    4. You can use any valid URL format, such as: http://..., file://\\..., or ftp://....
    5. The following is an example of a valid format: ftp://Contactserver/Freebusy/Contactname.vfb
      Internet free/busy information appears on the Scheduling tab of appointments and meetings.
    Related articles:
    For a Microsoft Outlook 2003 & 2007 version of this article, see 827775  (http://support.microsoft.com/kb/827775/ ) .
    For a Microsoft Outlook 2002 version of this article, see 291621  (http://support.microsoft.com/kb/291621/ ) .
    For a Microsoft Outlook 2000 version of this article, see 196484  (http://support.microsoft.com/kb/196484/ ) .
  • Le Café Central de DeVa

    Migration: Exchange Public folders and its future


    Public Folders are used in earlier versions of Microsoft Exchange Server to store free/busy data and files. From Microsoft Exchange Server 2007, free/busy data is no longer stored in public folders. It’s recommend that you do not store files in public folders in Exchange 2007. Instead, consider using Microsoft Office SharePoint, or Windows SharePoint Services. Public folders are included and supported in Exchange 2007 and 2010. However, future releases of Microsoft Exchange might not include public folders. You can visit http://blogs.technet.com/b/exchange/archive/2006/02/20/419994.aspx. Also, you can refer MS Exchange team blog have posted the updated public folder guidance for versions of Exchange past Exchange 2007.

    So, what are my options?

    If you're building something new, you should look at the requirements and building on the SharePoint Technologies platform:

    + Starting with Exchange 2007, we recommend that applications use the Availability service to provide free/busy data for Exchange mailbox users. Windows SharePoint Services replaces the file sharing functionality that public folders provide. You must redesign applications that use public folders to use Exchange Web Services.
    + Also consider redesigning custom applications as early as possible as future versions of Microsoft Exchange may not contain public folders.
    + In addition to that you can refer the wonderful blogpost by Joel.

  • Le Café Central de DeVa

    Outlook Object Model : Why i can’t able to assign value for MAPIFolder.WebViewURL ?


    One of my customer had created an Outlook Add-in using VSTO & Outlook Object Model (OOM). As per the business logic, he need to implement the WebViewURL in it. The MAPIFolder.WebViewURL works fine and take’s us to set value to it most of the times, but it doesn’t function as expected in some time; the strange thing is it’s not throwing any error or exception when we execute the code.

    //[Code Snippet : C# , VSTO, Outlook Object Model (OOM)]
    //Provide the non-default store path
    String pstPath = @"providelocalpath like c:\personals.pst";
    MAPIFolder _pstFolder;
    //Add the PST
    this.Application.Session.AddStoreEx(pstPath, OlStoreType.olStoreDefault);
    _pstFolder = this.Application.Session.Folders[2];
    //Provide PSTFolder Name
    _pstFolder.Name = "SampleFolder";
    //Set the values
    MAPIFolder mf = _pstFolder.Folders.Add("MyHtmlView", Type.Missing);
    //Assign value for MAPIFolder.WebViewURL
    mf.WebViewURL = "http://www.microsoft.com";
    mf.WebViewOn = true;

    MAPIFolder.WebViewURL Property (Microsoft.Office.Interop.Outlook) Returns or sets a String (string in C#) indicating the URL of the Web page that is assigned to a folder. Read/write.

    When we start troubleshooting the case, we found that the issue happens for the non-default stores.

    During research we found couple of community blog post references, Randy & Ryan’s MS Press book that with respect to Microsoft Office Outlook 2007, the home page setting is disabled for non-default stores. Non-default stores can include Personal Folders files (.pst) or the Microsoft Windows SharePoint Services folders. These folders are also stored in a .pst file. To see the home page setting for a non-default store, right-click the store in the Navigation Pane, click Properties, and then click the Home Page tab.

    By default, you cannot type or paste a URL in the Address box. This issue occurs because, by default, home pages are disabled for non-default stores. To overcome this issue, we don’t have any programmatic resolution; but we can implement the resolution by refer the following support KB.

  • Le Café Central de DeVa

    How to create recurring tasks using Exchange Web Services for Exchange 2007/2010?

    Earlier i got a chance to play around creating recurring tasks. I followed the article from MSDN and it worked like charm for me.

    public TaskType CreateRecurringTask()
        // Create the task item and set property values.
        TaskType task = new TaskType();
        task.Subject = "Recurring Task";
        task.Body = new BodyType();
        task.Body.BodyType1 = BodyTypeType.Text;
        task.Body.Value = "Occurs every week";
        task.StartDate = DateTime.Now;
        task.StartDateSpecified = true;
        // Create the regeneration pattern.
        WeeklyRegeneratingPatternType regenerationPattern = new WeeklyRegeneratingPatternType();
        regenerationPattern.Interval = 1;
        // Define the recurrence pattern.
        NoEndRecurrenceRangeType recurrenceRange = new NoEndRecurrenceRangeType();
        recurrenceRange.StartDate = task.StartDate;
        // Set the regeneration and recurrence patterns.
        TaskRecurrenceType recurrence = new TaskRecurrenceType();
        recurrence.Item = regenerationPattern;
        recurrence.Item1 = recurrenceRange;
        task.Recurrence = recurrence;
        // Create the request to make a new task item.
        CreateItemType createItemRequest = new CreateItemType();
        createItemRequest.Items = new NonEmptyArrayOfAllItemsType();
        createItemRequest.Items.Items = new ItemType[1];
        createItemRequest.Items.Items[0] = task;
        // Send the request and receive the response.
        CreateItemResponseType createItemResponse = this.Service.CreateItem(createItemRequest);
        // Access a response message.
        ItemInfoResponseMessageType responseMessage = createItemResponse.ResponseMessages.Items[0] as ItemInfoResponseMessageType;
        // Return the new task item.
        return responseMessage.Items.Items[0] as TaskType;
    public ExchangeServiceBinding Service
            if (this.service == null)
                this.service = new ExchangeServiceBinding();
                this.service.Credentials = new NetworkCredential(
                this.service.Url = this.Url; 
                // Set the request version.
                this.service.RequestServerVersionValue = new RequestServerVersion();
                this.service.RequestServerVersionValue.Version = ExchangeVersionType.Exchange2007_SP1;
                // Specify the time zone for the DateTime properties of tasks.
                TimeZoneDefinitionType tzdt = new TimeZoneDefinitionType();
                tzdt.Id = "Eastern Standard Time";
                TimeZoneContextType tzct = new TimeZoneContextType();
                tzct.TimeZoneDefinition = tzdt;
                this.service.TimeZoneContext = tzct;
            return this.service;
  • Page 5 of 27 (654 items) «34567»