I meant "Why", not "What".
Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool
I delete the whole PST file file first, then I do AddStore(). So my
personal profile will renew. Am I doing something wrong.
Thanks alot.
Here is a piece of code:
...
NameSpace outlookNS =
applicationObject.GetNamespace("MAPI");
Explorer exp = applicationObject.ActiveExplorer();
MAPIFolder rootFolder = outlookNS.Folders[1];
MAPIFolder objFolder = outlookNS.Folders.GetLast();
string path = PathP + outlookNS.CurrentUser.Name + ".pst";
if (System.IO.File.Exists(path))
{
System.IO.File.Delete(path);
}
objFolder = null;
outlookNS.AddStore(PathP + outlookNS.CurrentUser.Name +
".pst");
objFolder = outlookNS.Folders.GetLast();
objFolder.Name = outlookNS.CurrentUser.Name + "
Calendars";
calendarFolder.CopyTo(objFolder);
foreach (MAPIFolder folder in objFolder.Folders)
{
if (folder.Name == "Calendar")
{
folder.Name = outlookNS.CurrentUser.Name + "";
break;
}
}
outlookNS.RemoveStore(objFolder);
MessageBox.Show("Publish date: " +
System.IO.File.GetLastWriteTime(PathP + outlookNS.CurrentUser.Name +
".pst"),"Message");
outlookNS = null;
objFolder = null;
exp = null;
....
Reda
Dmitry Streblechenko ras :
What do you delete the whole PST file rather than its contents?
Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool
Thank you all for suggestions. I set up manually a registry key for
Outlook 2003("11.0"), as it said in this article.
It seems that *.pst file is released, but another bug cames up
"Outlook failed to add personal store file to this session". I get
this error then call method AddStore again.
My scenario is: I have app, where I have button "Publish calendar on
network", so when I click on this button, I check is <CurrentUser>.pst
exists. If exists, I delete that file, after that I call method
namespace.AddStore(path).
Here I got an error. Outlook failed to add personal store file to this
session".
Any suggestions?
Thank you again.
Reda
Dmitry Streblechenko ras :
What is your code?
Did you create the right registry key? The article talks about
Outlook
2000,
that is what "9.0" in the key name refers to. In case of Outlook
2002,
it
should be "10.0", Outlook 2003 - "11.0", etc.
Try to display a message box immediatley after calling RemoveStore
and
before deleting the PST file to let the Windows message loop run.
Just out of curiosity, why do you create a PST file if you want to
delete
it?
Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool
Yes, PST store folder has been removed, but a problem is *.pst file
hasn't been released durring Outlook session.
This is a problem.
Thank you,
Reda
Dmitry Streblechenko ras :
Do you see that PST store removed from Outlook when you call
RemoveStore?
Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool
Well, maybe a problem is with releasing a *.pst file. I set up
that
registry key, I added new PST store using Namespace.AddStore, then
call Namespace.RemoveStore. but PST file didn't released during
Outlook Session.
Also, I would like to mention that *.PST files store on Network
folder.
Sorry for my dummy question, maybe that problem is that Outlook
session is running?
How to solve this problem without exiting Outlook?
Thanks so much.
Reda
Dmitry Streblechenko ras :
I don't see what the problem is - you set that registry key, add
a
new
PST
store using Namespace.AddStore, then call Namespace.RemoveStore.
The
PST
file should be released. Is that not the case?
Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool
Thanks so much for quick response, but the problem is a locked
file
during the Outlook session. I can't completely to delete *.pst
folder.
I know that I have to use <Folder>.Delete() method, but I can't.
I've
heard about Extended MAPI, but I am not really familiar with C
or
C++,
do you have any papers or articles or solutions examples for
this
problem.
Thank you so much.
Reda
Dmitry Streblechenko ras :
By default, PST provider keeps a PST file referenced and
loaded
for
30
minutes. Or until the PST provider dll itself gets unloaded
(e.g.
when
the
host process terminates). You might want to play with the
registry
key
mentioned in
http://support.microsoft.com/Default.aspx?kbid=222328
Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool
Hello,
I am new in Office programming. Sorry if I will repeat with
my
question,
but
after long searches, I couldn't find a solution to my
problem.
Problem: I am developing shared add - ins for MS Outlook
2003,
my
application will create *.pst file with calendar folder and
that
*.pst
file
will publish on server (Not Exchange server). But after i
publish
*.pst
file
on server user B, cannot view this file, because is locked.
I
used
RemoveStore method to remove a folder, but it didn't solve
my
problem.
How can I solve my problem?
Thank you so much
Reda
PS. I don't like any commercial 3rd parties tools.