Information about the Calendar Checking Tool for Outlook (CalCheck)

Summary

The Calendar Checking Tool for Outlook (CalCheck) is a command-line program that checks the Microsoft Outlook calendar for problems. The tool opens an Outlook messaging profile to access the Outlook calendar. It performs various checks on general settings, such as permissions, free/busy publishing, delegate configuration, and automatic booking. Then, each item in the Outlook calendar folder is checked for known problems that can cause unexpected behavior, such as meetings that seem to be missing.

The CalCheck tool then generates a report that can be used to help diagnose problem items or identify trends.

Important CalCheck reports include the following fields for meetings or appointments that are determined to be problematic:

  • Subject

  • Location

  • Start Time

  • End Time

  • Organizer

Because these calendar item fields may contain personal information or details, we recommend that you first review all items in the CalCheck report before you share your report. See the "More information" section for additional fields that are found in CalCheck reports.

Calendar Checking Tool information

To use CalCheck, the Outlook calendar must reside on a computer that is running Microsoft Exchange Server. The tool does not work with IMAP, POP3, or other non-Exchange email accounts.

Installation

To download and install the Calendar Checking Tool for Outlook, select the following link to go to the latest release:

https://github.com/rtopken/CalCheck/releases
Note The 64-bit version of this tool is for use together with only the 64-bit version of Microsoft Outlook.

Checks that are performed

The Calendar Checking Tool performs two basic kinds of checks: Calendar-specific checks and item-level checks.

Calendar-specific checks

The following calendar-specific checks are run and then logged in the report:

  • Permissions on the calendar.

  • The total number of items in the calendar folder.

    For more information about high item counts in the Calendar folder, see the following Knowledge Base article:

    2768656 Outlook performance issues when there are too many items or folders in a Cached mode .ost or .pst file folder

  • Delegates on the calendar.

  • Free/busy publishing information.

  • Direct Booking settings for the mailbox or calendar.

Note The information for these three checks is read from the Local free/busy message. In rare cases, Outlook may be unable to open that message. In that case, these checks fail. You should force the regeneration of the hidden free/busy information in the Exchange mailbox only if this occurs.

For more information about how to regenerate the hidden free/busy information, see the following Knowledge Base article:

958443 You experience issues in Outlook when you try to configure free/busy information or when you try to delegate information.

Item-level checks

The following item-level checks are run and then logged in the report.

Error number

Issue

Solution

0001

The Items Recurrence Start Date or Time is set to 0 (year 1601).

If you are the organizer, you should change the Calendar folder view to a table view, find the appointment or meeting, and then cancel and re-create it. If you don’t see it in the list, run calcheck -f. If you are the attendee, you should contact the organizer and ask him or her to cancel and then re-create the meeting.

0002

The Items Recurrence Start Date or Time is earlier than January 1 1995.

This is not necessarily an error condition. You should delete or cancel the item only if it seems to be corrupted. By default, these items are not moved when you use the –f argument. These are moved with calcheck -f only if you configure calcheck to treat warnings as errors per the cfg file (WarningIsError=true).

0003

The Items Recurrence Start Date or Time is later than January 1 2025.

This is not necessarily an error condition. You should delete or cancel the item only if it seems to be corrupted. By default, these items are not moved when you use the –f argument. These are moved with calcheck -f only if you configure calcheck to treat warnings as errors per the cfg file (WarningIsError=true).

0004

The Items Recurrence Start Date or Time is past the upper limit.

If you are the organizer, you should change the Calendar folder view to a table view, find the appointment or meeting, and then cancel and re-create it. If you don’t see it in the list, run calcheck -f. If you are the attendee, you should contact the organizer and ask her or him to cancel and then re-create the meeting.

0005

The Items Recurrence End Date or Time is set to 0 (year 1601).

If you are the organizer, you should change the Calendar folder view to a table view, find the appointment or meeting, and then cancel and re-create it. If you don’t see it in the list, run calcheck -f. If you are the attendee, you should contact the organizer and ask her or him to cancel and then re-create the meeting.

