none
Setting the Default Calendar Form in Outlook 2010 RRS feed

Answers

  • You should be able to reset the property using MAPIFolder.PropertyAccessor.SetProperty.

    MAPIFolder object can be retrieved from Namespace.GetSharedDefaultFolder(..., olFolderCalendar).

    You will need to log to a profile configured for a user who can access the mailboxes in question.


    Dmitry Streblechenko (MVP)
    http://www.dimastr.com/redemption
    Redemption - what the Outlook
    Object Model should have been
    Version 5.3 is now available!

    Thursday, August 9, 2012 7:46 PM
  • If you create a script, you would have to deploy it to all users.

    If you run as the user who can access the mailboxes, you just do it once and there is nothing to deploy. If you have thousands of users, you can bet that all hell will break loose for at least a few of them...

    In the former case, you can create a Windows login script that creates an instance of Outlook.Application, opens the folder using Namespace.GetDefaultFolder, then sets the property. I would not go that route if I were you...


    Dmitry Streblechenko (MVP)
    http://www.dimastr.com/redemption
    Redemption - what the Outlook
    Object Model should have been
    Version 5.3 is now available!


    Thursday, August 9, 2012 8:29 PM

All replies

  • If you look at the Calendar folder using MFCMAPI or OutlookSpy (go to the Calendar folder and click the IMAPIFolder button), what is the value of the PR_CONTAINER_CLASS property?

    How about PR_DEF_POST_MSGCLASS?


    Dmitry Streblechenko (MVP)
    http://www.dimastr.com/redemption
    Redemption - what the Outlook
    Object Model should have been
    Version 5.3 is now available!


    Tuesday, August 7, 2012 5:15 PM
  • I'm checking now...

    I installed outlook Spy on my own workstation (which never had the plugin installed), went to the Outlook Spy tab, Property Tag Lookup button, then entered PR_CONTAINER_CLASS.  Below, I received the following data:

    PR_CONTAINER_CLASS_W
    Contains a value that describes the type of Message object that a folder contains.
    Canonical name: PidTagContainerClass
    Alternate names: " PR_CONTAINER_CLASS_A"," PR_CONTAINER_CLASS_W",http://schemas.microsoft.com/exchange/outlookfolderclasshttp://schemas.microsoft.com/exchange/outlookfolderclass,PidTagContainerClass,PR_CONTAINER_CLASS,PR_CONTAINER_CLASS_A,PR_CONTAINER_CLASS_W,ptagContainerClass
    Areas:"Container Properties Property set"
    References: [MS-OXCICAL],[MS-OXMSG],[MS-OXOCAL],[MS-OXOCNTC],[MS-OXOSFLD],[MS-OXOSRCH],[MS-OXSHARE],[MS-XWDCAL],[MS-XWDCNTC],[MS-XWDEXT],[MS-XWDFOLD]
    Property Tag: 0x3613001F

    Is this what you are asking for or something else?

    Either way, I'm going to one of the machines now which is having the issue.  Thanks!



    Ben K.

    Tuesday, August 7, 2012 7:17 PM
  • One more thing...

    Using MFCMAPI, I did the following...

    1. Opened the app then opened my Outlook Profile

    2. Expanded Mailbox - MyName

    3. Expanded Root - Mailbox

    4. Expanded IPM_SubTree

    5. Chose Calendar

    6. Right clicked PR_CONTAINER_CLASS and chose to edit property

    got this info:

    Tag: 0x3613001E
    Type: PT_STRING8
    Property Name(s): PR_CONTAINER_CLASS, PR_CONTAINER_CLASS_A, ptagContainerClass
    Other Names: PR_CONTAINER_CLASS_W, PidTagContainerClass
    DASL: http://schemas.microsoft.com/mapi/proptag/0x3613001E

    Ansi: IPF.Appointment

    Count of bytes: 0x0000000F = 15

    Binary: 4950462E4170706F696E746D656E74

    Again, this is on my workstation which is not having the issue - However - for testing I did change my default form from IPM.Appointment to Appointment Classes in Outlook to see if I could run scripts to change it back to default which seems to match the Ansi value above.

    Hopefully, if my first post was incorrect, this one will be the info you need.  If so, I'll run the same process on one of the machines having the issue. 

    Thanks Again - 


    Ben K.

    Tuesday, August 7, 2012 7:28 PM
  • No, I asked you to look at the actual value of that property in the Calendar folder.

    Go to the Calendar folder and click the IMAPIFolder buttton.


    Dmitry Streblechenko (MVP)
    http://www.dimastr.com/redemption
    Redemption - what the Outlook
    Object Model should have been
    Version 5.3 is now available!

    Tuesday, August 7, 2012 10:18 PM
  • Whoops - Sorry.

    I checked a few machines and they all seem to be set to "IPF.Appointment"

    Thanks -


    Ben K.

    Wednesday, August 8, 2012 4:01 PM
  • That is what it is supposed to be. Were these the affected machines that use the custom appointment form?

    Dmitry Streblechenko (MVP)
    http://www.dimastr.com/redemption
    Redemption - what the Outlook
    Object Model should have been
    Version 5.3 is now available!

    Wednesday, August 8, 2012 4:22 PM
  • Here's the story...

    Up until about a week ago, we had a plugin named MRM installed on all workstations.  A few days ago, it was uninstalled from all of them.  Even though uninstalled, MRM's buttons still remain in the ribbon. (screenshot)

    The only way to remove them is to open the properties of the Calendar and change the setting "When posting to this folder, use" from MRM.Applointment (i think) to the default of "IPM.Appointment.

    The issue is that I need to find a way to do this on almost 1000 workstations and was told changing the default form was what was needed.

    Does that give you a better idea?  If you could help me do this, I'd really appreciate it!

    Thanks!


    Ben K.

    Wednesday, August 8, 2012 4:52 PM
  • Does changing (through MFCMAPI or OutlookSpy) the PR_CONTAINER_CLASS  property on the folder fix the problem?

    Dmitry Streblechenko (MVP)
    http://www.dimastr.com/redemption
    Redemption - what the Outlook
    Object Model should have been
    Version 5.3 is now available!

    Thursday, August 9, 2012 6:14 AM
  • Okay - I did a bot more research and here's the deal...

    After comparing machines that are correct and ones that are not, the "PR_CONTAINER_CLASS" value is the same on each.  There are other values, though, that are not.

    An exmaple of this would be the "PR_DEF_POST_MSGCLASS_W."  The machines needing the fix display "IPM.Appointment.MRM Reservation" while the good ones display "IPM.Appointment"

    I saved the IMAPIFolder properties for both a correct and incorrect configuration into text files which are linked below.  I guess if I could find a way to deploy a script / patch / file to make the incorrect ones like the correct ones, then I should be golden, right?

    Correct

    Incorrect

    What do you think?  Thanks again for your help!


    Ben K.

    Thursday, August 9, 2012 6:44 PM
  • You should be able to reset the property using MAPIFolder.PropertyAccessor.SetProperty.

    MAPIFolder object can be retrieved from Namespace.GetSharedDefaultFolder(..., olFolderCalendar).

    You will need to log to a profile configured for a user who can access the mailboxes in question.


    Dmitry Streblechenko (MVP)
    http://www.dimastr.com/redemption
    Redemption - what the Outlook
    Object Model should have been
    Version 5.3 is now available!

    Thursday, August 9, 2012 7:46 PM
  • Thanks, but I can also reset it by doing the below steps.  What I'm trying to find is a way to create a script or other deployable solution where I do not have to be logged in as a user with rights.

    1. Go to "Folder List" view in Outlook

    2. Right click "Calendar" and go to Properties

    3. Change “When posting to this folder, use:” to “IPM.Appointment” (Instead of MRM.Appointment or similar)

    Any ideas on how to do that? - Thanks!


    Ben K.

    Thursday, August 9, 2012 8:12 PM
  • If you create a script, you would have to deploy it to all users.

    If you run as the user who can access the mailboxes, you just do it once and there is nothing to deploy. If you have thousands of users, you can bet that all hell will break loose for at least a few of them...

    In the former case, you can create a Windows login script that creates an instance of Outlook.Application, opens the folder using Namespace.GetDefaultFolder, then sets the property. I would not go that route if I were you...


    Dmitry Streblechenko (MVP)
    http://www.dimastr.com/redemption
    Redemption - what the Outlook
    Object Model should have been
    Version 5.3 is now available!


    Thursday, August 9, 2012 8:29 PM
  • Hi Ben,

    I am on a similar situation, your post was useful, where you finally able to script the form change?

    Regards.

    Sebastian.

    Wednesday, November 7, 2012 1:36 PM