title: VSTO Addin Outlook Appointment delete and write event fired only if opened first
body: <p>I am working on an Outlook Addin where I try to perform a specific action if deleted. It works fine with all the appointments that I have already opened once. When the appointment is created or deleted from the calendar without being open first no event (BeforeDelete, Write) is fired.</p>
  
  <pre><code>private void ThisAddIn_Startup(object sender, System.EventArgs e)
  {
      inspectors = this.Application.Inspectors;
      inspectors.NewInspector +=
      new Microsoft.Office.Interop.Outlook.InspectorsEvents_NewInspectorEventHandler(Inspectors_NewInspector);
  }
  void Inspectors_NewInspector(Microsoft.Office.Interop.Outlook.Inspector Inspector)
  {
      appointmentItem = Inspector.CurrentItem as Outlook.AppointmentItem;
      if (appointmentItem != null)
      {
          (appointmentItem as Microsoft.Office.Interop.Outlook.ItemEvents_10_Event).Send += _appointment_Send;
          (appointmentItem as Microsoft.Office.Interop.Outlook.ItemEvents_10_Event).BeforeDelete += _appointment_Delete;
          (appointmentItem as Microsoft.Office.Interop.Outlook.ItemEvents_10_Event).Write += _appointment_Write;    
          (appointmentItem as Microsoft.Office.Interop.Outlook.ItemEvents_10_Event).Open += _appointment_Open;
          (appointmentItem as Microsoft.Office.Interop.Outlook.ItemEvents_10_Event).Close += _appointment_Close;
      }
  }
  </code></pre>
  
  <p>I would assume that the explanation lies in the fact inspectors are only attached when the appointment is open and that the path to follow is something more like described <a href="https://stackoverflow.com/questions/32205255/appointment-item-change-event-of-outlook-called-2-times-in-c-sharp">here</a> but I am not sure. The above code works like a charm excepted for the specific case where the appointment is not opened before being deleted or created.</p>
  
  <p>Any guidance will be much appreciated.</p>