0006

Items Recurrence End Date or Time is earlier than January 1 1995.

If you are the organizer, you should change the Calendar folder view to a table view, find the appointment or meeting, and then cancel and re-create it. If you don’t see it in the list, run calcheck -f. If you are the attendee, you should contact the organizer and ask her or him to cancel and then re-create the meeting.

0007

The Items Recurrence End Date or Time is later than January 1 2025.

This is not necessarily an error condition. You should delete or cancel the item only if it seems to be corrupted. By default, these items are not moved when you use the –f argument. These are moved with calcheck -f only if you configure calcheck to treat warnings as errors per the cfg file (WarningIsError=true).

0008

The Items Recurrence End Date or Time is past the upper limit.

If you are the organizer, you should change the Calendar folder view to a table view, find the appointment or meeting, and then cancel and re-create it. If you don’t see it in the list, run calcheck -f. If you are the attendee, you should contact the organizer and ask her or him to cancel and then re-create the meeting.

0009

The Items Recurrence properties are not created correctly.

If you are the organizer, you should change the Calendar folder view to a table view, find the appointment or meeting, and then cancel and re-create it. If you don’t see it in the list, run calcheck -f. If you are the attendee, you should contact the organizer and ask her or him to cancel and then re-create the meeting.

0010

Appointments Recurrence data is empty.

If you are the organizer, you should change the Calendar folder view to a table view, find the appointment or meeting, and then cancel and re-create it. If you don’t see it in the list, run calcheck -f. If you are the attendee, you should contact the organizer and ask her or him to cancel and then re-create the meeting.

0011

The dispidRecurringproperty is set to False or does not exist, but the dispidRecurType property is not set to None. This indicates that the appointment is recurring. Therefore, the two properties are conflicting.

If you are the organizer, you should change the Calendar folder view to a table view, find the appointment or meeting, and then cancel and re-create it. If you don’t see it in the list, run calcheck -f. If you are the attendee, you should contact the organizer and ask her or him to cancel and then re-create the meeting.

0012

There is no Appointment Recurrence but dispidRecurring is set to True

If you are the organizer, you should change the Calendar folder view to a table view, find the appointment or meeting, and then cancel and re-create it. If you don’t see it in the list, run calcheck -f. If you are the attendee, you should contact the organizer and ask her or him to cancel and then re-create the meeting.

0013

The Recurrence Exception data mismatch.

If you are the organizer, you should change the Calendar folder view to a table view, find the appointment or meeting, and then cancel and re-create it. If you don’t see it in the list, run calcheck -f. If you are the attendee, you should contact the organizer and ask her or him to cancel and then re-create the meeting.

0014

The Recurrence Original Start Date or Time is set before the start of the series.

If you are the organizer, you should change the Calendar folder view to a table view, find the appointment or meeting, and then cancel and re-create it. If you don’t see it in the list, run calcheck -f. If you are the attendee, you should contact the organizer and ask her or him to cancel and then re-create the meeting.

0015

The Recurrence Original Start Date or Time occurs after the end of the series.

If you are the organizer, you should change the Calendar folder view to a table view, find the appointment or meeting, and then cancel and re-create it. If you don’t see it in the list, run calcheck -f. If you are the attendee, you should contact the organizer and ask her or him to cancel and then re-create the meeting.

0016

The Start Date or Time is to Zero.

If you are the organizer, you should change the Calendar folder view to a table view, find the appointment or meeting, and then cancel and re-create it. If you don’t see it in the list, run calcheck -f. If you are the attendee, you should contact the organizer and ask her or him to cancel and then re-create the meeting.

0017

The Start Date or Time is earlier than January 1 1995.

If you are the organizer, you should change the Calendar folder view to a table view, find the appointment or meeting, and then cancel and re-create it. If you don’t see it in the list, run calcheck -f. If you are the attendee, you should contact the organizer and ask her or him to cancel and then re-create the meeting.

