I sometimes get a MAPI_E_EXTENDED_ERROR while trying to process folders and items.
Error: Outlook is synchronizing local changes made to items in this folder.
You cannot remove this folder until the synchronization is complete.
Is there a way I can check if outlook is synchronizing changes or prevent that from happening?
Thanks again
That functionality is not exposed by the MSEMS MAPI provider...
Related
I'm new in TFS 2010 and config a source control. we want to work in a single code file in our solution (ReportViewer.aspx) but unfortunately when one of we check out the source code file other team member's can not be accessed to same source code and is locked.
in addition to that mentioned, All data binding of our reports distinguish in ReportViewer.aspx Handler.
this problem may be cause in other way, that any team member check out the Solution File
(e.g. adding a reference), other team member can't be accessed to locked File.
As Edward mentioned, you will need multiple check-outs enabled so that multiple developers can work on a single file. They will then need to merge their changes during the check-in process.
That should also resolve your issue with the Solution File getting checked out and preventing other users from making their own additions to the solution.
This is a follow up question from Team Foundation Server: Getting the Changeset Id from PolicyBase object
I would like to run some code when I check-in occurs. The answer in the linked question above pointed me at this page on MSDN.
I didn't fully understand the explanation on the page and I'm not sure where the check-in event handler would be run.
Should this be in an application that is run on every client machine or is this something that needs to be run on the actual TFS server?
I need to make sure the check-in event handler code is run for every check-in regardless of which client made the check-in.
I tried downloading the sample code available on that Microsoft page but it does not work.
I can connect to the TFS Server. When I click on the "Get List of Registered Events" button, the left hand list box populates with 13 items all with the name
Microsoft.TeamFoundation.Server.RegistrationEntry
As soon as I click on one of the items, I get a TypeLoadException with the message
Could not load type 'Microsoft.TeamFoundation.Server.Subscription' from assembly 'Microsoft.TeamFoundation, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
(Strangely it seems like this is referencing the VS2010 version of the assembly even though it is the VS2008 version that I have linked to the project).
What am I doing wrong here?
Library References
I always found it a pain to try use the TFS2008 libraries instead of the 2010 ones once they were installed. You may be able to change the reference to use a specific version of the DLL, however there shouldn't be any hard using the TFS2010 ones instead as they are backwards compatible.
Event Subscriptions
For TFS2010 it's easiest to drop a custom DLL in c:\Program Files\Microsoft Team Foundation Server 2010\Application Tier\Web Services\bin\Plugins these are fairly simple to write and just involve implementing ISubscriber for CheckinNotification.
Example Code
http://embeddedworkitems.codeplex.com/SourceControl/changeset/view/2611#97271
For TFS2008, or if you like in TFS2010, you need to use the SOAP webservices (or the bisubscribe.exe tool) to subscribe to events and have a webservice yourself for tfs to push events to. This is a much harder way to subscribe to events so if you can use the Plugin method instead I would recommend it (Although it can be more robust and is better for load distribution).
VSTS Subscription FAQ http://blogs.msdn.com/b/narend/archive/2006/07/27/679571.aspx
Subscribing without a Client SOAP Service http://blogs.msdn.com/b/mrod/archive/2006/09/18/761174.aspx
TFS Deployer is a open source project that runs as a windows service and receives event notifications via the SOAP service. It contains a library (which may be reusable) that appears to have some code in it for receiving checkin events
http://tfsdeployer.codeplex.com/SourceControl/changeset/view/57852#2395
Using subscriptions you only need one copy of the application picking up events and handling them, it can be on the TFS server (has to be if you are using the plugin method) but can be on another machine when using SOAP subscriptions.
Check-in Policies an Alternative Answer?
Depending on exactly what you're coding, you may be able to write a check-in policy instead. This needs to be installed on all client machines and won't be supported by all the different clients (eg eclipse) but it may suit your needs. The example I gave earlier of the tool to support embedded workitem codes in checkin comments also comes with a check-in policy to perform other checks
http://embeddedworkitems.codeplex.com/SourceControl/changeset/view/2611#97267
Say I need to track about 10 big files (each over 1G) over the the LAN shared folder, and if the files get modified/updated/overwritten, I need to upload those new files to ftp, and do some sort of notification like email.
But I don't need to version control for older files, so it won't inflate the repository.
How could be an easy approach to this? Since it need to keep monitoring the files, ftp protocol, email notification. Will make a C# program be a feasible way to do this? Or any suggestions? Thanks.
EDIT:
After checking around a couple version control large binaries threads in SO, it seems I don't need a version control system. Actually, I just need to keep checking the file metadata and once it's changed, upload to ftp and send out email. Not sure Mogware can disable backup old binaries?
Is there any other tools are feasible for this specific case? Thanks!
I'm in no way affiliated with the guys at Mogware, but there is a tool called "FileHamster" which is a personal revision tool, offering you to track file changes, call scripts after a file has changed etc. It also provides FTP upload.
Is it possible to write a script that executes certain instructions, and is triggered by any check-in to a CVS repository?
The script would scan the list of files in the change-set and do a copy operation on certain files in a certain sub-directory.
I would hopefully be able to execute various console applications, including ones written in .NET.
Problem is, I need this done quickly and I don't have access to the CVS server, due to corporate IT red-tape, etc.
Is there a way to set this up on one of the client workstations instead?
Can it be done without interfering with my working folder?
Can you get commit notifications by email as this blog shows? If so, you could be able to use maildrop (or good old procmail, etc) to run arbitrary commands and scripts on your workstation when the commit notification mails arrive.
I found a .NET library that seems up to the task - SharpCVSLib.
http://csharpopensource.com/sharpcvslib.aspx
(Hopefully it will work on a developer workstation and not need to be hosted on the CVS server.)
We currently have an application that works with Outlook 2003. In order to get the owner of a shared contact folder, we simply call:
Redemption.RDOSessionClass.GetFolderFromID() and then took that folder and got the RDOFolder.Store.Name property.
However, when trying this with a shared contact folder in Outlook 2007, the RDOFolder.Store.Name is null.
Everything still works fine for normal contacts and for contacts in "Additional Mailboxes" that I've added to my account.
The approach mentioned in http://blogs.msdn.com/mstehle/archive/2006/09/07/744798.aspx appears to work, but I would prefer to not release a new version of our application unless I have to.
Basically I want to understand why this is working differently and what I can do, if anything, to fix this from the server end.
Edited comment : see http://msdn.microsoft.com/en-us/library/bb147715.aspx
Some thoughts...
Do you have Download Shared Folders (enabled by default in Outlook 2007) turned on in your profile? My initial guess is that the shared contact folder contents are being cached in your local store and the store name property is no longer valid.
Does it actually return null or throw an exception?
Do you have Outlook Spy? Invaluable tool for sleuthing this kind of issue, especially if using Redemption.
Have you posted to the Outlook Programming discussion group?
"There is nothing you can do, this is just how the Exchange provider is
implemented." -Dmitry Streblechenko (MVP)