views:

28

answers:

1

I have CruiseControl.net running Visual Studio (2005/2008 - using devenv.com) as we need to build deployment projects (.vdproj).

At times, for various reasons devenv decides that even though it was run from the command line, using the devenv.com varient, it still wants to put up a dialog box.

Now, as it's running under CruiseControl.net on a remote server this is never seen and the only syptom of this is that the build eventually times out. When the build is still in progress a look at the tasks shows devenv running but not consuming any processor power.

Is there a handy utility through which could run devenv.com which basically watches the program it starts up and basically kills it if it dares to display a dialog box of any kind?

+1  A: 

WHat sort of dialogs is it putting up and why? You could write an application to dismiss dialogs but it's not easy - you'd need to use something like CBT Hooks.

Ade Miller
We use ClearCase for our version control - and it has a few problems including not being able to merge .vdproj files without introducing random characters at various places. Having a randomly corrupted .vdproj files puts up dialogs. I've got it down to this now - it was putting up dialogs about source control mismatch (we don't have ClearCase on the build server on purpose) but got shot of those. Just the .vdproj file corruption issues - I have a longer term way to solve that - write a merge manager speicifically for them but that isn't a quick and easy job.
Alan Mullett
You might not need a CBT hook. You might be able to write a simple .net EXE which uses a UI testing framework like White to look for a window with a know title/name and dismiss it.http://white.codeplex.com/
Ade Miller