0018

The Start Date or Time is later than Jan 1 2025.

This is not necessarily an error condition. You should delete or cancel the item only if it seems to be corrupted. By default, these items are not moved when you use the –f argument. These are moved with calcheck -f only if you configure calcheck to treat warnings as errors per the cfg file (WarningIsError=true).

0019

The Start Date or Time is past the upper limit.

If you are the organizer, you should change the Calendar folder view to a table view, find the appointment or meeting, and then cancel and re-create it. If you don’t see it in the list, run calcheck -f. If you are the attendee, you should contact the organizer and ask her or him to cancel and then re-create the meeting.

0020

The Appointment is missing the Start Time.

If you are the organizer, you should change the Calendar folder view to a table view, find the appointment or meeting, and then cancel and re-create it. If you don’t see it in the list, run calcheck -f. If you are the attendee, you should contact the organizer and ask her or him to cancel and then re-create the meeting.

0021

The End Date or Time is to Zero.

If you are the organizer, you should change the Calendar folder view to a table view, find the appointment or meeting, and then cancel and re-create it. If you don’t see it in the list, run calcheck -f. If you are the attendee, you should contact the organizer and ask her or him to cancel and then re-create the meeting.

0022

The End Date or Time is earlier than January 1 1995.

If you are the organizer, you should change the Calendar folder view to a table view, find the appointment or meeting, and then cancel and re-create it. If you don’t see it in the list, run calcheck -f. If you are the attendee, you should contact the organizer and ask her or him to cancel and then re-create the meeting.

0023

The End Date or Time is later than Jan 1 2025. This might be intentional but may also indicate a problem.

This is not necessarily an error condition. You should delete or cancel the item only if it seems to be corrupted. By default, these items are not moved when you use the –f argument. These are moved with calcheck -f only if you configure calcheck to treat warnings as errors per the cfg file (WarningIsError=true).

0024

The End Date or Time is past the upper limit.

If you are the organizer, you should change the Calendar folder view to a table view, find the appointment or meeting, and then cancel and re-create it. If you don’t see it in the list, run calcheck -f. If you are the attendee, you should contact the organizer and ask her or him to cancel and then re-create the meeting.

0025

This item is missing the Appointment End Time.

If you are the organizer, you should change the Calendar folder view to a table view, find the appointment or meeting, and then cancel and re-create it. If you don’t see it in the list, run calcheck -f. If you are the attendee, you should contact the organizer and ask her or him to cancel and then re-create the meeting.

0026

This item is missing the required property dispidRecurring.

For more information about appointments not displaying in the Day, Week, or Month view, click the following article number to view the article in the Microsoft Knowledge Base:
827432 An Outlook calendar appointment is not visible in the Day, Week, or Month view when you create the appointment by using WebDAV in Exchange 2000

0027

This item is missing the required property dispidApptTZDefStartDisplay.

If you are the organizer, you should change the Calendar folder view to a table view, find the appointment or meeting, and then cancel and re-create it. If you don’t see it in the list, run calcheck -f. If you are the attendee, you should contact the organizer and ask her or him to cancel and then re-create the meeting.

0028

This item is missing the PR_SENT_REPRESENTING_NAME property.

For more information about missing Organizer email addresses or display names, click the following article number to view the article in the Microsoft Knowledge Base:
2825677 Description of the Outlook 2013 hotfix package (Outlook-x-none.msp; Outlookintl-<Language-Code>.msp): October 16, 2013

0029

This item is missing the PR_SENDER_NAME property.

For more information about missing Organizer email addresses or display names, click the following article number to view the article in the Microsoft Knowledge Base:
2825677 Description of the Outlook 2013 hotfix package (Outlook-x-none.msp; Outlookintl-<Language-Code>.msp): October 16, 2013

0030

There is no Organizer Address on this item. Check the PR_SENT_REPRESENTING properties on this item.

