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!!
One of my customer reported that they created a ATL Project/MFC CDHtmlDialog based C++ application and they notice the following errors in afxdhtml.h (they created it using VS 2003).
afxdhtml.h(272) : error C2238: unexpected token(s) preceding ';' afxdhtml.h(289) : error C2061: syntax error : identifier '_ATL_FUNC_INFO' afxdhtml.h(290) : error C2061: syntax error : identifier '_ATL_FUNC_INFO'
I tried the code piece at my end locally and tested with latest visual studio – I failed to see the issue and it just works for me. Later I done further research on this and found the following:
The #include <afxdhtml.h> directive is placed in the stdafx.h pre-compiled header file before the "using namespace ATL;" directive, and the #define _ATL_NO_AUTOMATIC_NAMESPACE was given previously. Thus, the symbols in the header file which belong to the ATL namespace are not properly resolved. When adding a class from the MFC dialog class wizard, you are given the choice of several dialog base classes, most of which do not require the ATL namespace "using" directive. Thus, the wizard script in default.htm doesn’t make any attempt to ensure that the header file corresponding to the class name come after a using directive.
In Visual Studio 2005 and later versions, the problem doesn’t occur because all references to CComPtr are now prefixed with ::ATL::, alleviating the need to either direct “using namespace ATL;” or to define the macro to eliminate the automatic use of the ATL namespace. So I recommended them to try one of the following to move ahead: • Remove the #define _ATL_NO_AUTOMATIC_NAMESPACE directive from the stdafx.h header, or • Move the using namespace ATL; directive before the #include <afxdhtml.h> • Upgrade to Visual Studio 2005 and above. Also make sure they're fully patched with latest service pack/fixes.
Here is a developer article published “how to build/write an Exchange Server 2013 based transport agent?” in a detailed fashion about a sample transport Agent to illustrate various Exchange 2013 transport agent functionality as well as stripping all the hyperlinks from the message body. The article also talks starting from what’s a transport agent, changes to Exchange Server 2013 environment – transport agent management, setting up the environment etc . They too published the code base here. You can try this out and make use of the same. Enjoy!!
You can join this Jump Start session provided by Microsoft Virtual Academy – it’s tailored for experienced application developers interested in leveraging ASP.NET and Visual Studio 2012 to offer modern apps that target modern browsers. Two of Microsoft’s most seasoned ASP.NET speakers, Scott Hanselman and Jon Galloway, will provide an accelerated introduction to building modern web applications with ASP.NET 4.5 and ASP.NET MVC 4. In this course, they will target key scenarios like building mobile ready websites, social web applications as well as modern HTML5 browser features.
• New and advanced features in ASP.NET Web Forms • ASP.NET MVC 4 and ASP.NET Web API • jQuery • SignalR • Entity Framework • Visual Studio 2012 • Internet Explorer 10 and HTML5 • Building apps for Office with HTML5 • Windows Azure Web Sites for ASP.NET developers
February 19, 2013 8:00am-5:00pm PST
Register: In order to participate you need to register first. Where : Live online What : Engaging, demo virtual class Cost : Free Target Audience: Intended for developers who have at least six months of professional experience.
Hope this helps.
Recently one of my customer reported that Outlook is not showing latest free/busy information for selected users. Initially they tried the following steps for the affected users: Exit Outlook Open Command prompt > Open Outlook with cleanfreebusy switch (outlook.exe /cleanfreebusy) It failed to resolve the issue. During troubleshooting we noticed that these issue may occur because a mailbox property does not correctly reference a hidden message in the mailbox, which is related to free/busy publishing. We tried the below steps for the affected user to re-generate free/busy information: Exit Outlook. Make sure that the profile is in online mode. You can change this or create new one using Mail item in Control Panel. Download latest MFC MAPI editor (http://mfcmapi.codeplex.com) Start the MFCMAPI.exe > click OK. On the Session menu, click Logon. In the Profile Name list, select the profile for the mailbox, and then click OK. Double-click the Mailbox Store. In the navigation pane, click Root Container. In the details pane, right-click PR_FREEBUSY_ENTRYIDS, click Delete Property, and then click OK. In the navigation pane, expand Root Container, expand Top of Information Store, and then click Inbox. In the details pane, right-click PR_FREEBUSY_ENTRYIDS, click Delete Property, and then click OK. In the Information Store: Inbox dialog box, click Exit on the File menu. Exit MFC MAPI. Finally at Windows, you should click Start, click Run, type outlook.exe /cleanfreebusy, and then press ENTER – this will regenerate the free/busy information for that specific user mailbox. Hope this helps.
Exchange Online Sign up now for a 30-day free trial of Office 365, which includes Exchange Online. Try Now
You can also try the new Exchange Online with Office 365 Enterprise Preview. Try now | Learn more
Exchange Server 2013 Try a free 180-day evaluation of Exchange Server 2013.
There are a range of licensing options for Exchange Server. Learn more Office Professional Plus 2013 Download Now
Now you can download the 101 Exchange Web Service samples to download them all, or select the samples that you want and download them individually. This pack includes 101 code samples that show you how to develop Exchange 2013 solutions. The code samples in the Exchange 2013: 101 code samples package show you how to use the Exchange Web Services (EWS) Managed API to send email messages, search mail folders, get contact information, check user availability, and more.
These samples require the following:
Note: These samples assume that the assembly is in the default download directory. You will need to verify the path before you run the solution for an individual sample.
Each sample will typically contain the following files:
Follow these steps to configure the Exchange 2013: 101 code samples.
You need to press F5 to build and deploy the samples.
You need to press F5 to run the samples. Note: The above samples applies to the following exchange version/technologies: Exchange Server 2007 SP1, Exchange Server 2010, Exchange Server 2013 and EWS Managed API
Recent study released by Microsoft and the International Data Corporation (IDC) shows that millions of cloud-related IT jobs are sitting open and millions more will open up in the next two years due to a shortage in cloud-certified IT workers. The information technology forecast for the next two years calls for increasing cloudiness – cloud computing job opportunities, that is.
Type of Change
Reason for Change
Outlook Meeting Workspaces
The Meeting workspaces feature is removed from Outlook. The entry point commands to create Meeting Workspaces is removed from both the Quick Access Toolbar and the Ribbon.
The feature was not widely used.
Allows for a simpler Ribbon experience.
For the feature description, see Use Meeting Workspaces to organize meetings
Outlook Exchange Classic offline
Offline mode is being removed from Outlook.
Offline mode is a legacy data access method for online mode connections to Exchange Server.
Remove /Cleanfreebusy switch and code
Users can no longer start Outlook by using the /cleanfreebusy switch. If they try this, they will receive the following message: "Cannot start Microsoft Outlook. The command line argument is not valid. Verify the switch you are using."
Because of the removal of the Public Folder Free/Busy feature, this switch is no longer needed.
Command Bars object model (OM)
The Command Bars OM is being changed so that built-in Command Bar objects cannot be accessed through programming.
Command bars are not used in Outlook 2013. Therefore, add-ins that use the Command Bars OM are not required.
Use the IRibbonExtensibility interface in an Outlook 2013 add-in instead of command bars. You can’t customize Inspector ribbons by using VBScript code behind forms.
Updating Earlier Code for CommandBars
For more information about how to use IRibbonExtensibility to customize the Outlook 2013 user interface programmatically, see Extending the User Interface in Outlook 2010.
Outlook Direct Booking
Direct booking of resources in the calendar no longer exists.
This functionality is outdated and is superseded by the Exchange Availability service and free/busy for resources.
More reliable service.
Mailboxes that are currently configured to use Outlook direct booking should be migrated to Exchange 2007 or Exchange Server 2010 resource mailboxes.
Exchange 2007 and Exchange Server 2010 resource mailboxes provide a better range of features. These mailboxes also provide server-side administration by using the Exchange Management Shell or the Exchange Management Console to simplify resource mailbox management.
Import/Export to Applications
Removing specific file-format support from the Import/Export wizard in Outlook
The ability to import/export Outlook data to legacy file formats.
The following legacy formats were removed from the Import/Export Wizard: Internet Mail Account Settings, Internet Mail and Addresses, Comma Separated Values (DOS), Access 97-2003, Excel 97-2003, Tab Separated Values (DOS), Tab Separated Values (Windows), ACT!, Contact Manager, Lotus Organizer, Outlook Express/Windows Mail, Personal Address Book.
Import/Export to the PST and CSV formats is still a supported option.
Export Outlook items to an Outlook Data File (.pst)
Journal Module and Journaling
The Journal Module is being removed as a top-level module, and auto-journaling is also being removed.
Replacement is unnecessary.
Outlook Links Collection
Links Collection object model is removed.
Functionality is removed in the UI.
Notes and Journal customization
Notes are now only yellow and medium size.
Keeping the Notes module simple.
Simplifying how Notes are used.
Legacy Contact Linking
The capability to link arbitrary Outlook items to Outlook contacts. This contact linking existed only for displaying information in the Activities tab of the contact, which is a feature that is also removed for Outlook 2013.
Contact linking is replaced by the Outlook Social Connector and the New Person Card.
Outlook Activities tab
The Activities tab on contact forms is not available for Outlook 2013. The Activities tab used to aggregate all Outlook items (e-mail, meetings, tasks, and so on) associated with a contact.
The Activities tab is replaced by the Outlook Social Connector and displays in the People pane.
Outlook Mobile Service (OMS)
Support for the Outlook Mobile Service protocol, which is used for sending and receiving text messages from Outlook, is being removed.
Feature has low usage.
No user benefit.
Suggested Contacts was used to automatically keep track of everyone the user sends a message to, but who isn’t in Outlook contacts.
In a clean Outlook 2013 installation, Suggested Contacts is no longer available, the folder never is created, and no suggested contact items are created. In an upgrade to Outlook 2013, this folder is visible, and participates in linking, aggregation and search. However, no new suggested contact items are added to the folder. The folder displays in an upgrade scenario. However, it can now be deleted.
Outlook Pubcal: Calendar Publishing
Removing the ability to publish one's calendar to Office.com.
Users in Exchange Server environments can use Exchange Calendar Publishing.
Non-Exchange users can use a service such as Hotmail to share calendars.
Enable Internet Calendar Publishing
How to keep your family in sync with Hotmail Calendar
Outlook/Exchange Deliver to PST
Removing the ability for users to have Exchange accounts delivering into PST files.
Removing application level dial-up options and VPN options.
Available as part of the operating system.
Follow operating system instructions for configuring VPN or dial-up networking connections,
For Windows Vista and Windows 7, see Set up an incoming VPN or dial-up connection.
For Windows 8, see Configure a Dial-Up Networking Connection Item.
Public Folder Free/Busy
Public Folder Free/Busy feature is replaced.
Replaced by the Exchange availability service
Free/Busy functionality is more reliable
Free busy information can be obtained through the Exchange Availability service
Understanding the Availability Service
A new functionality is implemented.
A new feature known as Pinned Peeks is implemented to achieve similar functionality.
Pinned Peeks feature
User Datagram Protocol (UDP)
UDP is removed. In earlier versions of Outlook the feature was used for new mail alert results and for folder updates.
The UDP functionality that was provided by UDP is replaced with an asynchronous notification method.
Preview unread messages
The Auto Preview feature to preview unread items is removed. It remains possible to configure Message Preview for one, two, and three lines.
Outlook categories quick click
Categories quick click from the message list is removed. Categories are displayed when they are applied in Office 2013 by right-clicking or using Ribbon buttons.
Low usage. This feature was used by around 1% of users.
Apply categories by choosing from the short-cut menus (right clicking) or by choosing Ribbon buttons.
Outlook Search through Windows Shell
Office and Windows
In Office 2013, Outlook items do not display in Windows Shell searches (for example, searches from the Start Menu or by using Win+F). Perform Office searches within Office 2013.
Search Office items within the Office application.
When Outlook 2007 or Outlook 2010 is running and installed side-by-side with Outlook 2013, Outlook shows the following message when you click Send To > Mail Recipient in Windows Explorer or click File > Send As Attachment in another program: This action is not supported while an older version of Outlook is running
In order to move ahead, you can try the following workaround: First, close the earlier version of Outlook, and repeat your steps. Or create a new email message in Outlook and click Insert > Attach File to attach the file. Viola, it just works!!
Are you an MAPI developer? Then, this article is targetted for you. The API elements (like, IXPLogon::RegisterOptions, OPTIONDATA, OPTIONCALLBACK, IMAPISession::MessageOptions, IMAPISession::QueryDefaultMessageOpt, IAddrBook::RecipOptions, IAddrBook::QueryDefaultRecipOpt) are deprecated in Microsoft Outlook 2013. They are no longer supported and you should not use them in new projects. These API elements are deprecated in this release because of obsolete message and recipient options. For more information, you can refer the related article.
In addition to previous article, I would suggest you to have a look at the related articles for reference/samples etc:
By using Visual Basic for Applications (VBA), a simple but powerful programming language that you can use to extend Office 2010 applications with new capabilities and automate repeated tasks. I remember VBA is used for a long time in Microsoft Office based applications. I thought to combine the list the related articles that are pretty much helpful for you to move ahead:
Microsoft Office Developer Center
Writing VBA code for Microsoft Outlook
VBOffice Outlook VBA Samples
Using Visual Basic for Applications in Outlook
Using Outlook Visual Basic for Applications to Respond to Outlook Events
How-To-Outlook: Signing Your Own Macros with SelfCert.exe
2007 Office System Reference Library on MSDN
Getting Started with Office Development
Microsoft Office Interactive Developer Map
Webcast: Using VBA Every Day Is Easier Than You Think
Webcast: Breaking into Your Open XML Format Documents
Managing Macros with the Visual Basic Editor
Microsoft Most Valuable Professional (MVPs) Site
Getting Started with VBA in Outlook 2010
Watch the Video: Using VBA to Control Built-In Commands in the 2007 Office System
One of my developer customer updated that he created an EWS Managed API based application which is getting crashed when they call the GetStreamingEvents operation to request notifications from a server that is running Exchange Server 2010; also the Client Access server (CAS) role installed. In general, the GetStreamingEvents response returns an array of items and events that have occurred in a mailbox since the last the notification. During investigation, we noticed that the EWS managed API sends back a compressed stream to the EWS application when the request of the GetStreamingEvents operation times out. As the EWS application cannot handle the compressed stream and crashes when it tries to parse the stream. In order to resolve the issue, make sure you have Exchange Server 2010 Service Pack 2 Rollup 2 installed & refer Knowledgebase article 2661854. It’s documented in http://support.microsoft.com/kb/2681464.
An EWS application that runs on behalf of a user quickly consumes resources on the Microsoft Exchange server 2010. When we investigated, we noticed that the EWS operations the application performs exceed the limit that is set in the client throttling policies. As we know that the client throttling policies for Exchange Web Service are enabled in a Microsoft Exchange Server 2010 environment – all client throttling policies are enabled in Microsoft Exchange Server 2010 Service Pack 1 (SP1) or in Microsoft Exchange Server 2010 Service Pack 2 (SP2), by default. In this scenario, all the EWS applications that run on behalf of the user are throttled unexpectedly. The expected behavior is that only the EWS application whose operations exceed the limit that is set in the client throttling policies is restricted.
This issue occurs because all the EWS applications that run on behalf of the user consume the same client throttling policy budget. To resolve the problem, first make sure you installed the latest service pack & rollup for Exchange Server 2010 or install the Update Rollup 4 for Exchange Server 2010 Service Pack 2. You can refer: http://support.microsoft.com/kb/2706690
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):
Once the ThrottlingPolicy is set, it will be shown like the below:
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.
This is one common question from our customers - whether they can programmatically download an Offline address book through the Outlook Object Model or not. The answer is “No”. Offline address book downloads are not exposed through the Outlook object model.
Hi Windows Phone users, Recently I got the latest Windows phone update for my HTC Phone (OS Version 7.10.8112.7)…
This software update includes the following:
So, connect your phone via Zune to update it
You can download free or paid or trial versions of Developer tools and macros for Office versions 2003, 2007 and 2010 at Marketplace….It’s available for the products like Outlook, Word, PowerPoint, Excel, Publisher, SharePoint and Access.
You can refer detailed info available @ windowsteam blog: http://windowsteamblog.com/windows_phone/b/windowsphone/archive/2012/06/20/announcing-windows-phone-8.aspx
Want to know more about future of Windows Phone? You can watch the session via Microsoft’s Channel 9 is streaming @ Click here
Now, you can download the latest Exchange Web Services (EWS) Managed API 1.2.1 (version 14.03.0067.001) @ two flavors – 64-bit, 32-bit. It provides a managed interface for developing client applications that use Exchange Web Services.
The latest EWS Managed API 1.2.1 includes new Exchange Web Services (EWS) client logging features for Exchange Online as part of Office 365, as well as some minor bug fixes. It introduces an important change for client applications that target Microsoft Office 365. This change includes the following two new properties on the ExchangeService object:
ExchangeService.ReturnClientRequestId – Indicates whether the x-ms-client-request-id header is sent. This is set to true by default.
ExchangeService.SendClientLatencies – Indicates whether the client will send client latency information to Exchange Online. This is set to true by default.
Now you can download and try the next release of Windows Server, Windows Server 2012, will offer businesses and hosting providers a scalable, dynamic, and multitenant-aware, cloud-optimized infrastructure. It securely connects across premises and helps IT Professionals to respond to business needs faster and more efficiently.
+ Download the 64-bit ISO: GET STARTED NOW
+ Download the VHD: GET STARTED NOW
+ Register: Register to access technical product resources—forums, solution accelerators, white papers and webcasts—at the Windows Server 2012 RC Resource Page.
In this session, Matt discusses about Exchange Web Services affinity and throttling…