Microsoft has launched Visual Studio 2012 and .Net 4.5, a new solution for developers that will enable them to build modern applications "that span connected devices and continuous services, from the client to the cloud," S. Somasegar, corporate vice president of Developer Division, writes on his blog this morning.
If you’re a developer and you want to know more about Visual Studio 2012 and .Net 4.5, then visit http://www.microsoft.com/visualstudio/eng/whats-new and also have look series of videos available on demand @ http://www.visualstudiolaunch.com/vs2012vle/Modernapps just hit All Sessions –> View All.
Few of the interesting ones to watch out are as below:
Take a journey through the features of the most significant Visual Studio release for web developers yet. Explore the HTML 5, CSS 3, and JavaScript editors, highlighting both the big and the small features that increase both productivity and developer happiness.
Modern app development is tightly related to end-users’ work in which Office is “a must.” Office 2013 introduces a new app model that brings the best of web development to Office. Join us in this session to see how easy it is to start building apps for Office using these new development tools.
Customers want rich, new experiences for work, play, and entertainment. Visual Studio 2012 and Windows 8 have the answer. Take a tour through the tools you can use in Visual Studio to design, develop, and debug Windows Store Apps. Learn how you can use your existing HTML skills to target millions of customers through the Windows App Store.
The best apps need cloud services. Join this session to see how you can leverage Visual Studio 2012 and Windows Azure Mobile Services to add structured storage, integrated authentication, and even push notifications in literally minutes to your Windows 8 Store app.
This session takes you through the new tools available in Visual Studio 2012 for building Windows Store Apps with JavaScript and HTML. Whether you are an experienced web developer or new to JavaScript, you will learn how Visual Studio can help you debug your app and solve layout problems.
Enjoy!
Hope you all are also super excited, as I am with Microsoft’s recent announcements for Windows 8 and Office 2013 Customer Preview
This opens up a whole new world of opportunities for developers like you and me to develop and amaze a potential audience of a billion users.
The possibilities are limitless.
So, Let’s explore the possibilities for developers in the new Office (Office 2013 Preview).
Introducing a new class of apps
<A href="http://msdn.microsoft.com/en-in/office/fp142390?videoId=cfebe89e-9a41-41d5-ab7c-c3b1bd0f32e7&from=shareembed-syndication&src=v5:embed:syndication:" target="_new" title="What’s new in the next Office for Developers?">Video: What’s new in the next Office for Developers?</A>
Wondering what apps can do?
<A href="http://msdn.microsoft.com/en-in/office/apps/fp123579?videoId=61ce61c7-cb0b-4236-9d96-41b0094b0398&from=shareembed-syndication&src=v5:embed:syndication:" target="_new" title="Imagine apps for Office 2013 and SharePoint 2013 in 90 seconds">Video: Imagine apps for Office 2013 and SharePoint 2013 in 90 seconds</A>
How do app works anyway?
<A href="http://msdn.microsoft.com/en-in/office/apps/fp123579?videoId=c2aafc1a-91cb-4b13-8e8a-c9794000b6e1&from=shareembed-syndication&src=v5:embed:syndication:" target="_new" title="Apps in a nutshell for Office 2013 and SharePoint 2013">Video: Apps in a nutshell for Office 2013 and SharePoint 2013</A>
One can create apps for Office and SharePoint using the same tools and skills. The new development model is consistent between the two.
Develop apps as web applications. You can use HTML and JavaScript for client-side code, and your choice of language for server-side code, such as C#, PHP or VB.NET.
Apps can interact with Office thanks to a new JavaScript API, consistent across multiple Office applications.
Finally, publish and sell your apps through the Office and SharePoint Store or distribute IT-approved apps through an internal App Catalog.
Hope it sounds interesting and are you ready to learn more? Visit @ Build apps for Office
Enjoy! and stay tuned…
If you are using EWS Java API 1.1 provided by Microsoft @ http://archive.msdn.microsoft.com/ewsjavaapi and facing some issues related to it, then feel free to report such issues to below mentioned forum to seek assistance: Exchange Server TechCenter > Exchange Server Forums > Development > http://social.technet.microsoft.com/Forums/en-US/exchangesvrdevelopment/threads
I would highly recommend you to prefix the question title as [Ex20XX] [EWS JAVA API 1.X]… so that the members of the forum could easily review/relate the questions specific to EWS JAVA API.
You must be wondering that why I haven’t suggested you to contact Microsoft Support?
Basically, if we have closer look at license agreement under which Microsoft has published the EWS Java API, you would see:
9. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it.
Its clearly mentioned that EWS JAVA API is provided on “as is” basis, therefore the recommendation above.
However, if you are able to repro the issue using the EWS SOAP Request(outside of Java code) or using Microsoft Exchange Web Services Managed API 1.2 against recent build of Exchange 2007/2010 then please report the issue to http://support.microsoft.com. we would be more than happy to assist you with the issue.
We could also use handy utility like EWS Editor available @ http://EWSEditor.codeplex.com published by Matt Stehle(mstehle: The CDOs and CDONTS of Messaging Development) to repro the issue outside of Java and that would help us understand if the issue is specific to EWS JAVA API or EWS protocol.
As mentioned earlier, if we happen to find issue specific to EWS protocol or EWS Managed API then we could definitely take up that issue with Microsoft Product group.
Hope this helps!
I would like to share that Microsoft® Script Explorer for Windows PowerShell® (pre-release) is available on Microsoft Download Center.
Microsoft® Script Explorer for Windows PowerShell® (pre-release) helps scripters find Windows PowerShell scripts, snippets, modules, and how-to guidance in online repositories such as the TechNet Script Center Repository, PoshCode, local or network file systems and Bing Search Repository. Microsoft® Script Explorer enables:
Here the snapshot of this cool tool:
Download it @ Microsoft Script Explorer for Windows PowerShell (pre-release)
Enjoy Scripting!
I have stumbled upon couple of good resources for Exchange and Office Development last week while researching for an issue.
If you would like to take advantage of access to information about protocols, file formats, standards and other technical specifications for Microsoft high-volume products then visit Open Specifications Developer Center . As part of an on-going commitment to providing interoperability with Microsoft products, the Learn Open Specifications and Interoperability page (also referred to as the Learn Tab) in the Open Specifications Developer Center page hosts instructional content about protocols, file formats, standards and other technical specifications for Microsoft products. Learning modules bring together content from MSDN, Channel 9, and other Microsoft websites, making them the “one-stop shopping” solution for common interoperability topics.
Also if you have not discovered the Open Specifications Interactive Pivot yet? then explore it Open Specifications Interactive Pivot, which makes it easy to find the Open Specifications documents you need in a visual, intuitive way. The Pivot uses Silverlight Deep Zoom technology, which lets you visually search and filter the open specifications documents. Once you use it, you’ll see why we’re excited. The Pivot currently features Exchange, Internet Explorer, Lync, Microsoft Office, and SharePoint protocols. In upcoming months, we plan to add Windows and SQL Server.
And not forget to visit Office Developer Center to find developer resources for creating custom solutions with Microsoft Office 2010, 2007, and 2003.
One of my interesting find on it is Microsoft Office 2010 Developer Map, the Microsoft Office 2010 Interactive Developer Map is a Silverlight application that helps developers visualize the different kinds of applications, services, client/server data-access technologies, on-premise servers, platform products and technologies, and tools that can help developers build multiple line-of-business solutions.
The map is a living document that provides links to MSDN Library reference documentation, MSDN portal pages, videos, and RSS feeds that describe how developers can use Office 2010 and associated tools and technologies to develop solutions that meet their needs. It allows them to drill down to each product and technology and learn about new features, objects, web services, protocols, and content resources that show you how to use and extend Microsoft Office and build custom solutions.
One of our customer is trying to update the Folder Description and Folder Homepage URL properties for Outlook 2007/2010 having mailbox on Exchange 2007/2010.
We could use below mentioned code snippet to set Folder Description property as Extended Property using EWS Managed API.
NOTE: Following programming examples is for illustration only, without warranty either expressed or implied, including, but not limited to, the implied warranties of merchantability and/or fitness for a particular purpose. This sample code assumes that you are familiar with the programming language being demonstrated and the tools used to create and debug procedures. This sample code is provided for the purpose of illustration only and is not intended to be used in a production environment.
<SAMPLE CODE>
public static ExtendedPropertyDefinition FolderDescription = new ExtendedPropertyDefinition(0x3004, MapiPropertyType.String);
Folder fl = new Folder(service); fl.DisplayName = "Test"; fl.SetExtendedProperty(FolderDescription, "Blogging Mail Folder"); fl.Save(WellKnownFolderName.Inbox);
</SAMPLE CODE>
In order to set Outlook Folder Homepage URL property(as shown in below snapshot) we could refer Henning Krause post @ http://www.infinitec.de/post/2011/10/05/Setting-the-Homepage-of-an-Exchange-folder-using-the-EWS-Managed-API.aspx
IMP: However, We need to keep in mind that, when we set the Outlook Homepage URL within Outlook it configures the PR_FOLDER_WEBVIEWINFO or http://schemas.microsoft.com/mapi/proptag/0x36DF0102 property. This property is a Binary property and its format is UNDOCUMENTED and hence NOT SUPPORTED by Microsoft. The one thing to note is this it is an unsupported thing to do so make sure we do plenty of testing first.
The Microsoft Office Sustained Engineering Team announced availability of Service Pack 1 (SP1) for Microsoft Office 2010 family of products. SP1 contains all Cumulative Updates and Public Updates for 2010 that have already shipped. SP1 also contains new fixes for areas of each product. For those of you seeking a complete list of changes for each product contained in SP1, please visit this Excel Workbook – this is a very handy reference for those building test / evaluation plans for Office Client SP1. The workbook containing the changes for SharePoint Server 2010 is located under this link.
Specifically, these are the key areas of improvement in SP1 for Outlook 2010 SP1
We can refer to the KB Articles referenced below for the further details and download links:
I am exited to share that today Microsoft announced the availability of Microsoft Office 365, the company’s newest cloud service. Office 365 is now available in 40 markets, and it brings together Microsoft Office, Microsoft SharePoint Online, Microsoft Exchange Online and Microsoft Lync Online in an always-up-to-date cloud service, at a predictable monthly subscription.
The service was introduced in beta last year with enthusiastic response and, in a few months, more than 200,000 organizations signed up and began testing it. Businesses using Office 365 are already reporting impressive results and reducing IT costs by up to an estimated 50 percent while boosting productivity. So, What are you waiting for? Try it Now @ Learn more about Office 365 or Office 365
To determine the current installed version of PowerShell; in PowerShell type the following built in variable : $PSVersionTable.
If we use Get-Host it will just shows you the version of the host (i.e. of Console.Exe) as below:
Microsoft has released Update Rollup 3 for Microsoft Exchange Server 2007 Service Pack 3 (SP3).
We can refer to the article Description of Update Rollup 3 for Exchange Server 2007 Service Pack 3 to know issues that the update rollup fixes And download it from Download the Exchange2007-KB2492691-EN package now.
Important Before you install an update rollup or a service pack, visit the following Microsoft website for prerequisites, installation instructions and known issues:
How to Install the Latest Service Pack or Update Rollup for Exchange Server 2007 (http://technet.microsoft.com/en-us/library/ee221147(EXCHG.80).aspx)
For a list of update rollups that apply to Exchange Server 2007 RTM, Exchange Server 2007 SP1 or to Exchange Server 2007 SP2, the following Microsoft website:
How to Obtain the Latest Service Pack or Update Rollup for Exchange Server 2007 (http://technet.microsoft.com/en-us/library/ee221180.aspx)
Here are few important issues related to Exchange development APIs fixed in the release of RU3 :
2450078 (http://support.microsoft.com/kb/2450078/ ) The sent time in an email message body is incorrect when you reply or forward the email message by using an EWS application in an Exchange Server 2007 environment.
2445129 (http://support.microsoft.com/kb/2445129/ ) The W3WP.exe process may crash when a WebDAV client connects to an Exchange Server 2007 server
2394853 (http://support.microsoft.com/kb/2394853/ ) The returned URL is incorrect when you use the WebDAV "X-MS-ENUMATTS" method to enumerate an attachment in an Exchange Server 2007 environment
2267661 (http://support.microsoft.com/kb/2267661/ ) Some body parts of a message are displayed as attachments when an Exchange Server 2007 user sends the message by using a third-party mail client
955480 (http://support.microsoft.com/kb/955480/ ) A meeting request is stamped as Busy instead of Tentative when it is sent from an external user to an Exchange Server 2007 user
Microsoft has released Update Rollup 3 for Microsoft Exchange Server 2010 Service Pack 1 (SP1).
We can refer to the article Description of Update Rollup 3 for Exchange Server 2010 Service Pack 1 to know the issues that the update rollup fixes. and download it from Download the Exchange2010-KB2492690-EN-x64 package now. Please do go though the Update rollup information section of KB 2492690 to avoid know issues.
Microsoft has released Visual Studio 2010 Service Pack(SP) 1.This service pack release addresses issues that were found through a combination of customer and partner feedback, as well as internal testing. These service packs offer Visual Studio users improvements in responsiveness and stability, as well as completes some high-impact scenarios requested by customers. The full list of updates included in this service pack can be found here.
To obtain Visual Studio 2010 SP1, visit the following Microsoft website:
Microsoft Visual Studio 2010 Service Pack 1
Important:
Note: Do not install this service pack if you have downloaded and installed the stand-alone ‘Microsoft Windows SDK for Windows 7 and .NET Framework 4 (Windows SDK v7.1)’ and you are using the x64 or IA64 compilers that were included in that download. Please see the related article for more information.
Microsoft has released Update Rollup 2 for Microsoft Exchange Server 2010 Service Pack 1 (SP1).
We can refer to the article Description of Update Rollup 2 for Exchange Server 2010 Service Pack 1 to know the issues that the update rollup fixes. and download it from Download the Exchange2010-KB2425179-EN-x64 package now. Please do go though the Update rollup information section of KB2425179 to avoid know issues.
Microsoft has released Update Rollup 2 for Microsoft Exchange Server 2007 Service Pack 3 (SP3).
We can refer to the article Description of Update Rollup 2 for Exchange Server 2007 Service Pack 3 to know issues that the update rollup fixes And download it from Download the Exchange2007-KB2407025-EN package now.
It does seem to be a bit of a dearth of VB.net samples for Exchange Web Service Managed API. So here is a sample VB.net code which demonstrates:
Imports System.Net
Imports System.Net.Security
Imports Microsoft.Exchange.WebServices.Data
Imports System.Security.Cryptography.X509Certificates
Public Class Form1
'Creating Servie object for EWS service binding endpoint
Dim service As New ExchangeService(requestedServerVersion:=ExchangeVersion.Exchange2007_SP1)
Private Sub cmdSendMail_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdSendMail.Click
Try
'Create new message object and set properties required to send a mail
Dim message As EmailMessage = New EmailMessage(service)
message.Subject = "Hello from the EWS Managed API"
message.Body = "Now that's easy!"
message.ToRecipients.Add("testex2007@bex2007.com")
message.SendAndSaveCopy()
MessageBox.Show("Email Sent!!!")
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Add a valid EWS service end point here or user Autodiscover
service.Url = New Uri("https://server/ews/exchange.asmx")
'Add a valid user credentials
service.Credentials = New WebCredentials("User", "Password", "Domain")
'To address the SSL challenge
ServicePointManager.ServerCertificateValidationCallback = New RemoteCertificateValidationCallback(AddressOf ValidateCertificate)
Private Function ValidateCertificate(ByVal sender As Object, ByVal certificate As X509Certificate, ByVal
chain As X509Chain, ByVal sslPolicyErrors As SslPolicyErrors) As Boolean
'Return True to force the certificate to be accepted.
Return True
End Function
Private Sub cmdCreateAppointment_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles cmdCreateAppointment.Click
'Create appointment object and set properties as required
Dim appt As Appointment = New Appointment(service)
appt.Subject = "Holidays"
appt.Body = "The appointment is for holiday placeholder"
appt.Start = New DateTime(2010, 11, 1)
appt.End = appt.Start.AddHours(24)
appt.IsAllDayEvent = True
appt.LegacyFreeBusyStatus = LegacyFreeBusyStatus.OOF
appt.Save(WellKnownFolderName.Calendar, SendInvitationsMode.SendToNone)
MessageBox.Show("Appointment Added to Calendar")
End Class
We can refer to the articles mentioned below for further reading:
Enjoy EWS and Happy Holidays!!!
If you are developing the applications for Exchange Server, then you can download all new Exchange Server 2010 SP1 SDKs from the Download Center now.
This release of the Exchange 2010 Service Pack 1 (SP1) Web Services Software Development Kit (SDK) provides new and updated documentation and samples for building applications that use Web services in Exchange 2010 SP1 . Use this SDK to help you develop collaborative Web services-based enterprise applications. Download
This release of the Exchange Server 2010 Service Pack 1 (SP1) Backup and Restore SDK provides information about how to create applications that back up, restore, and recover Exchange 2010 databases. Download
This release of the Exchange 2010 Service Pack 1 (SP1) Transport Agents Software Development Kit (SDK) provides new and updated documentation and samples for building applications that use Microsoft Exchange transport agents. Use this SDK to help you develop collaborative enterprise applications for Exchange transport. Download
One of my customer requested for some guidance for How to convert Exchange Item’s EntryID to EWS unique ItemId via EWS Managed API’s ConvertId call?
Here is the sample code snippet for converting Exchange Item’s EntryID to EWS unique ItemId via Exchange Web Services Managed API’s ConvertId call:
/*NOTE: Following programming examples is for illustration only, without warranty either expressed or implied, including, but not limited to, the implied warranties of merchantability and/or fitness for a particular purpose. This sample code assumes that you are familiar with the programming language being demonstrated and the tools used to create and debug procedures. This sample code is provided for the purpose of illustration only and is not intended to be used in a production environment.*/ //Call the GetConvertedEWSID to convert Item’s EntryID to EWSID String sEntryID = "AAAAN0ybz+zO+JOhV4pGimkcYQHAAtH+9AAFtlUAAA=="; String sEWSID = GetConvertedEWSID(service,sEntryID, "TestEx2010@BrijEx2010.com"); MessageBox.Show(sEWSID); //Pass ExchaneService, ItemEntryID and SMTP address of parent Mailbox of Item as Parameters private String GetConvertedEWSID(ExchangeService esb,String sID,String strSMTPAdd) { // Create a request to convert identifiers. AlternateId objAltID = new AlternateId(); objAltID.Format = IdFormat.EntryId; objAltID.Mailbox = strSMTPAdd; objAltID.UniqueId = sID; //Convert PR_ENTRYID identifier format to an EWS identifier. AlternateIdBase objAltIDBase = esb.ConvertId(objAltID , IdFormat.EwsId); AlternateId objAltIDResp = (AlternateId)objAltIDBase; return objAltIDResp.UniqueId; }
Here is EWS SOAP Request and Response for the ConvertId call:
EwsRequest --- <EwsLogEntry EntryKind="EwsRequest" ThreadId="8" Timestamp="9/10/2010 4:26:22 AM"> <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header> <t:RequestServerVersion Version="Exchange2010" /> </soap:Header> <soap:Body> <m:ConvertId DestinationFormat="EwsId"> <m:SourceIds> <t:AlternateId Format="EntryId" Id="AAAAN0ybz+zO+JOhV4pGimkcYQHAAtH+9AAFtlUAAA==" Mailbox="TestEx2010@BrijEx2010.com" /> </m:SourceIds> </m:ConvertId> </soap:Body> </soap:Envelope> </EwsLogEntry>
EwsResponseHttpHeaders --- <EwsLogEntry EntryKind="EwsResponseHttpHeaders" ThreadId="8" Timestamp="9/10/2010 4:26:32 AM">200 OK Transfer-Encoding: chunked Content-Encoding: gzip Vary: Accept-Encoding X-EwsPerformanceData: RpcC=0;RpcL=0;LdapC=0;LdapL=0; Persistent-Auth: true Cache-Control: private Content-Type: text/xml; charset=utf-8 Date: Thu, 09 Sep 2010 22:56:32 GMT Server: Microsoft-IIS/7.5 X-AspNet-Version: 2.0.50727 X-Powered-By: ASP.NET
</EwsLogEntry>
EwsResponse --- <EwsLogEntry EntryKind="EwsResponse" ThreadId="8" Timestamp="9/10/2010 4:26:32 AM"> <?xml version="1.0" encoding="utf-8"?> <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> <s:Header> <h:ServerVersionInfo MajorVersion="14" MinorVersion="0" MajorBuildNumber="639" MinorBuildNumber="21" Version="Exchange2010" xmlns:h="http://schemas.microsoft.com/exchange/services/2006/types" xmlns="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" /> </s:Header> <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <m:ConvertIdResponse xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types"> <m:ResponseMessages> <m:ConvertIdResponseMessage ResponseClass="Success"> <m:ResponseCode>NoError</m:ResponseCode> <m:AlternateId xsi:type="t:AlternateIdType" Format="EwsId" Id="AAMkADM0MDhiYjI5LTY1YjktNGNjOS04ZjdmLWZhZTlmNzdiNjllOQBGAAAAAADdMVg7cuSIleOBbZVAAA=" Mailbox="TestEx2010@brijex2010.com" /> </m:ConvertIdResponseMessage> </m:ResponseMessages> </m:ConvertIdResponse> </s:Body> </s:Envelope> </EwsLogEntry>
For reference:
In case you have FIPS compliance enabled and you are building VSTO/Windows applications using Visual Studio 2010 then you will get exception as mentioned below:
Error 1 Source file 'c:\users\brijs\documents\visual studio 2010\Projects\OutlookAddInFIPS\OutlookAddInFPIS\ThisAddIn.cs' could not be opened ('This implementation is not part of the Windows Platform FIPS validated cryptographic algorithms.') OutlookAddInFIPS
Error 1 Source file 'c:\users\brijs\documents\visual studio 2010\Projects\WindowsFormsApplicationFIPS\WindowsFormsApplicationFIPS\Form1.cs' could not be opened ('This implementation is not part of the Windows Platform FIPS validated cryptographic algorithms.') WindowsFormsApplicationFIPS To know more about FIPS refer The effects of enabling the "System cryptography: Use FIPS compliant algorithms for encryption, hashing, and signing" security setting in Windows XP and in later versions of Windows
In order to enable FIPS you need to follow steps mentioned below
After you enable or disable the System cryptography: Use FIPS compliant algorithms for encryption, hashing, and signing security setting, you must restart your application, such as Internet Explorer, for the new setting to take effect.
To workaround the above issue you can either opt out of FIPS compliance by changing the registry as mentioned above.
Or In order to just avoid the issue with Visual Studio 2010 one can follow the steps mentioned below:
enforceFIPSPolicy is a .Net 2.0 SP1 config file switch which helps the application to opt out FIPS checking.
Hope this helps!!!
Debugging a Web service–based application can be difficult because part of the processing is performed on a computer to which you do not have access. Because you cannot step through the code on the server, it can be helpful to see the XML requests and responses that are exchanged between the client and the server to determine which part of the application is causing an error. When you are using the Microsoft Exchange Web Services (EWS) Managed API, you can use the tracing methods on the ExchangeService object to capture the XML request that is sent to Exchange Web Services and the response that the server returns to the application.
To enable tracing on the ExchangeService object:
Dim _exchangeService As New ExchangeService
Dim TC As New EWSTrace.TraceListener
_exchangeService.TraceFlags = TraceFlags.All
_exchangeService.TraceEnabled = True
_exchangeService.TraceListener = TC
The following code example shows simple object that implements the ITraceListener interface and stores the traced requests and responses in XML or text files.
'NOTE: Following programming examples is for illustration only, without warranty either expressed or implied,
'including, but not limited to, the implied warranties of merchantability and/or fitness for a particular purpose. 'This sample code assumes that you are familiar with the programming language being demonstrated and
'the tools used to create and debug procedures. This sample code is provided for the purpose of illustration only and is not intended to be used in a production environment.
Imports System
Imports System.Text
Namespace EWSTrace
Class TraceListener
Implements ITraceListener
Public Sub Trace(ByVal traceType As String, ByVal traceMessage As String) Implements ITraceListener.Trace
CreateXMLTextFile(traceType + " --- " + traceMessage.ToString())
Private Sub CreateXMLTextFile(ByVal traceContent As String)
'Get the path of the application to create log files at
Dim strPath As String = System.AppDomain.CurrentDomain.BaseDirectory
strPath = strPath + "\\EWSLog.txt"
Dim FS As System.IO.FileStream
If System.IO.File.Exists(strPath) = False Then
FS = System.IO.File.Create(strPath)
Else
FS = System.IO.File.OpenWrite(strPath)
End If
FS.Close()
' Create an instance of StreamWriter to write text to a file.
Dim sw As System.IO.StreamWriter = System.IO.File.AppendText(strPath)
sw.WriteLine(System.DateTime.Now.ToString() + " : " + traceContent)
sw.Close()
FS = Nothing
sw = Nothing
End Namespace
For reference and C# sample code snippet refer:
On Outlook 2007 or previous version for the Outlook we can refer to the public folder as below:
Set olns =Item. Application.GetNamespace("MAPI")
Set pub = olns.Folders("Public Folders")
However, the above given code snippet would fail on Outlook 2010 by throwing exception "Run-time error -2147221233 (8004010f) The attempted operation failed. An object could not be found" because with Outlook 2010.
We have an option to configure multiple exchange account in the same profile and Outlook appends the user's SMTP address used to configure the account to the mailbox/public folder store name to identify each of the account and Outlook would show/refer to the mailbox/public folder as shown in image below.
Here is the sample code snippet in VBA to get reference to Public Folder Store using Outlook Object Model for Outlook 2010:
'NOTE: Following programming examples is for illustration only, without warranty either expressed or implied, including, but not limited to, the implied warranties of merchantability and/or fitness for a particular purpose.
'This sample code assumes that you are familiar with the programming language being demonstrated and the tools used to create and debug procedures. This sample code is provided for the purpose of illustration only and is not intended to be used in a production environment.
If InStr(Item.Application.Version, "14") Then
Set accs = olns.Accounts
For Each Account In accs
If Account.AccountType = olExchange And Account.SmtpAddress = olns.Session.DefaultStore Then
Set pub = olns.Folders("Public Folders" & " - " & Account.SmtpAddress)
MsgBox "Got the Pub folders"
Next
If pub Is Nothing Then
MsgBox "No Public Folder store found for the default exchange mailbox"
Hope this helps!!! Feel free to ask questions related to Outlook/Exchange development.
Update Rollup 4 for Exchange Server 2010 RTM (KB 982639) is now available to download and install.
KB 982639 lists all the fixes included in this rollup. Here are some of the product improvements and critical bug fixes.
Here are the few of fixes, I would like to highlight as Exchange Developer perspective:
KB 982639 has more details about this release and a complete list of all fixes included in this worthwhile rollup.
To download and to install Update Rollup 4 for Exchange Server 2010 RTM, visit the following Microsoft Update Website: http://update.microsoft.com
Note Microsoft Update does not detect Update rollups on Exchange Server 2010 Mailbox servers that are part of a database availability group (DAG). You may want to deploy Update Rollup 4 for Exchange Server 2010 RTM to multiple computers that are running Exchange Server 2010 RTM. Or, you may want to deploy Update Rollup 4 for Exchange Server 2010 RTM to Mailbox servers that are part of a database availability group (DAG). The update rollup is also available from the Microsoft Download Center. The following file is available for download from the Microsoft Download Center: Download the Exchange2010-KB982639-EN-x64 package now.
Service Pack 3 is now available to download for the Microsoft Exchange Server 2007. With this service pack now we can install Exchange Server 2007 on the Windows Server 2008 R2.
We can download Exchange 2007 SP3 here.
For an overview of the new features that are available in Exchange Server 2007 SP3, see "What's New in Exchange Server 2007 SP3".
Additionally, Exchange 2007 SP3 includes all the updates that are included in Update Rollup 4 and earlier for Exchange 2007 SP2. For more information, see Microsoft Knowledge Base article 981383, Description of Update Rollup 4 for Exchange Server 2007 Service Pack 2.
For a list of schema changes that are made by Exchange 2007 SP3, see Active Directory Schema Changes (SP3).
If you need to manage .pst files in users’ Outlook profiles. to help automate these activities related to .pst files, sample tools are now available for download and use from the Microsoft Download site.
The Getpst.exe tool allows you retrieve information about the existing services (PST files) in a given e-mail profile. It is possible to retrieve information about all ANSI PST files, all UNICODE PST files, or both file types.
Download GetPst.exe
The Addpst.exe tool allows you to add PST services (PST files) to a given e-mail profile. You can add either new or existing PST files to the profile. The file will be created at the specified file location. The PST file can be either in ANSI format (Outlook 97-2002 Personal Folders File) or UNICODE format (Office Outlook Personal Folders File).
Download AddPst.exe
The Delpst.exe tool allows you remove services (PST files) from a given email profile. It is possible to remove all ANSI files, all UNICODE PST files, or all files of both types. This tool cannot be used to remove individually specified .pst files from a profile.
These tools use extended MAPI as this is the only supported way to programmatically change MAPI profiles. For additional information, please see the following article in the Microsoft Knowledge Base. 266352 INFO: MAPI Is the Only Way to Programmatically Change Profiles
We would also require to install prerequisite to run the all of above tools. We can refer to the following article for further information and usage of the tools: Outlook Tools: description of sample tools for managing PST files in your Outlook Profile
Users of PFDAVAdmin on Exchange Server 2003/2007 must be wondering that with the recent release of Exchange Server 2010, PFDAVAdmin is no longer available to work because WebDAV is gone from Exchange 2010.
However, We can accomplish a lot of the things which we used to do only in PFDAVAdmin, with Exchange PowerShell Cmdlets e.g. Get-PublicFolder and Set-PublicFolder can be used to export and import permissions; and Get-MailboxFolderPermission and Set-MailboxFolderPermission can be used to export and import mailbox permissions. However, there are still a few things we just cannot do without PFDAVAdmin.
Fortunately, we have a solution - a tool called ExFolders. This new tool is really just a port of PFDAVAdmin to Exchange 2010. For details we can refer to the announcement from Bill Long @ Exchange, meet ExFolders. ExFolders still has the same user interface as PFDAVAdmin, so things will look very familiar. However, there are a few changes to note as mentioned below.
Here is the list of a few new features:
I would also suggest you to go through the readme for more details. I would also like to mention that there is No official support for the ExFolders (as like for PFDAVAdmin). We can download ExFolders @ http://msexchangeteam.com/files/12/attachments/entry453398.aspx
Enjoy!!!
We are getting following exception after migrating Outlook 2007 VSTO add-in project to Visual Studio 2010 and targeting it to .Net 4.0 Framework for Outlook 2010: Inheritance security rules violated by type: 'VS2008_FR_OLAddIn.ThisAddIn'. Derived types must either match the security accessibility of the base type or be less accessible.
************** Exception Text **************
System.TypeLoadException: Inheritance security rules violated by type: 'VS2008_FR_OLAddIn.ThisAddIn'. Derived types must either match the security accessibility of the base type or be less accessible.
at System.Reflection.RuntimeAssembly.GetType(RuntimeAssembly assembly, String name, Boolean throwOnError, Boolean ignoreCase, ObjectHandleOnStack type)
at System.Reflection.RuntimeAssembly.GetType(String name, Boolean throwOnError, Boolean ignoreCase)
at Microsoft.VisualStudio.Tools.Office.Runtime.DomainCreator.ExecuteCustomization.CreateEntryPoint(String entryPointTypeName)
at Microsoft.VisualStudio.Tools.Office.Runtime.DomainCreator.ExecuteCustomization.Microsoft.VisualStudio.Tools.Office.Runtime.Interop.IExecuteCustomization2.LoadEntryPoints(IntPtr serviceProvider)
The above issue is happening in case if we upgrade an Office project from Visual Studio 2008. In this case, you must remove the SecurityTransparentAttribute.
Visual Studio does not automatically remove these attributes when the target framework is changed.
StepsTo remove the SecurityTransparentAttribute
For more detail refer @ Removing Obsolete Attributes from Office Projects that You Migrate to the .NET Framework 4.
We would also need to keep in consideration Required Changes to Run Office Projects that You Migrate to the .NET Framework 4 to avoid other issue.