Recently, I ran into a problem. My employer has used Mass Verify for years. We're upgrading/replacing servers, so I needed to install it on a new server as the old host is being decommissioned. Unfortunately, I wasn't able to install it on the new server.

OK, I thought to my self, I'll just make my own version, tailored to our needs.

I've written a couple of VB.Net 2005 utilities that do some work with Crystal Reports files, so I already had a framework of code. A couple hours later, and I had a utility put together I was pretty happy with.

Unfortunately, the Crystal runtime that's compatible with Visual Studio 2005 is 10.5. We're running Crystal 11. It wasn't until last week that I found out there's some bugs in my RPT Verify program. It seems to be adding some sort of "Single Sign-On" setting when saving properties. It's also saving them in 10.5 format, and I don't see any options to set the file version.

I don't have a later version of Visual Studio available to me, so I can't easily or cheaply (at least legally) upgrade my project.

So, I'm going to release my source and see if someone with a newer version of Visual Studio can pick up where I left off, or just find the bug that I'm missing. As far as I know, this is all my own original source. (Some of my other Crystal Reports .Net code used some, and was at least partly based on, some code I found online. So there might have been some pieces that should be under the GPL or another one of those open source licenses, but I'm pretty sure it's all clear...)

Now, to the nitty-gritty. What do you need for this?

VB.Net - I used VS2005, so you'll need the .Net 2.0 Runtime
Crystal Reports Redistributable for .Net 2005 - http://tcsoftware.net/blog/2011/05/c...load-net-2005/
My code - RPT Verify.zip

Screenshot:

Click image for larger version. 

Name:	RPTVerify.png 
Views:	152 
Size:	47.2 KB 
ID:	9665

The program is pretty straightforward. It will let you select the folder on which you want to run report verification. You can do it recursively, and you have the option to backup the files before it saves them (which I recommend doing, as it's saved me on more than one occasion...) Next, you tell it what server and database names to put in the files. That's it. Click Process, and it'll run for every .RPT file in the directory (and it's children, if Recursive is selected), showing the output in the treeview that dominates the UI. After you finish, you can save the tree as an XML file, if so desired.

I've included the whole shebang - Solution file, source code, and compiled output.

If you can figure out what's making it flag reports as Single Sign-On, please let me know so I can fix it! Or, if you can try it in a later Visual Studio and get it to work with Crystal 11, that'd be most helpful.