S
Sunil Sachdeva
hi guys,
I am working on a windows service in which i'm trying to
automate outlook to send emails periodically based on some criteria.
I developed and tested the code in a console application first and it worked
fine. But when i migrated from console to windows service it started
misbehaving. Its giving various exception as:
1) Here is the exception that I get when running the service. Service cannot
be started. System.Runtime.InteropServices.COMException (0x80020009): Cannot
complete the operation. You are not connected. at
Microsoft.Office.Interop.Outlook.NameSpaceClass.GetDefaultFolder(OlDefaultFolders
FolderType) at ClassLibrary.BaseService.SortInbox() in
C:\Users\Neemus\Documents\Visual Studio
2008\Projects\ClassLibrary\ClassLibrary\BaseService.cs:line 48 at
ClassLibrary.BaseService.Update() in C:\Users\Neemus\Documents\Visual Studio
2008\Projects\ClassLibrary\ClassLibrary\BaseService.cs:line 311 at
ServiceAtBase.UpdateService.OnStart(String[] args) in
C:\Users\Neemus\Documents\Visual Studio
2008\Projects\ServiceAtBase\ServiceAtBase\UpdateService.cs:line 24 at
System.ServiceProcess.ServiceBase.ServiceQueuedMainCallback(Object state)
2)Microsoft Outlook has encountered an error and needs to close.
3)outlookObj.AnserWizard threw an exception of type
'System.Runtime.InteropServices.COMException'
Here is my code:
bool isOutlookRunning = false;
Process[] process = null;
process = Process.GetProcessesByName("OUTLOOK");
if (process.Length > 0)
isOutlookRunning = true;
try
{
obj2 = new Microsoft.Office.Interop.Outlook.Application();
}
catch
{
if (isOutlookRunning)
{
foreach (Process pr in process)
{
if (pr.ProcessName.Contains("OUTLOOK"))
{
pr.CloseMainWindow();
}
}
}
else
Process.Start("OUTLOOK");
obj2 = new Microsoft.Office.Interop.Outlook.Application();
}
ns = obj2.GetNamespace("MAPI");
inboxFolder =
ns.GetDefaultFolder(Microsoft.Office.Interop.Outlook.OlDefaultFolders.olFolderInbox);
outboxFolder =
ns.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderOutbox);
process = null;
These errors are not fixed as well.
At one time one exception will pop up and other time some other.
Any help will appreciated...
Thanks
I am working on a windows service in which i'm trying to
automate outlook to send emails periodically based on some criteria.
I developed and tested the code in a console application first and it worked
fine. But when i migrated from console to windows service it started
misbehaving. Its giving various exception as:
1) Here is the exception that I get when running the service. Service cannot
be started. System.Runtime.InteropServices.COMException (0x80020009): Cannot
complete the operation. You are not connected. at
Microsoft.Office.Interop.Outlook.NameSpaceClass.GetDefaultFolder(OlDefaultFolders
FolderType) at ClassLibrary.BaseService.SortInbox() in
C:\Users\Neemus\Documents\Visual Studio
2008\Projects\ClassLibrary\ClassLibrary\BaseService.cs:line 48 at
ClassLibrary.BaseService.Update() in C:\Users\Neemus\Documents\Visual Studio
2008\Projects\ClassLibrary\ClassLibrary\BaseService.cs:line 311 at
ServiceAtBase.UpdateService.OnStart(String[] args) in
C:\Users\Neemus\Documents\Visual Studio
2008\Projects\ServiceAtBase\ServiceAtBase\UpdateService.cs:line 24 at
System.ServiceProcess.ServiceBase.ServiceQueuedMainCallback(Object state)
2)Microsoft Outlook has encountered an error and needs to close.
3)outlookObj.AnserWizard threw an exception of type
'System.Runtime.InteropServices.COMException'
Here is my code:
bool isOutlookRunning = false;
Process[] process = null;
process = Process.GetProcessesByName("OUTLOOK");
if (process.Length > 0)
isOutlookRunning = true;
try
{
obj2 = new Microsoft.Office.Interop.Outlook.Application();
}
catch
{
if (isOutlookRunning)
{
foreach (Process pr in process)
{
if (pr.ProcessName.Contains("OUTLOOK"))
{
pr.CloseMainWindow();
}
}
}
else
Process.Start("OUTLOOK");
obj2 = new Microsoft.Office.Interop.Outlook.Application();
}
ns = obj2.GetNamespace("MAPI");
inboxFolder =
ns.GetDefaultFolder(Microsoft.Office.Interop.Outlook.OlDefaultFolders.olFolderInbox);
outboxFolder =
ns.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderOutbox);
process = null;
These errors are not fixed as well.
At one time one exception will pop up and other time some other.
Any help will appreciated...
Thanks