Le Café Central de
Deva             


                    ... Deva blogs!!



  • Le Café Central de DeVa

    Outlook UI Issue : Could not install the custom actions

    • 4 Comments

    Recently i run into this issue with Windows Server 2008 (x64) & Outlook 2007 SP2 (online – which had earlier Cached mode, later changed back to Online) machine. Whenever i tried to open a message or create a new one, i get this error message - “Could not install the custom actions. The object could not be found”. Later i tried to have a  look(bugging) into my machine. I found it’s because of the corrupt forms cache.

    I fixed the issue like this.

    1. Close Outlook.
    2. Under C:\Users\ find the folder for the user who's experiencing the problem.
    Note: Make sure under the Tools, Folder Options menu that system files are not hidden.
    3. Go to \AppData\Local\Microsoft\FORMS, and delete the file FRMCACHE.DAT
    4. After clearing the FRMCACHE.DAT, restart Outlook.

    This steps resolved the issue!! Happy Outlook troubleshooting!!

  • Le Café Central de DeVa

    Playing with Journal Items & Outlook Object Model # 3

    • 2 Comments

    Reading Journal attachments using Outlook Object Model:

    This time, i tried to read all the email and their attachments using Outlook Object Model. I used the following code snippet to do this.

    'Code Snippet : How to retrieve Outlook attachments using Visual Basic for Application (VBA)
    Dim omailitem As Outlook.JournalItem
    Dim myJournal As Outlook.Items
    Dim oattach As Outlook.Attachment
     
    Set myNamespace = Application.GetNamespace("MAPI")
    Set myJournal = myNamespace.GetDefaultFolder(olFolderJournal).Items
    'Total Items available in Folder
    Debug.Print "Total Items available in Folder : " & myJournal.Count
     
    For Each Item In myJournal
    Set omailitem = Item
    'Mail items - Journal Subject & its size
    Debug.Print "Item Subject :" & omailitem.Subject & " Size (in bytes):" & omailitem.Size
    If omailitem.Attachments.Count > 0 Then
    For Each oattach In omailitem.Attachments
    If oattach.Type = Outlook.olByReference Then
    'If the attachment is ByReference
    Debug.Print "By reference : " & oattach.FileName & " Size (in bytes) : " & oattach.Size
    ElseIf oattach.Type = Outlook.olByValue Then
    'If the attachment is ByValue
    Debug.Print "By Value : " & oattach.FileName & " Size (in bytes) : " & oattach.Size
    ElseIf oattach.Type = Outlook.olEmbeddeditem Then
    'If the attachment is Embdedded
    Debug.Print "Embedded item : " & oattach.FileName & " Size (in bytes) : " & oattach.Size
    ElseIf oattach.Type = Outlook.olOLE Then
    'If the attachment is OLE
    Debug.Print "OLE : " & oattach.FileName & " Size (in bytes) :" & oattach.Size
    End If
    Debug.Print "-------------------"
     
    Next

    Oops, i got the values like the following:

    image

    Reading attachments and save the attachments in local physical drive/folder:

    I done some tweaking with the above code snippet – i am done !! You can see how simple to do programming with Outlook Object Model in few minutes…

    Sub JournalMailAttachmentRead()
    'Code Snippet : How to retrieve Outlook attachments using Visual Basic for Application (VBA)
    Dim omailitem As Outlook.JournalItem
    Dim myJournal As Outlook.Items
    Dim oattach As Outlook.Attachment
    Set myNamespace = Application.GetNamespace("MAPI")
    Set myJournal = myNamespace.GetDefaultFolder(olFolderJournal).Items
    Debug.Print "Total Items available in Folder : " & myJournal.Count
    For Each Item In myJournal
    Set omailitem = Item
    Debug.Print "Item Subject :" & omailitem.Subject & " Size (in bytes):" & omailitem.Size
    If omailitem.Attachments.Count > 0 Then
    For Each oattach In omailitem.Attachments
    If oattach.Type = Outlook.olByReference Then
    Debug.Print "By reference : " & oattach.FileName & " Size (in bytes) : " & oattach.Size
    ElseIf oattach.Type = Outlook.olByValue Then
    Debug.Print "By Value : " & oattach.FileName & " Size (in bytes) : " & oattach.Size
    ElseIf oattach.Type = Outlook.olEmbeddeditem Then
    Debug.Print "Embedded item : " & oattach.FileName & " Size (in bytes) : " & oattach.Size
    ElseIf oattach.Type = Outlook.olOLE Then
    Debug.Print "OLE : " & oattach.FileName & " Size (in bytes) :" & oattach.Size
    End If
    Debug.Print "-------------------"
    Dim filepath As String
    filepath = "C:\"
    oattach.SaveAsFile filepath & oattach.FileName
    Next
    End If
    Next
    End Sub

    Happy programming!!

  • Le Café Central de DeVa

    Securing Exchange Server 2007 & Database Encryption with BitLocker?

    • 2 Comments

    My experience with BitLocker:
    I use Windows BitLocker Drive Encryption (BitLocker) in my Windows Server Vista, 2008 & new Win 7 boxes. As i am trying this for a while, i thought to apply it with Exchange Server 2007 SP2 also; also wanted to see, whether i can make Exchange Server more stronger?

    How i tried?

    Step 1: I tried creating my new installation of Windows Server 2008 machine with SP updates
    Step 2: Tried creating the BitLocker
    Step 3: Tried creating the Exchange Server 2007 SP2

    Let me share the steps that i followed. Also i want to share couple of basics about BitLocker, if you’re interested…

    What’s a BitLocker?
    BitLocker a security feature in the Windows Vista, Windows Server 2008, Windows 7 operating systems that can provide protection for the operating system on your computer and data stored on the operating system volume.

    What BitLocker do?
    Mainly it takes care of the following:

    • It encrypts all data stored on the Windows operating system volume. This includes the Windows operating system, hibernation and paging files, applications, and data used by applications.
    • It is configured by default to use a Trusted Platform Module [TPM] to help ensure the integrity of early startup components (components used in the earlier stages of the startup process), and "locks" any BitLocker-protected volumes so that they remain protected even if the computer is tampered with when the operating system is not running.

    What makes BitLocker – the special?
    What i learnt is… BitLocker is implemented in code in the early startup components ((master boot record (MBR), boot sector, boot manager, Windows Loader)), and as a filter driver that is an integral part of the operating system. When BitLocker is first enabled, existing data on the volume must be encrypted. You can continue to use the computer during this process. 

    Also the BitLocker helps,

    + Address threats that may be caused by data theft or exposure from lost or stolen computers.
    + Data on a lost or stolen computer is vulnerable to unauthorized access if a software program is run on the computer or if the computer's hard disk drives are transferred to a different computer.
    + Reduce unauthorized data access by improving file and system protections.
    + Make data inaccessible when BitLocker-protected computers are decommissioned or recycled.

    To get more information regarding the BitLocker Drive Encryption, you can refer this TechNet article. Also you can refer the BitLocker Encryption  Step-by-Step Guide for more information.

    How this help us with Exchange Server to make it secure?
    In Windows Server 2008, BitLocker protection can be extended to volumes used for data storage as well, along with the protection for the operating system on your computer.

    BitLocker requires that the active partition (or called as system partition) be a non-encrypted partition. The Windows operating system is installed to a second partition that is encrypted by BitLocker. Whenever dealing with the encryption of data, especially in an enterprise environment, you must consider how that data can be recovered in the event of hardware failure, changes in personnel, or other situations in which encryption keys are lost.

    How to do this?
    BitLocker enables an IT administrator to encrypt the operating system volume and additional volumes on a Windows Server 2008-based computer. Let we try this out. By default, BitLocker is not installed in Windows Server 2008. You must add BitLocker from the Server Manager page in Windows Server 2008.

    I tried installing from the command prompt.

    1. Click the Start button, click All Programs, click Accessories, Right-click Command Prompt, and click Run as administrator.

    2. If the User Account Control (UAC) dialog box appears, select Continue.

    3. At the command prompt, type the following:

      ServerManagerCmd -install BitLocker -restart

      This installs BitLocker if you have not already installed it.

    4. After you install and configure BitLocker, you must restart the server to enable the features that BitLocker provides.

    Additionally, what more you can secure?
    As per the TechNet article, you can use BitLocker to encrypt the volumes that host Exchange 2007 database files and transaction log files. Additionally, because the Exchange Storage Engine (ESE) works well with BitLocker, you do not experience a significant performance penalty when you encrypt the volumes that host the Exchange database files and transaction log files.

    Do you know, this is supported by Microsoft CSS?
    As per the TechNet article - because of rigorous testing and because of the integration of BitLocker in Windows Server 2008, Microsoft Customer Support Services fully supports Exchange 2007 for use with BitLocker-encrypted volumes.

     

  • Le Café Central de DeVa

    What’s new in System.Net.Mail & .Net Framework 4.0?

    • 1 Comments

    There are new enhancements to SMTP support for .NET 4.0 - in the area of Unicode support and increased standards compliance, which is an important aspect in ensuring that legitimate emails do not get flagged as spam, as well as a few other useful features.

    + Decreased likelihood of being accidentally flagged as spam
    + Increased Unicode support
    +
    Clarification on setting header values
    + Multiple Reply-To addresses with the new property ReplyToList
    +
    Content Disposition time zones
    +
    Mail Address formats
    + Authentication

    One of the interesting thing that i noticed with Authentication is,Some legacy clients do not advertise their AUTH mechanisms correctly. Normally, in the EHLO reply you would expect to see something like AUTH LOGIN NTLM advertising that this server supports LOGIN and NTLM authentication. Some legacy servers will instead reply with AUTH=LOGIN NTLM which is a violation of the RFC, however we have added support to SmtpClient for these legacy servers so authentication will work correctly should you encounter one.”

    For more information, you can refer the following blogpost for detailed information on this.

  • Le Café Central de DeVa

    Outlook Issue: Task 'user@domain.com' reported error (0x80190193) : 'The operation failed.'

    • 1 Comments

    One of my customer reported a Outlook UI related issue (not Dev issue), as it bugs them having this error every time they  hit the send/receive button. If they try to use Outlook 2010 Beta or Outlook 2007 SP2 generates the error below when doing a full send/receive and their client is connected to Exchange 2007 SP2.

    Error: Task 'user@domain.com' reported error (0x80190193) : 'The operation failed.'

    When we just looked into this, we found its taking us close to OAB synchronization and it fails - which points to, HTTP Error 403. This problem occurred as they enabled the Secure Sockets Layer (SSL) in the OAB directory in Internet Information Services (IIS) Manager.

    Customer tried the following steps, which resolved the issue.

    1. On the server that is running Exchange 2007 Client Access Server (CAS) and that hosts the OAB Web-based distribution point, click Start, click Run, and then type inetmgr.
    2. Expand Web Site, and then expand Default Web Site.
    3. Right-click the OAB virtual directory, and then select Properties.
    4. On the Directory Security tab, under the Secure Communications field, click Edit.
    5. Click to clear the Require secure channel (SSL) check box, and then click OK.
    6. At the command prompt, type iisreset.

    FYI: SSL is not required on the OAB virtual directory for domain-connected clients. This is because SSL is not required to download files only. This is the opposite of the default setting for the other Exchange services virtual directories.

  • Le Café Central de DeVa

    Do you know : Support for using Office Outlook 2007 with Microsoft Exchange Server?

    • 0 Comments

    Per TechNet article, using Office Outlook 2007 with Microsoft Exchange Server 5.5 is not supported.

  • Le Café Central de DeVa

    Interesting blog post : Office 2010 & VBA – Why VBA Still makes sense?

    • 0 Comments

    I found this interesting blog post from John Durant with respect to VBA.

    Why VBA Still Makes Sense

    Not infrequently I am asked, “So, should I use VBA? Is it going to be around in Office 2010? Is it supported? Should I migrate away from VBA now? Can I count on this technology?” (Here I go with a response!)

    These are fair questions, because customers need to know that the software systems they employ are ones they can count on. There’s no question that the IT landscape in terms of teams, tools, software, networks, and so forth have changed dramatically since 1993, when VBA, or Visual Basic for Applications, made its way into Excel. But, VBA still has a place in this world. It still makes sense, and I’ll explain why.

    First, here are some answers: 1) VBA is included in Office 2010 much as it was in Office 2007. 2) It is indeed supported 3) You should continue to use VBA where it fits the needs of our business and migrate only if the need arises.

    Let me elaborate on #3 a little more, because it is the locus of most questions and issues.

    In contrast to 1993, business productivity solution developers on the Microsoft Office platform have more options in terms of what they use to create, build, deploy, and maintain solutions. For example, many developers now target the .NET Framework, and they are accustomed to using VB.NET, C#, or another .NET-compatible language. Many of these developers use Visual Studio .NET, and they are building a wide variety of solutions that integrate Web, databases, middleware, and client applications. More importantly, the user experience is quite different from 1993. Now, users are working in a highly collaborative, real-time sharing, online/offline, mobile, global world. They are populating documents with data from a wide variety of sources, and they are re-purposing the documents and data in very creative ways.

    In 1993, users worked mostly in a monovalent way. Work was done in an exclusive application that didn’t have the broad reach into databases and Web sites like today. Importing CSV files was the primary way of ‘reaching’ into other data. Sharing consisted of saving a spreadsheet up to a file share. Customizing the application was primarily the task of users. Most IT departments had other things on their mind than tinkering with Office customizations. VBA gained huge popularity because of its ability to allow a non-greenscreen programmer to customize her or his application experience. For example, a user could write a VBA ‘script’ or macro that would automate repetitive tasks and save a ton of time. Over the years, many hundreds of millions of documents have been imbued with this kind of code and saved users untold numbers of hours.

    The good news: Even though the user context has changed a lot since 1993, 1997 and beyond, using VBA can still help users save time and effort by automating tasks and customizing their Microsoft Office experience. And, as the application features have evolved to adapt to new user needs has also evolved and grown. Gladly, VBA has remained in step with these evolutionary changes. For example: a great little routine I wrote a long time ago is some VBA that I hooked up to a custom button in Outlook. It allows me, with the click of a button, to save off the attachments for any number of selected emails. The code loops through all selected emails, saves the attachments to a central location I have designated with some logic about how they are stored there so I can sort and find them easily. It then optionally deletes the selected emails. It’s a great little routine that saves me lots of time.

    So, what’s the VBA authoring experience like? What are the advantages?

    1. You can record macros in some of the applications. So, if there is a task you do over and over, just start the macro recorder and the Office application will communicate with the VBA environment for you and write the code for you. You can then re-run this macro any time to run the steps automatically.

    Recording macros is easy

    2. OK—recording macros is great, but it’s not always enough. And, there are some applications that, while not endowed with full macro-recording capability, still allow you to write the code yourself. VBA really sets itself apart by having such a rich set of built-in tools. First, you have a rich Visual Basic Editor (VBE).

    Visual Basic Editor (VBE)

    You can get the entire information from his available blog post: John Durant's WebLog : Why VBA Still Makes Sense… Really it’s makes sense, why VBA still makes sense….

  • Le Café Central de DeVa

    Playing with Journal Items & Outlook Object Model # 1

    • 0 Comments

    I want to share my research (that i tried to play around with Journal items) with respect to Outlook Object Model API to you.

    How to create the new Journal Item programmatically using Outlook Object Model?

    Now, we can try how we can create a new Journal Item.

    Code snippet: Creating a new Journal Item with Outlook Object Model & VBA

    'Creates a new journal item
    Dim objMail As Outlook.JournalItem
     
    'Create journal mail item
    Set objMail = Application.CreateItem(olJournalItem)
    With objMail
        .Body = "First Journal Item"
        .Companies = "ABC Corp"
        .Subject = "First Journal Item"
        .Importance = olImportanceHigh
        .Save
    End With
     

    How it will look like?

    image

    Where i can find this in Outlook (i tried Outlook 2007)?

    1) Open Outlook. Select ‘Folder list’
    2) From Left hand pane, you can see “All Folders/All Outlook Items”. Select “Journal”
    3) You may get this alert. Select “Yes” to proceed further.
    image

    4) You can see the item in Outlook:

    image 

    Happy programming!!

  • Le Café Central de DeVa

    Playing with Journal Items & Outlook Object Model # 2

    • 0 Comments

    After created couple of journal items in my test lab, i thought this time i want to play around with the Journal items. Also i want to try the following programmatically:
    1) iterate all the available journal items
    2) Restrict the values with a (if the Lastmodificationtime > ‘23/9/2009’) specific time frame

    For this i used Items(index). Here index is the index number of a journal entry or a value used to match the default property of a journal entry, to return a single JournalItem object from a Journal folder.

    You can try this code snippet:

        '[Code Snippet: Outlook Object Model API & VBA]
        Dim myNamespace As Outlook.NameSpace
        Dim myJournal As Outlook.Items
        Dim myItems As Outlook.Items
        Dim myItem As Object
        
        Set myNamespace = Application.GetNamespace("MAPI")
        Set myJournal = myNamespace.GetDefaultFolder(olFolderJournal).Items
        Set myItems = myJournal.Restrict("[LastModificationTime] > '23/9/2009'")
        For Each myItem In myItems
            If (myItem.Class = olJournal) Then
                MsgBox myItem.Subject & ": " & myItem.LastModificationTime
            End If
        Next

    Wow, thumbs_up you can find the results. Just you can juggle around with the relevant Restrict/Find with the items based on you requirement smile_wink

    Happy programming!!

  • Le Café Central de DeVa

    Support Guidelines : Microsoft Support Lifecycle policy for product support?

    • 0 Comments

    What do you mean by Microsoft Support Lifecycle policy?
    Microsoft Support Lifecycle policy provides consistent and predictable guidelines for product support availability when a product releases and throughout that product’s life.

    The Microsoft Support Lifecycle policy took effect in October 2002, and applies to most products currently available through retail purchase or volume licensing and most future release products. Through the policy, Microsoft will offer a minimum of:

    • 10 years of support (5 years Mainstream Support and 5 years Extended Support) at the supported service pack level for Business and Developer products
    • 5 years Mainstream Support at the supported service pack level for Consumer/Hardware/Multimedia products
    • 3 years of Mainstream Support for products that are annually released (for example, Money, Encarta, Picture It!, and Streets & Trips)

    What were the phases of Support Lifecycle?

    For more information, please refer the following articles:

  • Le Café Central de DeVa

    Download : Microsoft Entourage 2008 for Mac, Web Services Edition

    • 0 Comments

    If you use Mac Entourage user then this is for you!!

    To take advantage of the latest innovations that Exchange 2007 has to offer, Entourage 2008, Web Services Edition uses Exchange Web Services to communicate with Exchange Server. In this update, Entourage uses Exchange Web Services to provide several calendaring improvements. The update includes support for notes, tasks, and category synchronization with the Exchange Server.

    Microsoft Entourage 2008 for Mac, Web Services Edition uses Exchange Web Services as the primary protocol to communicate with Exchange Server. In addition to several calendaring improvements, this new version of Entourage synchronizes notes, tasks, and categories with Exchange Server. This update also enables logging that can be used for diagnostic purposes.

    You can download it from here.

  • Le Café Central de DeVa

    Exchange Server 2007 SP2 : Data Path Security Reference

    • 0 Comments

    Tried finding the list of information about ports, authentication and encryption by Exchange Server 2007? Your search ends here.

    Please refer the TechNet article. You can find the list of information about ports, authentication, and encryption for all data paths used by Microsoft Exchange Server 2007.

    The Notes sections following each table clarify or define non-standard authentication or encryption methods.

  • Le Café Central de DeVa

    MAPI : When we try to access Public Folder via ASP application throws MAPI_E_FAILONEPROVIDER

    • 0 Comments

    Recently one of my customer updated that they get an different issue with their ASP application. This application running on their Web server that uses MAPI to read the Contacts folder in the Public Folders from Exchange Server 2003 SP2 machine. The user can retrieve his email in outlook and browse the public folders as he is used to, but when this user want to use the ASP page that reads the public folder he fails.

    smile_sad Customer receives the following error:

    bstrPublicRootID = objInfoStore.Fields.Item(&H66310102).Value
    Error Description: [Collaboration Data Objects - [MAPI_E_FAILONEPROVIDER(8004011D)]]
    number: –2147221219
    Source: Collaboration Data Objects

    During the the troubleshooting, we found that the customer tries to read the contacts in public folders. Customer try to gain programmatic access to Public Folders by assigning the folders collection to an object. Customer cannot gain programmatic access to a public folder from an ASP by stepping through the tree. To do this, certainly the customer needs to use GetFolder, which in turn requires him to know what the RootID of the Public Folder.

    So we recommend customer to make use of MAPI property tag (example: bstrPublicRootID = objInfoStore.Fields.Item( &H66310102 ).Value) to get the root ID of the Public Folders, which resolved the issue.

    lightbulbAlso in couple of earlier such scenario’s we found this error might happen due to one of the following:

    You might don't have permissions: You are trying to access a mailbox that the ASP does not have proper permission for.Check to make sure the ASP is being authenticated into the account you want. Insert this line into your VBScript to find out what account the ASP is running in:

    Response.Write("You are logged on as " & Request.ServerVariables("LOGON_USER") & "<br>")

    If you are logged in under the anonymous account, you will receive a blank string back.

    You might be using Incompatible browser: You are using "NT Challenge Response" as your authentication type, and Netscape Navigator for your browser. Netscape Navigator does not support "NT Challenge Response" as an authentication option. In order to log onto a user's Exchange account, the IIS authentication needs to be set up as "Basic (Clear Text)".

    computer For a safer side, you need to make sure that you don’t have Exchange Server 2003 and Outlook 2003 in the same box.

    thumbs_up Happy Programming!!

  • Le Café Central de DeVa

    Exchange Management Shell : Changing DisplayName format “LastName, FirstName”

    • 0 Comments

    As we know by default the Display Name of Exchange Mailboxes(Exchange Server 2007 SP2) is in the format of “Firstname Lastname”. I want to change this for the couple of existing mailboxes to “Lastname, Firstname” for one my customer – he preferred non-development stuff!!

    I tried to do the same using the Exchange Management Shell, which fits for my requirement:
    > Get-Mailbox “User Name” | Get-User | ?{ $_.Lastname -ne $null } | %{ $dispName=$_.LastName + “, ” + $_.FirstName ; set-mailbox $_.SamAccountName -Displayname $dispName }

    In case you want to revert back to the format “Firstname Lastname”, here’s the command for that.
    > Get-Mailbox “User Name” | Get-User | ?{ $_.Lastname -ne $null } | %{ $dispName=$_.FirstName + ” ” + $_.LastName ; set-mailbox $_.SamAccountName -Displayname $dispName }

    You can try this out…

  • Le Café Central de DeVa

    Why my VSTO Outlook add-in works in Dev box, not in non-dev or production boxes?

    • 0 Comments

    Recently one of my customer reported (we used to see this is many of the developer have is that their assembly does not execute as expected in non-development boxes – why it so?) that initially they tried they created VSTO Outlook Add-in project solution with the helps of Visual Studio 2005. But  when they move it to another machine it fails to load.

    In these type of general troubleshooting steps, you can check couple of relevant things, as i found in the blogpost:

    1. Network rule is correct – Don’t assume, http://server/ –> FullTrust –> always added to the MyComputer zone. It's in  LocalIntranet
    2. Errorneous URL – Typo/Error in the filename or URL
    3. Asterisk (*) was not added - After a directory to indicate "and all folders under here"

    Later i jumped into the analysis & debugging part i noticed that that policy was not updated correctly. To rectify that i tried the following:

    caspol -all -lg

    caspol -rsg path_to_assembly

    i) the security policy looks like, lg –> list groups & all policy rules
    ii) then CLR thinks the evidence of the assembly maps to those rules like, rsg –> resolve groups & list groups the assembly matches.

    Certainly this will tell us whether the customer have set up policy correctly or not. Also this will help us to identify their assembly is matching the code groups, should match or not.

    Happy VSTO troubleshooting!!

  • Le Café Central de DeVa

    Outlook Object Model : Using Restrict method to get contacts based on specific categories

    • 0 Comments

    Earlier i was working with one of the customer, where he wants to use Outlook Object Model to,

    - retrieve the default contact folder items
    - restrict on the retrieved items
    - get the restricted items and gets its values – Full Name, Categories, FileAs… etc

    Here is the way that i tried it – Code Snippet for your reference:

          Dim oOutlook As Outlook.Application
          Dim oNameSpace As Outlook.NameSpace
          Dim oFolder As Outlook.MAPIFolder
          Dim oContacts As Outlook.Items
          Dim oContact As Outlook.ContactItem
          Dim oItems As Outlook.Items
          Dim oItem As Outlook.ContactItem
          Dim i As Integer
     
          ' Connect with Outlook & get the Namespace
          Set oOutlook = New Outlook.Application
          Set oNameSpace = oOutlook.GetNamespace("MAPI")
     
          ' Retrieve the default Contacts Folder
          Set oFolder = oNameSpace.GetDefaultFolder(olFolderContacts)
     
          ' Retrieve the Items collection
          Set oContacts = oFolder.Items
     
          ' Create a Restriction on the Items
          Set oItems = oContacts.Restrict("[Categories] = 'Friend'")
     
          ' Display the number of items that match the restriction
          MsgBox "Found: " & oItems.Count
     
          ' Process each of the Restricted Items
          For Each oItem In oItems
             Debug.Print "Full Name : " & oItem.FullName & " Categories:  " & oItem.Categories & "File as:" & oItem.FileAs
          Next
          
          ' Clean it up
          Set oItems = Nothing
          Set oOutlook = Nothing

    Happy Outlook programming!!

  • Le Café Central de DeVa

    Standards : Microsoft Exchange Server & Outlook Standards

    • 0 Comments

    If you’re looking for Microsoft Exchange Server & Outlook Standards, you can refer this MSDN article.This documentation is intended for use in conjunction with publicly available standard specifications, computer language design and implementation art.

    Also for more information about Standards at Microsoft, please visit http://www.microsoft.com/standards/default.aspx.

  • Le Café Central de DeVa

    Upgrading Exchange Server 2007 SP2 setup fails in Windows Server 2008 R2?

    • 0 Comments

    Recently i was discussing with one of my customer, he updated a issue relevant with his upgrade. Recently he downloaded the recent Exchange 2007 SP2 & tried upgrading to Exchange 2007 SP2 in an Active Directory forest that has only Windows Server 2008 R2 Domain Controllers. He tried to run the setup, but it fails if all domain controllers are running Windows Server 2008 R2 with the following error message.

    [ERROR] Cannot find at least one domain controller running Windows Server 2003 Service Pack 1 or later in domain 'DC=DCName,DC=com,DC=DCName'. This could be the result of moving domain controller objects in Active Directory. Check that at least one domain controller running Windows Server 2003 Service Pack 1 or later is located in the 'Domain Controllers' organizational unit (OU) and rerun setup.

    Yesterday during my search, i found Nasir Ali’s blog post @ Exchange Team blog – answers the queries.

  • Le Café Central de DeVa

    What is Microsoft BPOS?

    • 0 Comments

    Microsoft Business Productivity Online Standard Suite is a set of messaging and collaboration solutions hosted by Microsoft, and consists of Exchange Online, SharePoint Online, Office Live Meeting, and Office Communications Online.

    + These online services are designed to give your business streamlined communication with high availability, comprehensive security, and simplified IT management.
    + Take a case, for a customer who need more than one standalone service, the Business Productivity Online Standard Suite provides the best value to customers by bundling multiple services at a discounted price.
    + Microsoft Online Services are accessible through a variety of mobile devices including Windows Mobile 6.0+, Exchange ActiveSync devices, and BlackBerry devices.

    For more information, you can get more information from the following articles:
    http://www.microsoft.com/online/business-productivity.mspx
    http://smallbusiness.officelive.com/en-us/email

  • Le Café Central de DeVa

    Recycling bits : Developer roadmap for Office 2007

    • 0 Comments

    Recently one of my customer(developer) is looking for Developer roadmap for Office 2007 and its relevant documents. During the search, i found the following information and want to share with you.

    There are lot of new technologies like [ribbon customizations, XML file formats, Outlook form regions, SharePoint workflow support, VSTO changes]. To learn more on this, download the Office 2007 Developer roadmap from here with respect to every Office Developer.

Page 1 of 1 (20 items)