Le Café Central de
Deva             


                    ... Deva blogs!!



  • Le Café Central de DeVa

    Zune Software: Installation failed with error code 0x80070643

    • 19 Comments

    Recently I tried to install Zune Software in my PC, encountered installation failed with the error code: 0x80070643 and message “Setup must stop because the required package ‘Zune"’ didn’t install.

    image

    Done research and found the following Microsoft support knowledge base article – states that “A required component cannot be installed when you try to install the Zune software”. This issue may occur when software updates that are required by the Zune software are not available when you try to install the Zune software. The following required updates are available from the Microsoft Update website: 

    • The .NET Framework 2.0
    • Microsoft Error Reporting
    • XMLLite
    • Windows Format SDK

    To obtain all required updates in one package, follow these steps:

    1. Verify that you have administrative rights to install software.
    2. Make sure that you have sufficient free space to install the Zune software. For more information about system requirements for Zune, visit the following website: http://www.zune.net/products/software/minsystemreqs.htm
    3. Click the Download button on the following page to install the update package:  http://go.microsoft.com/fwlink/?LinkID=104738
    4. In the dialog box that appears, click Run to start the installation process.
    5. The installation should start automatically. If you are prompted, type the name of the folder where the files will be extracted.
    6. When the files are copied to the folder, open the folder, and then double-click Startzune.exe to install the Zune software.

     

    This resolved the issue. Based on the above support KB, you may also receive one of these error messages when trying to install the following products:

    • The Microsoft .NET Framework 2.0
    • Microsoft Windows Media Format 11 runtime
    • Microsoft Error Reporting 2.0
    • XMLLite
    Additionally, the installation cannot continue.

    Happy troubleshooting!!

  • Le Café Central de DeVa

    Free eBook: Programming Windows 8 Apps with HTML, CSS and JavaScript

    • 17 Comments

    Programming Windows 8 Apps with HTML, CSS and JavaScriptThis wonderful eBook is written by Kraig. He provides comprehensive coverage of the platform for Windows Store apps, and devoted chapters on live tiles, notifications, background tasks, background transfers, networking, devices, printing, WinRT components, accessibility, localization, and the Windows Store itself. The final eBook contains 17 chapters. And of course all of the earlier chapters have also been reviewed and refined—over 800 pages in total, along with new and updated companion content!

    So you can download the eBook in PDF format here: http://go.microsoft.com/FWLink/?Linkid=270056 (17.9 MB)

    EPUB format is here: http://go.microsoft.com/FWLink/?Linkid=272592 (37.3 MB)

    MOBI format is here: http://go.microsoft.com/FWLink/?Linkid=272591 (69.5 MB)

    The eBook's companion content is here: http://go.microsoft.com/FWLink/?Linkid=270057 (59.9 MB)

    Just make use of it and develop new Windows 8 apps. Happy programming!!

  • Le Café Central de DeVa

    Fix: Windows Phone 7.5 & Facebook Password update “0x83cf1202”

    • 15 Comments
    Recently one of my customer changed his Facebook password via laptop. Later when he tried connecting via my Windows Phone/Facebook chat, it requested him to update the password. Unfortunately, he opted to delete the Facebook account, but it failed. After this, he can’t update his password. Doing so (Settings > Email+accounts > Facebook), it throws “Attention required – can’t delete Facebook” and error code “0x83cf1202”. 

    Tried the following steps, which helped him to fix the issue:

    1. Disconnect all devices/desktop apps and login with browser
    2. Delete Facebook account (connected with Hotmail account) using the browser
    3. Boot the phone
    4. In Phone, Sync the Hotmail account. At end of this, delete the Facebook account
    5. Now you can connect the Facebook account using Settings > Email+accounts > Facebook in the phone.

    Note: Prior to that I learnt that he is connected with messenger desktop app browser, Windows Phone to the Hotmail account. Also the Facebook updates, notifications, still seem to work, but only chat doesn't Smile

  • Le Café Central de DeVa

    Features: Changed or removed in Outlook 2013

    • 11 Comments
    The below table contains information about what features changed or removed in Outlook 2013 (since Office 2010 was released). This applies to Office 2013 | Office 365 ProPlus.

    Title

    Scope

    Type of Change

    Description

    Reason for Change

    Benefits

    Replacement

    Additional Information

    Outlook Meeting Workspaces

    Outlook

    Feature Removed

    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.

    N/A

    For the feature description, see Use Meeting Workspaces to organize meetings

    Outlook Exchange Classic offline

    Outlook

    Feature Removed

    Offline mode is being removed from Outlook.

    Offline mode is a legacy data access method for online mode connections to Exchange Server.

    N/A

    N/A

    N/A

    Remove /Cleanfreebusy switch and code

    Outlook

    Feature Removed

    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.

    N/A

    N/A

    N/A

    Command Bars object model (OM)

    Outlook

    Modification

    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.

    N/A

    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

    Outlook

    Feature Removed

    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.

    N/A

    Import/Export to Applications

    Outlook

    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.

    N/A

    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

    Outlook

    Feature Removed

    The Journal Module is being removed as a top-level module, and auto-journaling is also being removed.

    N/A

    Replacement is unnecessary.

    N/A

    N/A

    Outlook Links Collection

    Office

    Feature Removed

    Links Collection object model is removed.

    Functionality is removed in the UI.

    N/A

    N/A

    N/A

    Notes and Journal customization

    Outlook

    Feature Removed

    Notes are now only yellow and medium size.

    Keeping the Notes module simple.

    Simplifying how Notes are used.

    N/A

    N/A

    Legacy Contact Linking

    Outlook

    Feature Removed

    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.

    N/A

    N/A

    N/A

    Outlook Activities tab

    Outlook

    Feature Removed

    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.

    N/A

    Simplicity

    The Activities tab is replaced by the Outlook Social Connector and displays in the People pane.

    N/A

    Outlook Mobile Service (OMS)

    Outlook

    Feature Removed

    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.

    N/A

    N/A

    Suggested Contacts

    Outlook

    Feature Removed

    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.

    N/A

    N/A

    N/A

    N/A

    Outlook Pubcal: Calendar Publishing

    Outlook

    Feature Removed

    Removing the ability to publish one's calendar to Office.com.

    N/A

    N/A

    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

    Outlook

    Feature Removed

    Removing the ability for users to have Exchange accounts delivering into PST files.

    N/A

    N/A

    N/A

    N/A

    Dialup/VPN Options

    Outlook

    Feature Removed

    Removing application level dial-up options and VPN options.

    Available as part of the operating system.

    N/A

    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

    Office

    Feature Removed

    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

    ToDo Bar

    Outlook

    Feature Removed

    A new functionality is implemented.

    A new feature known as Pinned Peeks is implemented to achieve similar functionality.

    Pinned Peeks feature

    N/A

    N/A

    User Datagram Protocol (UDP)

    Office

    Feature Removed

    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.

    N/A

    N/A

    N/A

    Preview unread messages

    Office

    Feature Removed

    The Auto Preview feature to preview unread items is removed. It remains possible to configure Message Preview for one, two, and three lines.

    N/A

    N/A

    N/A

    N/A

    Outlook categories quick click

    Office

    Feature Removed

    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.

    Simplicity

    Apply categories by choosing from the short-cut menus (right clicking) or by choosing Ribbon buttons.

    N/A

    Outlook Search through Windows Shell

    Office and Windows

    Feature Removed

    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.

    N/A

    N/A

    Search Office items within the Office application.

    N/A

  • Le Café Central de DeVa

    Download : Using MS Excel Template to track FIFA 2010 World Cup schedules

    • 7 Comments

    From today onwards FIFA World cup 2010 going to start and there is already a lot of craze among the soccer fans across the world. Being a hardcore soccer fan, you can find a nice way to keep a schedule of all the matches in your hard drive using Microsoft Excel.

    I am pretty sure that usually we need to maintain schedules either in paper or checking internet every time, but do you know being computer savy we can use most of it? Yes, you can.

    This initiative is done by Diego, a Microsoft employee who created the Excel template which can be used to keep track of all the upcoming world cup games, venues, league matches, match timings and also the points table.



    Ok, here is how the template looks:

    Screenshot of Excel template

    Download: You  can download the Microsoft Excel template (2007 or later) from http://office.microsoft.com/en-us/templates/TC103911551033.aspx?pid=CT101436151033&AxInstalled=1&c=0

    Enjoy the soccer!!

  • Le Café Central de DeVa

    Where i can find the Macros & Visual Basic Editor in new Microsoft Outlook 2010?

    • 6 Comments

    Couple of Outlook 2010 beta users reported that they can’t find the old VBA (Visual Basic for Applications) and Visual Basic Editor in new Outlook 2010? Whether the feature is removed? With respect to my last blog post, VBA is available with Outlook 2010. Let me explain in-detail. We know about how Outlook 2010 applications expose their object models; also we’re eager to calling object methods, setting object properties, and responding to object events. To do so, you must write your code in a place and in a way that Office can understand; typically, by using the Visual Basic Editor. Although installed by default, many users do not know that it is even available until it is enabled on the ribbon.

    Opening the Developer Tab

    All Office 2010 applications use the ribbon. One tab on the ribbon is the Developer tab, where you access the Visual Basic Editor and other developer tools. Because Office 2010 does not display the Developer tab by default, you must enable it by using the following procedure:

    To enable the Developer tab and view Visual Basic Editor, do the following steps:

    1. On the File tab, choose Options to open the Outlook Options dialog box.

    2. Click Customize Ribbon on the left side of the dialog box.

    3. Under Choose commands from on the left side of the dialog box, select Popular Commands.

    4. Under Customize the ribbon on the right side of the dialog box, select Main tabs, and then select the Developer check box.

    5. Click OK.

    Please note: In Office 2007, you displayed the Developer tab by clicking the Office button, clicking Options, and then selecting the Show Developer tab in Ribbon checkbox in the Popular category of the Options dialog box

    After you enable the Developer tab, Bingo, it is easy to find the Visual Basic and Macros buttons.

    Developer tab in Outlook 2010
    image 

    Continue your programming with VBA with Outlook 2010.

  • Le Café Central de DeVa

    Where does autocomplete gets stored in OWA?

    • 6 Comments

    There is always a related question regarding autocomplete feature on OWA. In outlook the auto complete gets stored in *.NK2. Where does it store for OWA ? The Auto Complete cache is stored as part of the user’s profile on the Exchange Server.

  • Le Café Central de DeVa

    How to get the EWS endpoint URL from Outlook 2007/2010?

    • 6 Comments
    You can try the following steps to get the EWS endpoint URL from Outlook 2007 or 2010:

    • CTRL+Right click the Outlook icon in the notification area in the lower right-hand area of the screen. You can notice the following window:

    image

    • Select Test E-mail Auto configuration.
    • Enter your email address and password.
    • Select the Use AutoDiscover box (you can uncheck the other boxes).
    • Select the Test button.

    image

    • In the results window, you can see the Availability Service URL  Smile
  • Le Café Central de DeVa

    Part # 2 - Using C#.Net & Exchange Web Service (EWS) : How to create and send e-mail messages?

    • 6 Comments

    In this we will see how to create & send e-mail messages using Exchange Web Service (EWS). It’s pretty simple with EWS to do.

           // Create the Exchange Service Binding
            ExchangeServiceBinding esb = new ExchangeServiceBinding();
     
           // Add its relevant Credentials like user name, password, domain and URL
            esb.Credentials = new NetworkCredential(userName, Password, domain);
            esb.Url = @"https://myexchangeserver/EWS/Exchange.asmx";
     
            // CreateItemType and set its relevant properties/values
            CreateItemType request = new CreateItemType();
           
            // Select Message Disposition specified
            request.MessageDisposition = MessageDispositionType.SendOnly;
            request.MessageDispositionSpecified = true;
          
           // Create MessageType and set its relevant properties/values
            MessageType message = new MessageType();
     
            // Enter value for subject
            message.Subject = subject;
            message.Body = new BodyType();
            message.Body.BodyType1 = BodyTypeType.Text;
     
           // Enter value for body
            message.Body.Value = body;
            message.ToRecipients = new EmailAddressType[1];
            message.ToRecipients[0] = new EmailAddressType();
           
           // Enter ToEmailAddress
            message.ToRecipients[0].EmailAddress = toEmailAddress;
     
           // Select Routing Type
            message.ToRecipients[0].RoutingType = "SMTP";
            request.Items = new NonEmptyArrayOfAllItemsType();
            request.Items.Items = new ItemType[1];
            request.Items.Items[0] = message;
            try
            {
               CreateItemResponseType response = esb.CreateItem(request);
     
               // Determine whether the request was a success.
                if (response.ResponseMessages.Items[0].ResponseClass == ResponseClassType.Error)
                {
                    throw new Exception(response.ResponseMessages.Items[0].MessageText);
                }
                else
                {
                    Console.WriteLine("Item was created");
                    Console.Read(); 
                }
              }
     
              catch(Exception e)
                {
                    Console.WriteLine(e.Message);
                    Console.Read();
                }

    Try this code snippet. Happy programming!!

  • Le Café Central de DeVa

    Powershell & cmdlet - In a Nutshell - Part 4 - Verify Autodiscover Service info for Outlook 2007 using "Test-OutlookWebServices" cmdlet

    • 5 Comments

    How to verify Autodiscover Service info for Outlook 2007 using "Test-OutlookWebServices" cmdlet:

    In Exchange Server 2007 environment, to verify the Autodiscover service settings for Outlook and that has Client Access server role installed or not, we can use of "Test-OutlookWebServices cmdlet". It verifies information for the services like, (1) Availability service (2) Outlook Anywhere (3) Offline Address Book (4) Unified Messaging.

    The cmdlet tests for a connection to each service. For example, it requests the availability service for the above user to check the user's free/busy information obtained from Client Access server to the Outlook 2007.

    For Example,  "test-OutlookWebServices -identity:sample@administrator.com"

    This cmdlet verifies the service information that is returned to the Outlook 2007 client from the Autodiscover service for sample@administrator.com

  • Le Café Central de DeVa

    Download: Windows Server 2012 Release Candidate (RC)

    • 5 Comments

    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 Windows Server Release Candidate

    + 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.

  • Le Café Central de DeVa

    Outlook 2010: Migrating CDO based application to Outlook Object Model(OOM) library

    • 5 Comments

    Recently one of my developer customer migrated from Outlook 2003 to 2010. He tried running the custom application (uses CDO & Outlook 2003) in Outlook 2010. It throws the error “ActiveX component can’t create object”. 

    Using the following test sample, I can reproduce the exact issue at my end:

    image

    As you know, Microsoft Outlook 2010 includes many architectural changes to the client-side MAPI subsystem. Of particular concern are scenarios in which Outlook is configured to use multiple Exchange accounts. Also, CDO 1.2.1 is a 32-bit client library and will not operate with 64-bit Outlook 2010. Given all these factors, CDO 1.2.1 is not supported for use with Outlook 2010 and we don’t recommend its usage with Outlook 2010. As updated earlier, in Outlook 2010 you need to re-write/migrate the code base referencing CDO to Outlook Object Model or MAPI, messaging libraries which ever suits you.  So the programs/custom applications that use CDO should be re-designed to use other Application Programming Interfaces (APIs) instead of CDO.

    Starting with Outlook 2007, the Outlook object model was greatly expanded to provide functionality that was previously available only by using CDO 1.2.1. The Outlook 2010 object model includes some new features to expand on this more. For example, the Outlook 2010 object model has new functionality to operate correctly with multiple Exchange accounts. The Outlook object model also works for both 32-bit and 64-bit versions of Outlook. Developers should use the Outlook 2010 object model instead of CDO 1.2.1. Also, developers can still use Extended MAPI (which requires unmanaged C++) in some scenarios where CDO was required. However, if it is possible, we generally recommend that the Outlook object model be used instead of Extended MAPI.

    In this post, we will take the above code sample and will show how you can migrate/re-write the CDO based application to Outlook Object Model library.

    CDO sample – created in Outlook 2003:
       1: Dim MapiSession As Object
       2: Dim MapiMessage As Object
       3: 
       4: 
       5:   
       6: Set MapiSession = CreateObject("Mapi.Session") ' Create the MAPI Session.
       7:  
       8: MapiSession.Logon , , , False                  ' Log on to the session.
       9:  
      10: Set MapiMessage = MapiSession.Outbox.Messages.Add
      11:  
      12: With MapiMessage
      13:     .To = "testuser@contoso.com"
      14:     .Subject = "Test"
      15:     .Text = "Test"
      16:     .send showdialog:=True
      17: End With
      18:  
      19: MapiSession.Logoff
      20:  
      21: Set MapiSession = Nothing  ' Clear the object variable.
    • In order to start with, we will do it from the declaration section – you can see the CDO/OOM migrated sample and notice the changes.
    • In CDO code, it’s specified as Set MapiSession = CreateObject(“Mapi.Session”). When it comes to Outlook Object Model, then it should be converted as, Set MapiSession = CreateObject("Outlook.Application")
    • Now, we will try the next line, which is doing logon() call. In CDO, it’s MapiSession.Logon , , ,False. In OOM, it’s you need to add GetNamespace, so MapiSession.GetNamespace("MAPI").Logon , , , False
    • Next line in CDO points that a new mail item will be created in Outbox folder. In OOM, it need to be simplified: MapiSession.CreateItem(olMailItem).
      • Please note I haven’t used outbox folder like, MapiSession.GetNamespace("MAPI").GetDefaultFolder(olFolderOutbox)
    • I don’t see much changes when you specify the values for MapiMessage, except for .Send (CDO) – just needs to be trimmed as .Send(in OOM)

    Once you done with migration, the OOM code (created in Outlook 2010) will look like the below:

       1: Dim MapiSession As Outlook.Application
       2: Dim MapiMessage As Outlook.MailItem
       3:           
       4: Set MapiSession = CreateObject("Outlook.Application") ' Create the MAPI Session.
       5: MapiSession.GetNamespace("MAPI").Logon , , , False
       6:                            
       7: Set MapiMessage = MapiSession.CreateItem(olMailItem)
       8: With MapiMessage
       9:     .To = "testuser@contoso.com"
      10:     .Subject = "Test"
      11:     .Body = "Test"
      12:     .Send
      13: End With
      14:  
      15: Set MapiSession = Nothing

    Please note: Microsoft product support can help developer customers migrate custom programs from using CDO 1.2.1 to using other APIs. However, Microsoft will not provide support for any scenarios in which CDO 1.2.1 is used with Outlook 2010.

    Happy programming!!

  • Le Café Central de DeVa

    Outlook : How to regenerate free/busy information using MFC MAPI?

    • 4 Comments

    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.  

    image

    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.

    image

    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.

    image

    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.

    image

    Hope this helps.

  • Le Café Central de DeVa

    Bitness : How to identify Outlook 2010 installation is a 32-bit or 64-bit?

    • 4 Comments

    When Outlook 2010 is installed, it sets the new registry key named Bitness, which indicates whether the Outlook 2010 installation is a 32-bit or 64-bit version. This can be useful to administrators who want to audit computers to determine the installed versions of Outlook 2010 in their organizations.

    • Registry path: HKEY_LOCAL_MACHINE\Software\Microsoft\Office\14.0\Outlook
    • Registry key: Bitness
    • Value: either x86 or x64

    For more information about Microsoft Office 2010 in 64-bit, see 64-bit editions of Office 2010.

  • 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

    Outlook 2010 : Why CDO 1.2.1 not supported with Outlook 2010?

    • 4 Comments

    Collaboration Data Objects (CDO) 1.2.1 is a client library that provides a thin wrapper over Extended MAPI functionality. CDO does not install with Outlook 2010, and is available only as a download. For more information, see Collaboration Data Objects, version 1.2.1 in the Microsoft Download Center. CDO is not guaranteed to work correctly in an environment with multiple Exchange accounts. CDO 1.2.1 is a 32-bit client library and will not operate with 64-bit Outlook 2010. Therefore, CDO 1.2.1 is not supported for use with Outlook 2010. Most of the CDO 1.2.1 functionality has been incorporated into the Outlook 2010 object model.

    Then, what’s the alternative? As an alternative to CDO 1.2.1, update existing solutions that depend on CDO to use the Outlook object model or to use MAPI directly.

  • Le Café Central de DeVa

    Microsoft Surface - Provides life in Restaurants, Hotels, Retail Locations and Casino Resorts

    • 4 Comments

    Microsoft Launches New Product Category: Surface Computing Comes to Life in Restaurants, Hotels, Retail Locations and Casino Resorts

    First commercially available surface computer from Microsoft breaks down barriers and provides effortless interaction with information using touch, natural gestures and physical objects

    Click here to read more about the article

  • Le Café Central de DeVa

    Exchange Server 2007 - Do you know?

    • 4 Comments

    Do you Know?

    Several features that are found in earlier versions of Microsoft Exchange Server have been removed (Discontinued features and De-emphasized functionality) from Exchange 2007.

    Some of the de-emphasized legacy technologies are,

    • Public folders - Free/busy calendaring functionality is provided by the Availability service.
    • Proxy address generators - Use the Exchange Management Shell.
    • CDO 1.2.1 - This functionality is provided by the Exchange Web Services.
    • MAPI32 - This functionality is provided by the Exchange Web Services.
    • CDOEX (CDO 3.0) - This functionality is provided by the Exchange Web Services.
    • Exchange WebDAV extensions - This functionality is provided by the Exchange Web Services.
    • ExOLEDB - This functionality is provided by the Exchange Web Services.
    • Store events - This functionality is provided by the Notification Web service.
    • Streaming backup APIs.
    • Exchange 2003 Virus Scanning Application Programming Interface (VSAPI).

     There is a fine Microsoft Technet article which give detailed information into it. Click here to find more 

  • Le Café Central de DeVa

    MAPI Architecture

    • 4 Comments

    MAPI Architecture 

    MAPI is a messaging architecture that enables multiple applications to interact with multiple messaging systems seamlessly across a variety of hardware platforms.

    MAPI Objects and General Architecture

    All of the objects defined by MAPI fall into one or more layers in the MAPI architecture.

    • The client interface layer is made up of all the objects that a client application, form viewer, or form server can implement.
    • The service provider interface layer contains the objects that a service provider of any type can implement.
    • This layer includes objects implemented by address book, message store, transport, form library, and messaging hook providers.
    • The layer that represents the MAPI subsystem is positioned between the client and service provider interface layers.
    • The MAPI layer contains all of the objects that MAPI implements for clients or service providers to use 

    The following article shows where each of the MAPI objects fits into the MAPI architecture. The objects are represented with the names of their derived interfaces.

    In general,

    • MAPI is made up of a set of common application programming interfaces and a dynamic-link library (DLL) component.
    • The interfaces are used to create and access diverse messaging applications and messaging systems, offering a uniform environment for development and use and providing true independence for both.  
    • The DLL contains the MAPI subsystem, which manages the interaction between front-end messaging applications and back-end messaging systems and provides a common user interface for frequent tasks.
    • The MAPI subsystem acts as a central clearing house to unify the various messaging systems and shield clients from their differences.

    MAPI Subsystem 

    The MAPI subsystem is made up of the MAPI spooler, a common user interface, and the programming interfaces. The MAPI spooler is a separate process responsible for sending messages to and receiving messages from a messaging system. The common user interface is a set of dialog boxes that gives client applications a consistent look and users a consistent way to work.

    The above article shows how Simple MAPI, CMC, and the CDO Library are layered between MAPI and client applications. Messaging-based clients call directly into MAPI while messaging-aware and messaging-enabled clients call into Simple MAPI, the CDO Library or CMC. Calls to these higher level APIs are forwarded to MAPI.

    MAPI - Programming interfaces 

    MAPI has programming interfaces that are used by the MAPI subsystem, by client application writers, and by service provider writers. The main programming interface is an object-based interface known as the MAPI programming interface. Based on the OLE Component Object Model, the MAPI programming interface is used by the MAPI subsystem and by messaging-based client applications and service providers written in C or C++.

    Client Application Writers 

    Client application writers have a choice of three other interfaces:

      • Simple MAPI
        •  An API function-based client interface for applications written in C, Microsoft Visual C++, or Microsoft Visual Basic.
      • Common Messaging Calls (CMC)
        • An API function-based client interface for applications written in C or C++.
      • CDO Library
        •  An object-based client interface for applications written in C, C++, Visual Basic, or Visual Basic for Applications. 

    Note:

    • Simple MAPI, CMC, and CDO Library client interfaces are primarily for messaging-aware and messaging-enabled client applications.
    • These interfaces are less complex.
    • Applications that require fewer messaging features can use Simple MAPI, CMC, or the CDO Library to implement these features quickly and easily.

    MAPI client application

    • A MAPI client application is any application that uses one of the three MAPI client interfaces (Simple MAPI, CMC, and the CDO Library) or the MAPI programming interface.
    • Client applications implement messaging tasks as either their primary or secondary focus.
    • Messaging client applications, such as applications that send and receive electronic mail, implement messaging as their primary focus while for non-messaging client applications, such as inventory or configuration applications, it is a secondary feature.

    Client application categories 

    Client applications can be organized into one of the following three categories:

    • Messaging-aware applications
    • Messaging-enabled applications
    • Messaging-based work group applications

    i) Messaging-aware applications 

    A messaging-aware application does not require the services of a messaging system, but includes messaging options as an additional feature.

    Example: A word processing application that includes a Send command in its File menu to allow documents to be sent is considered messaging-aware.

    ii) Messaging-enabled applications 

    A messaging-enabled application requires the services of a messaging system and typically runs on a network or an online service.

    Example: A messaging-enabled application is Microsoft Mail.

    iii) Messaging-based work group applications 

    A more advanced client application is the messaging-based work group application. The work group application requires full access to a wide range of messaging system services, including storage, addressing, and transport services. These applications are designed to operate over a network without users having to manage the applications' network interaction.

    Example: Such applications include work flow automation programs and bulletin board services.

  • Le Café Central de DeVa

    Gotcha - PermanentURL & WebDAV Series # 1

    • 4 Comments

    Take this scenario. One of my customer wanted to updated the contact fields using PR_ENTRY_ID and other fields. He can able to obtain the other all fields and getting issue with this property whenever he retrieve using WebDAV·  He gets garbage values at one client and another client it leads him to Exception.

    In this scenario, instead of using the MAPI property, we can make use of PermanentURL. In order to access the property we need to make use of the following property:

     
    Note: This property is unique across all servers.

    There are certain things that needs to be considered when we use the PermanentURL is listed below:

    If you use the permanenturl field, be aware of the following issues:

    . This field is the field for a permanent URL that can always be used to access an item even if the URL to the item is either renamed or moved.

    . The size of the permanenturl fields is computed according to the following conditions:

    . The flat URL name uses the following format, where the folder ID (FID) and the message ID (MID) are in long format (GUID + ID). These IDs are unique on a server.

    . For folders: http://server/virtual_root/-FlatUrlSpace-/text-format-fid-of-folder

    . For messages: http://server/virtual_root/-FlatUrlSpace-/text-format-fid-of-folder/text-format-mid-of-message

    . There must be hyphen (-) between the GUID and the ID.

    . When you change the ID to a text format, you must leave out the leading zeros. The following text is an example of a flat URL to a folder whose FID is 1-287. This example assumes that replid 1 maps to GUID 3B6D774A33B6D211AEB500C04FB6B4C6:

       1:  "/-FlatUrlSpace-/3B6D774A33B6D211AEB500C04FB6B4C6-287"   

    The following text is an example of a flat URL to a message in folder 1-287 whose MID is 1-30A:

       1:  "/-FlatUrlSpace-/3B6D774A33B6D211AEB500C04FB6B4C6-287/3B6D774A33B6D211AEB500C04FB6B4C6-30A" 

    The maximum size is:

       1:  http://long_server_name/long_virtual_root name/3B6D774A33B6D211AEB500C04FB6B4C6-FFFFFFFFFFFE/3B6D774A33B6D211AEB500C04FB6B4C6-FFFFFFFFFFFF  

    . You cannot have two permanenturl values that differ by case that point to separate items. Computer names, virtual roots, GUIDs, and hexadecimal-format FIDs and MIDs are all defined as case-insensitive.

    . To have successful queries, you may have to remove the section before "/-FlatUrlSpace-/b8d01..." in the syntax from the queries. For example, you may have to remove http://servername/folder from the following query:

    "http://servername/folder/-FlatUrlSpace-/b8d01... 

    The following section includes examples of queries.

    . To test with webDAV (HTTP), run either of the following queries:

       1:  <sql> Select "http://schemas.microsoft.com/exchange/permanenturl","DAV:id 
       2:   
       3:  http://schemas.microsoft.com/exchange/permanenturl" FROM Scope('SHALLOW 
       4:   
       5:  TRAVERSAL OF ""') WHERE "http://schemas.microsoft.com/exchange/permanenturl" = 
       6:   
       7:  /-FlatUrlSpace-/b8d014e9f474644ba656cb6adcef9d7b-1c/b8d014e9f474644ba656cb6adcef9d7b-1de6'

    -or-

       1:  <sql> Select "http://schemas.microsoft.com/exchange/permanenturl","DAV:id 
       2:   
       3:  http://schemas.microsoft.com/exchange/permanenturl" FROM Scope('SHALLOW 
       4:   
       5:  TRAVERSAL OF ""') WHERE "http://schemas.microsoft.com/exchange/permanenturl" = 
       6:   
       7:  'http://servername/folder/-FlatUrlSpace-/b8d014e9f474644ba656cb6adcef9d7b-1c/b8d014e9f474644ba656cb6adcef9d7b-1de6'  

    . To test with Microsoft ActiveX Data Objects (ADO) (the ExOLEDB file), run either of the following queries:

       1:  SELECT "http://schemas.microsoft.com/exchange/permanenturl" FROM scope('shallow traversal of 
       2:   
       3:  "file://./backofficestorage/mycompany.com/MBX/user/Calendar"' 
       4:   
       5:  file://./backofficestorage/mycompany.com/MBX/user/Calendar) 
       6:   
       7:  WHERE "http://schemas.microsoft.com/exchange/permanenturl" = 
       8:   
       9:  '/-FlatUrlSpace-/b8d014e9f474644ba656cb6adcef9d7b-1c/b8d014e9f474644ba656cb6adcef9d7b-1db5' 

    -or-

       1:  SELECT "http://schemas.microsoft.com/exchange/permanenturl" FROM scope('shallow traversal of 
       2:   
       3:  "file://./backofficestorage/mycompany.com/MBX/user/Calendar"' 
       4:   
       5:  file://./backofficestorage/mycompany.com/MBX/user/Calendar)WHERE "http://schemas.microsoft.com/exchange/permanenturl" = 
       6:   
       7:  'file://./backofficestorage/servername/folder/-FlatUrlSpace-/b8d014e9f474644ba656cb6adcef9d7b-1c/b8d014e9f474644ba656cb6adcef9d7b-1db5'  
  • Le Café Central de DeVa

    Download: .Net Universe 2013 Poster

    • 4 Comments

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

  • Le Café Central de DeVa

    Outlook programming : Looping individual mails inside the Inbox

    • 3 Comments
       1:  'myLoop method
       2:  Sub myLoop()
       3:   
       4:     'Declaration
       5:      Dim olApp As Outlook.Application
       6:      Dim olNs As Outlook.NameSpace
       7:      Dim olFldr As Outlook.MAPIFolder
       8:      Dim olItms As Outlook.Items
       9:      Dim olMail As Object
      10:   
      11:      Set olApp = New Outlook.Application
      12:      Set olNs = olApp.GetNamespace("MAPI")
      13:      Set olFldr = olNs.GetDefaultFolder(olFolderInbox)
      14:      Set olItms = olFldr.Items
      15:   
      16:      'Loop the items     
      17:      For Each olMail In olItms
      18:          'Here you need to use olMail Object to inspect individual mails inside the Inbox
      19:      Next olMail
      20:   
      21:      'Release the objects appropriately
      22:      Set olFldr = Nothing
      23:      Set olNs = Nothing
      24:      Set olApp = Nothing
      25:  End Sub
  • Le Café Central de DeVa

    Various Outlook versions : .pst file has different formats & folder size limits

    • 3 Comments

    Microsoft Office Outlook 2007 & Outlook 2003 have both a different format and a larger overall size limit for the personal folders (.pst) file than the .pst files that are in the earlier versions of Microsoft Outlook.

    In Outlook 2002 and earlier, the .pst files are in the American National Standards Institute (ANSI) format, and the overall size has a limit of 2 gigabytes (GB).

    By default, .pst files are in the Unicode format in Outlook 2007 and in Outlook 2003. Additionally, the overall size of the .pst files has a limit that is more than the 2-GB limit that is imposed by the ANSI .pst files. By default, the limit for a Unicode .pst file in Outlook 2007 and in Outlook 2003 is configured to be 20 GB.

    As in earlier versions of Outlook, Outlook 2003 Internet Message Access Protocol Version 4rev1 (IMAP4) accounts and HTTP accounts use .pst files that do not use the Unicode format. Therefore, the .pst files for IMAP or HTTP accounts in Outlook 2003 are limited to 2 GB. In Outlook 2007, the Internet Message Access Protocol Version 4rev1 (IMAP4) accounts and HTTP accounts do use Unicode format .pst files and are not limited to 2 GB.

  • Le Café Central de DeVa

    Creating Outlook rules not possible using Exchange Web Services?

    • 3 Comments

    When i working with the customer who is working with Exchange Server 2007, the discussion turned towards the Exchange Web Services. He is interested to create rules on Outlook using Exchange Web Services (EWS) and looks how to proceed on this.

    At the end of research, we found that it's not possible to create rules for a specific mailbox using EWS. In the similar way, it is not possible to view the rules that are set on a mailbox with the EWS. This happens due to when we work with EWS we can't access the rules table.

    We recommended customer to make use of the following API's:

    1) using Messaging API (MAPI) with the Outlook Object Model (OOM)
    2) using Extended MAPI

    Email rules protocol specification docs - Available:

    You can find the Email rules related protocol specification documentation by clicking here.

  • Le Café Central de DeVa

    Part # 1 : Exchange Web Services (EWS) & VB.Net – Creating Calendar (non-Recurrence type)

    • 3 Comments

    Hi Peers,

    I have include the part 1 of Exchange Web Services & VB.Net. Earlier my couple of VB developer customers were looking for relevant VB.Net related articles and found very few. Keeping in that mind, i have created this EWS_VB.net_Calendar thread to start with.

    In this session we will going to see how we can create the Calendar using Exchange Web Services (EWS). I tried to provide things as simpler as i can…

    I would appreciate to know if you have any suggestions/clarifications regarding this…

     

    Step 1: Create Exchange Service Binding

    'Create Exchange Service Binding
    Dim esb As New ExchangeServiceBinding()
    'Provide the NetworkCredential
    esb.Credentials = New NetworkCredential("username", "password", "domain")
    'Provide the URL
    esb.Url = https://Fully qualified domain/ews/exchange.asmx


    Step 2: Create Calendar

    ' Create the appointment.
    Dim appointment As New CalendarItemType()


    Step 3: Set the properties of the appointment

    ' Set the properties of the appointment.
    appointment.Start = "2/24/2009 12:30:00PM"
    appointment.StartSpecified = True
    appointment.[End] = "2/24/2009 1:30:00PM"
    appointment.EndSpecified = True
    appointment.Subject = "Planning meeting by Deva"
    appointment.Location = "Building 3, Room 311"
    appointment.Body = New BodyType()
    appointment.Body.BodyType1 = BodyTypeType.Text
    appointment.Body.Value = "Plan the department party."

    Step 4: Add the required attendees

    ' Add required attendees.
    appointment.RequiredAttendees = New AttendeeType(1) {}
    appointment.RequiredAttendees(0) = New AttendeeType()
    appointment.RequiredAttendees(0).Mailbox = New EmailAddressType()
    appointment.RequiredAttendees(0).Mailbox.EmailAddress = "chris@contoso.com"

    Step 5: Create the array of items that will contain the appointment

    ' Create the array of items that will contain the appointment.
    Dim arrayOfItems As New NonEmptyArrayOfAllItemsType()
    arrayOfItems.Items = New ItemType(1) {}
     
    ' Add the appointment to the array of items.
    arrayOfItems.Items(0) = appointment
     
    ' Create the CreateItem request.
    Dim createRequest As New CreateItemType()
     
    'The SendMeetingInvitations attribute is required for calendar items.
    createRequest.SendMeetingInvitations = CalendarItemCreateOrDeleteOperationType.SendToAllAndSaveCopy
    createRequest.SendMeetingInvitationsSpecified = True
     
    'Add the destination folder(calendar) to the CreateItem request.
    createRequest.SavedItemFolderId = New TargetFolderIdType()
    Dim dfCalendarFolder As DistinguishedFolderIdType = New DistinguishedFolderIdType()
    dfCalendarFolder.Id = DistinguishedFolderIdNameType.calendar
    createRequest.SavedItemFolderId.Item = dfCalendarFolder


    Step 6: Add the items to CreateItem request

    ' Add the items to the CreateItem request.
    createRequest.Items = arrayOfItems
     

    Step 7: Create the appointment by calling the CreateItem method & Check the result

    ' Create the appointment by calling the CreateItem method, which has the side effect of sending invitations to attendees.
    Dim createResponse As CreateItemResponseType = esb.CreateItem(createRequest)
     
    ' Check the result.
    If createResponse.ResponseMessages.Items(0).ResponseClass <> ResponseClassType.Success Then
         Throw New Exception("SendAppointment failed.")
    Else
                Console.WriteLine("Calendar Item Created")
    End If


    Step 8: Result

    image

Page 1 of 27 (652 items) 12345»