This project has moved. For the latest updates, please go here.

Calling all Outlook 2003 users

Coordinator
Jan 25, 2015 at 9:35 PM
Edited Jan 25, 2015 at 9:49 PM
I have been experimenting with using simple MAPI to extract the Outlook meeting recipient's email address, as this version of Outlook does not provide it through the standard API.

I'd like some users that use Exchange to test the alpha version v1.2.3.3 just posted. There are likely to be bugs, but I need to know whether it is worth pursuing this design.

Features enabled through this change are:
  • Attendees added to Google properly (not as text at the bottom of event descriptions.
  • Google to Outlook sync enabled
Please let me know how it goes and report any problems on the Issues tab.

Note, please set the Logging Level on the Settings tab to "Fine" if you are submitting an Issue and log file.

Thanks!
Jan 27, 2015 at 12:13 AM
I successfully exported an event from v1.2.3.3 to Outlook 2007. There were no problems. Let me know if you want any logs.

Thanks!
Jan 27, 2015 at 3:04 AM
I tried it again later in the day, and this time it failed. I will create an issue.
Jan 29, 2015 at 7:28 PM
Edited Jan 29, 2015 at 7:33 PM
Tried v1.2.3.3 with Outlook 2007 on Win7 64-bit and it fails every time with MAPI cannot be initialized. I've uploaded the OGcalsync.log file to your EntourageBox, let me know if you need anything else.

Just a quick questions about the way this is intended to function: when this works will the Outlook attendees show up under the Google Calendar Guest list or will they still remain in the Description? I'm hoping they end up under the guest list, it would be much more useful.
Coordinator
Jan 29, 2015 at 11:53 PM
Hi Devo7v,
There was a hotfix posted on the issue thread about this - I've now posted it to the download page and updated it to v1.2.3.5, if you want to give that a go.

The intention is that all Outlook version will work the same, which means the attendees will be added properly under the guest list along with their optional status. Previously, Outlook 2003 and 2007 were just adding the attendee names to the bottom of the description, which wasn't ideal.
Jan 30, 2015 at 7:10 AM
Hello I've tried this today on Outlook 2007 on Windows 7.

I've found two bugs:
  1. Doing Google to Outlook sync has removed all the attendees in Outlook and added another "myself" to the list... As it seems that there no option to add attachments to this thread, I will create an issue and attach my logs there.
  2. If you go to the "Settings" tab and click on "Save" with or without doing changes, you get an "Unhandled exception" error. The error is "Object reference not set to an instance of an object" and the JIT debug info is:
See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.NullReferenceException: Object reference not set to an instance of an object.
at Microsoft.Office.Interop.Outlook.ItemsEvents_EventProvider.remove_ItemAdd(ItemsEvents_ItemAddEventHandler )
at Microsoft.Office.Interop.Outlook.ItemsClass.remove_ItemAdd(ItemsEvents_ItemAddEventHandler )
at OutlookGoogleCalendarSync.OutlookCalendar.DeregisterForAutoSync()
at OutlookGoogleCalendarSync.MainForm.Save_Click(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.5485 (Win7SP1GDR.050727-5400)

CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll

OutlookGoogleCalendarSync
Assembly Version: 1.0.5508.654
Win32 Version: 1.2.3.5

CodeBase: file:///M:/Network/GS/OutlookGoogleCalendarSync.exe

log4net
Assembly Version: 1.2.10.0
Win32 Version: 1.2.10.0

CodeBase: file:///M:/Network/GS/log4net.DLL

System.Configuration
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.5483 (Win7SP1GDR.050727-5400)

CodeBase: file:///C:/windows/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll

System
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.5485 (Win7SP1GDR.050727-5400)

CodeBase: file:///C:/windows/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll

System.Xml
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.5485 (Win7SP1GDR.050727-5400)

CodeBase: file:///C:/windows/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll

System.Core
Assembly Version: 3.5.0.0
Win32 Version: 3.5.30729.5420 built by: Win7SP1

CodeBase: file:///C:/windows/assembly/GAC_MSIL/System.Core/3.5.0.0__b77a5c561934e089/System.Core.dll

System.Windows.Forms
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.5483 (Win7SP1GDR.050727-5400)

CodeBase: file:///C:/windows/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll

System.Drawing
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.5483 (Win7SP1GDR.050727-5400)

CodeBase: file:///C:/windows/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll

Microsoft.Office.Interop.Outlook
Assembly Version: 12.0.0.0
Win32 Version: 12.0.4518.1014

CodeBase: file:///C:/windows/assembly/GAC/Microsoft.Office.Interop.Outlook/12.0.0.0__71e9bce111e9429c/Microsoft.Office.Interop.Outlook.dll

System.Runtime.Serialization
Assembly Version: 3.0.0.0
Win32 Version: 3.0.4506.5463 (Win7SP1GDR.030729-5400)

CodeBase: file:///C:/windows/assembly/GAC_MSIL/System.Runtime.Serialization/3.0.0.0__b77a5c561934e089/System.Runtime.Serialization.dll

SMDiagnostics
Assembly Version: 3.0.0.0
Win32 Version: 3.0.4506.5463 (Win7SP1GDR.030729-5400)

CodeBase: file:///C:/windows/assembly/GAC_MSIL/SMDiagnostics/3.0.0.0__b77a5c561934e089/SMDiagnostics.dll

CustomMarshalers
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.5483 (Win7SP1GDR.050727-5400)

CodeBase: file:///C:/windows/assembly/GAC_32/CustomMarshalers/2.0.0.0__b03f5f7f11d50a3a/CustomMarshalers.dll

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.
Jan 30, 2015 at 12:38 PM
Edited Jan 30, 2015 at 12:42 PM
With v1.2.3.5, the app crashes when trying to save settings. Likewise the app fails to load when trying to use a settings file from a previous version. Finally, when I am able to get the app to run, sync fails. Send the log file to your EntourageBox, let me know if you need anything else.
Jan 30, 2015 at 12:41 PM
Edited Jan 30, 2015 at 12:42 PM
Sorry, double post.
Coordinator
Feb 2, 2015 at 12:18 AM
Hi Devo7v,
The file I've got through Entourage is still showing you running v1.2.3.3 - which is known to fail with a MAPI failure on 2007. Pick up v1.2.3.6 @ https://www.codeplex.com/Download/AttachmentDownload.ashx?ProjectName=outlookgooglecalendarsync&WorkItemId=22&FileAttachmentId=1425588 and let me know.
Feb 2, 2015 at 1:16 PM
Sorry about uploading the wrong logs, but I can report that v1.2.3.6 works perfectly; attendees get added to the GCal guest list as expected. The only other thing I can see that needs to be fixes is if there are hyperlinks in the Meeting. When a meeting with a hyperlink is added to the Google Calendar, the hyperlinks don't get added properly. I know that you can't create hyperlinks in the description of a Google Calendar event, but I think the best option for this program would be to strip the hyperlinks out of an Outlook Meeting and just add the text to the Google Event. Either that or use the following format <a href="URL">display text</a>. I'm not sure what the best way to do it is.

Below is what the description looks like in Google if there are hyperlinks in the Outlook Meeting.
 HYPERLINK "https://meets.ch2m.com/XXXXXXX" Join Lync Meeting     
 
Join by phone
HYPERLINK "tel:1-855-559-XXXX" 1-855-559-XXXX (CH2MHILL)                English (United States) 
HYPERLINK "tel:1-720-286-XXXX" 1-720-286-XXXX (CH2MHILL)                English (United States) 
HYPERLINK "https://dialin.ch2m.com" Find a local number 
 
Conference ID: 189XXXX
 
HYPERLINK "https://dialin.ch2m.com" Forgot your dial-in PIN? |HYPERLINK "http://o15.officeredir.microsoft.com/r/rlidLync15?clid=1033&p1=5&p2=2009" Help 
Feb 2, 2015 at 1:25 PM
Just found another bug. When enabling the option to "Push Outlook changes immediately" and clicking Save, Win7 throws up an error. I can continue and it looks like the application syncs as normal, but the error pops up randomly when the program is minimized. This is reproducible because as soon as I disable the option, the errors stop, but as soon as I enable it again the errors pop up again. I've uploaded my log (the right one this time) to EntourageBox, but I don't see any relevant errors there. See the Win7 error message below:
Unhandled exception has occurred in your application.  If you click Continue, the application will ignore this error and attempt to continue.  If you click Quit, the application will close immediately.

Object reference not set to an instance of an object.
The following shows up under the Details:
See the end of this message for details on invoking 
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.NullReferenceException: Object reference not set to an instance of an object.
   at Microsoft.Office.Interop.Outlook.ItemsEvents_EventProvider.remove_ItemAdd(ItemsEvents_ItemAddEventHandler )
   at Microsoft.Office.Interop.Outlook.ItemsClass.remove_ItemAdd(ItemsEvents_ItemAddEventHandler )
   at OutlookGoogleCalendarSync.OutlookCalendar.RegisterForAutoSync()
   at OutlookGoogleCalendarSync.MainForm.Save_Click(Object sender, EventArgs e)
   at System.Windows.Forms.Control.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ButtonBase.WndProc(Message& m)
   at System.Windows.Forms.Button.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.5485 (Win7SP1GDR.050727-5400)
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------
OutlookGoogleCalendarSync
    Assembly Version: 1.0.5511.2011
    Win32 Version: 1.2.3.6
    CodeBase: file:///C:/PortableApps/OutlookGoogleCalendarSync/OutlookGoogleCalendarSync.exe
----------------------------------------
log4net
    Assembly Version: 1.2.10.0
    Win32 Version: 1.2.10.0
    CodeBase: file:///C:/PortableApps/OutlookGoogleCalendarSync/log4net.DLL
----------------------------------------
System.Configuration
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.5483 (Win7SP1GDR.050727-5400)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.5485 (Win7SP1GDR.050727-5400)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Xml
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.5485 (Win7SP1GDR.050727-5400)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
System.Core
    Assembly Version: 3.5.0.0
    Win32 Version: 3.5.30729.5420 built by: Win7SP1
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Core/3.5.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Windows.Forms
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.5483 (Win7SP1GDR.050727-5400)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.5483 (Win7SP1GDR.050727-5400)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
Microsoft.Office.Interop.Outlook
    Assembly Version: 12.0.0.0
    Win32 Version: 12.0.4518.1014
    CodeBase: file:///C:/Windows/assembly/GAC/Microsoft.Office.Interop.Outlook/12.0.0.0__71e9bce111e9429c/Microsoft.Office.Interop.Outlook.dll
----------------------------------------
System.Runtime.Serialization
    Assembly Version: 3.0.0.0
    Win32 Version: 3.0.4506.5463 (Win7SP1GDR.030729-5400)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Runtime.Serialization/3.0.0.0__b77a5c561934e089/System.Runtime.Serialization.dll
----------------------------------------
SMDiagnostics
    Assembly Version: 3.0.0.0
    Win32 Version: 3.0.4506.5463 (Win7SP1GDR.030729-5400)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/SMDiagnostics/3.0.0.0__b77a5c561934e089/SMDiagnostics.dll
----------------------------------------
CustomMarshalers
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.5483 (Win7SP1GDR.050727-5400)
    CodeBase: file:///C:/Windows/assembly/GAC_32/CustomMarshalers/2.0.0.0__b03f5f7f11d50a3a/CustomMarshalers.dll
----------------------------------------
Interop.IWshRuntimeLibrary
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///C:/PortableApps/OutlookGoogleCalendarSync/Interop.IWshRuntimeLibrary.DLL
----------------------------------------
Google.Apis.Calendar.v3
    Assembly Version: 1.2.4573.23226
    Win32 Version: 1.2.4573.23226
    CodeBase: file:///C:/PortableApps/OutlookGoogleCalendarSync/Google.Apis.Calendar.v3.DLL
----------------------------------------
Google.Apis
    Assembly Version: 1.2.4573.23246
    Win32 Version: 1.2.4573.23246
    CodeBase: file:///C:/PortableApps/OutlookGoogleCalendarSync/Google.Apis.DLL
----------------------------------------
Google.Apis.Authentication.OAuth2
    Assembly Version: 1.2.4573.23243
    Win32 Version: 1.2.4573.23243
    CodeBase: file:///C:/PortableApps/OutlookGoogleCalendarSync/Google.Apis.Authentication.OAuth2.DLL
----------------------------------------
DotNetOpenAuth
    Assembly Version: 4.0.0.11165
    Win32 Version: 4.0.0.11165
    CodeBase: file:///C:/PortableApps/OutlookGoogleCalendarSync/DotNetOpenAuth.DLL
----------------------------------------
System.Web
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.5483 (Win7SP1GDR.050727-5400)
    CodeBase: file:///C:/Windows/assembly/GAC_32/System.Web/2.0.0.0__b03f5f7f11d50a3a/System.Web.dll
----------------------------------------
Newtonsoft.Json.Net35
    Assembly Version: 4.0.2.0
    Win32 Version: 4.0.2.13801
    CodeBase: file:///C:/PortableApps/OutlookGoogleCalendarSync/Newtonsoft.Json.Net35.DLL
----------------------------------------
System.ServiceModel.Web
    Assembly Version: 3.5.0.0
    Win32 Version: 3.5.594.5458
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.ServiceModel.Web/3.5.0.0__31bf3856ad364e35/System.ServiceModel.Web.dll
----------------------------------------
System.ServiceModel
    Assembly Version: 3.0.0.0
    Win32 Version: 3.0.4506.5463 (Win7SP1GDR.030729-5400)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.ServiceModel/3.0.0.0__b77a5c561934e089/System.ServiceModel.dll
----------------------------------------
System.ComponentModel.DataAnnotations
    Assembly Version: 3.5.0.0
    Win32 Version: 3.5.30729.5420
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.ComponentModel.DataAnnotations/3.5.0.0__31bf3856ad364e35/System.ComponentModel.DataAnnotations.dll
----------------------------------------
System.Data
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.5483 (Win7SP1GDR.050727-5400)
    CodeBase: file:///C:/Windows/assembly/GAC_32/System.Data/2.0.0.0__b77a5c561934e089/System.Data.dll
----------------------------------------
System.Xml.Linq
    Assembly Version: 3.5.0.0
    Win32 Version: 3.5.30729.5420 built by: Win7SP1
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Xml.Linq/3.5.0.0__b77a5c561934e089/System.Xml.Linq.dll
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.
Feb 5, 2015 at 6:03 PM
Edited Feb 9, 2015 at 6:49 PM
Just a general question about the sync: it seems that recurring Outlook events are not synced to the Google calendar correctly. If an Outlook event occurs 1 a week for the next 6 weeks it will be copied over to the Google account as 6 individual events rather than 1 series. I understand that the series could extend outside the user-defined timeframe, but I think it is important that the series is created as it was originally intended. Hopefully you can fix this.
Coordinator
Feb 15, 2015 at 11:19 AM
Edited Feb 15, 2015 at 11:26 AM
Thanks for the earlier posts about the Push Sync issue - you should hopefully find this resolved in v1.2.4.

Regarding the recurring items, syncing them as individual items is currently by design. There's a lot more logic that will need to be added in to sync recurring items as you have suggested, but it is something that I'll look at adding. More people are asking for two-way sync though, so that's next up first...

However, two-way sync also affects the hyperlinks in the description you mentioned. Unfortunately, the description between Outlook and Google are exactly the same, so if I start stripping URLs out or adding hrefs, then this will break two-way sync. Note that it is also a shortcoming of the Google Calendar webapp - on my HTC calendar the URLs are displayed as links I can click.
Marked as answer by phw198 on 10/25/2015 at 4:09 PM