For more information about missing Organizer email addresses or display names, click the following article number to view the article in the Microsoft Knowledge Base:
2849083 "Could not complete the operation. One or more parameter values are not valid" error message when an organizer updates a recurring meeting

0031

There is no Sender Address on this item. Check the PR_SENDER properties on this item.

For more information about missing Organizer email addresses or display names, click the following article number to view the article in the Microsoft Knowledge Base:
2849083 "Could not complete the operation. One or more parameter values are not valid" error message when an organizer updates a recurring meeting

0032

There is no Subject on this item. You should add a Subject to this item.

If you are the organizer, update the meeting to include a subject. If you are the attendee, ask the organizer to update the meeting to include a subject. Although this is not an error condition, it makes it easier to troubleshoot any future issues that are related to the meeting.

0033

There is no Message Class for this item.

If you have an issue with a meeting that does not have the default message class of IPM.Appointment, and if removing or canceling the meeting resolves the issue, you should determine which program is creating meetings by using that custom message class. You have to determine whether the program or add-in is a Microsoft or third-party application. If it is a third-party application, contact the third-party for support.

0034

The Message Class of this item is not standard for a Calendar item and may indicate a problem.

If you have an issue with a meeting that does not have the default message class of IPM.Appointment, and if removing or canceling the meeting resolves the issue, you should determine which program is creating meetings by using that custom message class. You have to determine whether the program or add-in is a Microsoft or third-party application. If it is a third-party application, contact the third-party for support.

0035

Missing required property PR_MESSAGE_CLASS.

If you have an issue with a meeting that does not have the default message class of IPM.Appointment, and if removing or canceling the meeting resolves the issue, you should determine which program is creating meetings by using that custom message class. You have to determine whether the program or add-in is a Microsoft or third-party application. If it is a third-party application, contact the third-party for support.

0036

Unable to access the attachment table for this item. Error: <error code returned>

If you are the organizer, change the Calendar folder view to a table view, find the appointment or meeting, and then cancel and re-create it. If you don’t see in the list, run calcheck -f. If you are the attendee, you should contact the organizer and ask him or her to cancel and then re-create the meeting.

0037

There are more than 25 attachments on this item. This may indicate a problem with exceptions on this recurring meeting.

This is not an error condition. However, for more information, see the 'Working with recurring meetings' section in this article: Best practices when using the Outlook Calendar

0038

The Message Size Exceeds 50MB. This may indicate a problem with attachments/exceptions/properties on this item.

This is not an error condition. However, for more information, see the 'Working with recurring meetings' section in this article: Best practices when using the Outlook Calendar.

0039

The Message Size Exceeds 25MB. This may indicate a problem with attachments/exceptions/properties on this item.

This is not an error condition. However, for more information, see the 'Working with recurring meetings' section in this article: Best practices when using the Outlook Calendar.

0040

The Message Size Exceeds 10MB. This may indicate a problem with attachments/exceptions/properties on this item.

This is not an error condition. However, for more information, see the 'Working with recurring meetings' section in this article: Best practices when using the Outlook Calendar.

0041

The SENT_REPRESENTING address does not match the Organizer Address from the Recipient Table.  /RecipTable:  /SentRepresenting:

For more information, click the following article number to view the article in the Microsoft Knowledge Base:
2563324 Current issues with Microsoft Exchange ActiveSync and third-party devices

0042

The organizer of this meeting is potentially incorrect.

For more information, click the following article number to view the article in the Microsoft Knowledge Base:
2563324 Current issues with Microsoft Exchange ActiveSync and third-party devices

0043

The dispidCleanGlobalObjectID property is not populated on this item.

For more information, click the following article number to view the article in the Microsoft Knowledge Base:
2714118 Calendar items that are copied are missing in Exchange Server 2007

0044

The dispidGlobalObjectID and the dispidCleanGlobalObjectID properties are not populated on this item.

For more information, click the following article number to view the article in the Microsoft Knowledge Base:
2714118 Calendar items that are copied are missing in Exchange Server 2007

0045

The dispidGlobalObjectID property is not populated on this item.

For more information, click the following article number to view the article in the Microsoft Knowledge Base:
2714118 Calendar items that are copied are missing in Exchange Server 2007

0046

The PidLidGlobalObjectId property values match on two items.

For more information, click the following article number to view the article in the Microsoft Knowledge Base:
3012590 Instance of calendar appointment is missing or duplicated on ActiveSync client

0047

The PidLidCleanGlobalObjectId property values match on two items.

For more information, click the following article number to view the article in the Microsoft Knowledge Base:
3012590 Instance of calendar appointment is missing or duplicated on ActiveSync client

0048

The PidLidGlobalObjectId and PidLidCleanGlobalObjectId property values match on two items.

For more information, click the following article number to view the article in the Microsoft Knowledge Base:
3012590 Instance of calendar appointment is missing or duplicated on ActiveSync client

0049

This item is duplicated in the Calendar. Please check this item.

If you are the organizer, change the Calendar folder view to a table view, find the appointment or meeting, and then cancel and re-create it. If you don’t see in the list, run calcheck -f. If you are the attendee, you should contact the organizer and ask him or her to cancel and then re-create the meeting.

If the subject, organizer, location, recurring/single instance, and start/end times properties all match for two or more items, calcheck –f moves all duplicates except one.

0050

The Recipient Table has a bad or missing address type.

If you are the organizer, change the Calendar folder view to a table view, find the appointment or meeting, and then cancel and re-create it. If you don’t see in the list, run calcheck -f. If you are the attendee, you should contact the organizer and ask him or her to cancel and then re-create the meeting.

0051

The Recipient Table has a bad or missing email address.

If you are the organizer, change the Calendar folder view to a table view, find the appointment or meeting, and then cancel and re-create it. If you don’t see in the list, run calcheck -f. If you are the attendee, you should contact the organizer and ask him or her to cancel and then re-create the meeting.

0052

The Recipient Table has a bad or missing display name entry.

If you are the organizer, change the Calendar folder view to a table view, find the appointment or meeting, and then cancel and re-create it. If you don’t see in the list, run calcheck -f. If you are the attendee, you should contact the organizer and ask him or her to cancel and then re-create the meeting.

0053

The Recipient Table Organizer has a bad or missing email address property.

If you are the organizer, change the Calendar folder view to a table view, find the appointment or meeting, and then cancel and re-create it. If you don’t see in the list, run calcheck -f. If you are the attendee, you should contact the organizer and ask him or her to cancel and then re-create the meeting.

0054

The Recipient Table contains duplicated entries. Free Busy lookups could be affected.

If you are the organizer, change the Calendar folder view to a table view, find the appointment or meeting, and then cancel and re-create it. If you don’t see in the list, run calcheck -f. If you are the attendee, you should contact the organizer and ask him or her to cancel and then re-create the meeting.

0055

Item is missing required data in the dispidApptTZDefRecur property.

If you are the organizer, you should change the Calendar folder view to a table view, find the appointment or meeting, and then cancel and re-create it. If you don’t see it in the list, run calcheck -f. If you are the attendee, you should contact the organizer and ask her or him to cancel and then re-create the meeting.

0056

The dispidPropDefStream property is corrupted. This is a known problem that can cause Outlook to crash.

For more information, click the following article number to view the article in the Microsoft Knowledge Base:
3017283 Outlook crashes when you open a meeting that contains Lync meeting details

0057

The PropDefStream was not created correctly when calling MrMapi.

Run CalCheck again to see whether the PropDefStream can be created correctly. If this error occurs again, then if you are the organizer, change the Calendar folder view to a table view, find the appointment or meeting, and then cancel and re-create it. If you don’t see in the list, run calcheck -f. If you are the attendee, you should contact the organizer and ask him or her to cancel and then re-create the meeting.

0058

The Email address type is not Exchange or SMTP. This could potentially cause performance problems on address lookups.

If you are the organizer, change the Calendar folder view to a table view, find the appointment or meeting, and then cancel and re-create it. If you don’t see in the list, run calcheck -f. If you are the attendee, you should contact the organizer and ask him or her to cancel and then re-create the meeting.

0059

Item is missing the required prop PR_MESSAGE_DELIVERY_TIME.

If you are the organizer, change the Calendar folder view to a table view, find the appointment or meeting, and then cancel and re-create it. If you don’t see in the list, run calcheck -f. If you are the attendee, you should contact the organizer and ask him or her to cancel and then re-create the meeting.

0060

WARNING: Number of Recurring Appointments is greater than 1250. The maximum is 1300.

To prevent hitting the limit, delete some older recurring appointments.

0061

ERROR: Number of Recurring Appointments reached the limit of 1300.

To correct this, delete some older recurring appointments.

0062

Conflicting items in the Calendar.

If you run CalCheck -f, these conflicting items are moved.


Note If you prefer not to have holiday items flagged, change the CalCheck.cfg file. CalCheck identifies an all-day event as a holiday if the Keywords named property includes the "holiday" string.

Current Help and command-line switches

This section describes the command-line switches that are available to customize CalCheck behavior.

Usages

You can edit the CalCheck.cfg file to turn specific tests on or off.

CalCheck [-P <profilename>] [-O <path>] [-C <Version>] [-A] [-F] [-R] [-V]

CalCheck -?

-P <Profile name> (if absent, prompts for profile)
-O <Output Path> (path to put output files; the default path is the current directory)
-C <Version> (load a specific MAPI version for the Click-to-Run version of Office 2016 or 2013)
-A All calendar items output to CALITEMS.CSV
-F Create CalCheck folder and move flagged error items there
-R Put a Report message into the Inbox together with the CalCheck.csv file
-V Verbose output to the command window
-? Print this message

Running the command creates CalCheck.log and CalCheckErr.csv files that show potential problems and items to fix or remove, plus processing information.

Examples

  • Default - Prompt for a profile, and process the mailbox in that profile:

CalCheck

  • Process just the mailbox in “MyProfile”:

CalCheck -P MyProfile

  • Process a mailbox and move error items to the CalCheck folder in the mailbox, and place a report message in the Inbox:

CalCheck -F -R

  • Process a mailbox based on a specific profile and version of MAPI for Click-to-Run versions of Office:

CalCheck -C <Outlook version - like 2010, 2013, etc.> -P MyProfile

  • Print this message:

CalCheck -?

Configuration File in CalCheck version 2

CalCheck version 2 (v2) now includes a CalCheck.cfg file. This file is located in the same folder in which CalCheck.exe is located. If the .cfg file is missing, CalCheck v2 displays an error message and does not run. The .cfg file is in plain text format. You can manually edit the file to enable or disable individual tests. By default, all tests are set to true. By default, all tests are run.

More information

CalCheck reports also contain the following fields from calendar meetings and appointments that are determined to be problematic.

Field

Description

Is Past Item (true/false)

Determines if the end time of the meeting or appointment occurred before or after the time CalCheck was ran.

Recurring (true/false)

Specifies if the meeting or appointment is recurring or if it is a single instance.

Other Item Subject

When duplicate items are found, the Other Item Subject describes the other item that is duplicated with the one in question so that you can find it in your calendar.

Other Item Start

When duplicate items are found, the Other Item Start describes the other item's start time that is duplicated with the one in question so that you can find it in your calendar.

Other Item End

When duplicate items are found, the Other Item End describes the other item's end time that is duplicated with the one in question so that you can find it in your calendar.

EntryID

This is PR_ENTRYID of the calendar item.

Need more help?

Expand your skills
Explore Training
Get new features first
Join Microsoft Insiders

Was this information helpful?

Thank you for your feedback!

Thank you for your feedback! It sounds like it might be helpful to connect you to one of our Office support agents.

×