I'm evaluating FB7 for our company. We've been using a product called VB-Build, which is no longer maintaned, for our VB6 code. We're just using VS solutions for our C#/VB.Net code (occassionally forgetting to update version numbers), and batch files for code signing.
But now I'd like to have it done all in one place since the VB6 code is relying more and more on C# COM-Interrop DLLs. Also, I'm starting dig the idea of a nightly automated build using FB Server.
I've got the basic compiling order straight, with SCM Gets, checkotus, and post-compilation code signing.
But for the life of me, I cannot get my VB6 EXEs to compile because they reference the VB6 DLLs by VBP files (since they are all developed using a VBG group file). So, when that code is promoted via our SCM, it always referencs the VBPs. FB7 doesn't appear to change these VBP references to the DLLs, even with "Fix Reference for ActiveX" checked.
Am I missing something? How do I accomplish this?
Also, I noticed a small bug with the VB6 compile action. The "Verbose Logging" checkbox does not save or load properly, and the checkmark is lost when FB is closed/re-openend.
Searching around this forum, I see that someone had the same problem in Oct/Nov of 2010, with no resolution found. Like me, his previous build solution handled this just fine.
This would seem like a bug in the "Fix Reference" feature. I really hope it can be squared away. I love what I'm seeing in FinalBuilder, but if it can't handle our VB6 stuff, then I really can't use it.
Failing a formal solution, can anyone tell me how to write an Actions that can: 1) look up CLSID info (I'll look up the CLSID of the DLL I just compiled and COM Registered via FB actions) 2) do a search/replace on a text file (Edit my EXE's VBP to find the offending references to the DLL .VBP, and replace them)
It’s been a while since anyone here worked with VB6 (actually, I’m the only one here old enough to have done so!), so this might take a bit to get my head around the issues again! I do recall that sorting references with VB6 is a complex issue. The thread you referrred to, the customer never came back to us with any further information, so I have no idea if he resolved it or not. I just created some test projects to see if I could reproduce the problem, and I did find an issue whith project references and relative paths. I’m still trying to figure out what the exact problem is. I’ll post here when I have a solution.
BTW, the problem with the Verbose problem will be resolved, the developer who added it didn’t realise he was looking at vb.net doco on msdn… there is no verbose option in vb6. I have removed the option.
Thank you Vincent, I’ll give that a try this morning. I had already worked around it with a few actions, but my project will be a lot cleaner without those custom actions.
By the way, this is a wonderful program that you (and your team) have created. I wish I had found it years ago. There is no doubt I’ll be purchasing the professional edition once the 30-day trial edition has expired.
While I’ve got your ear… I’ve been using the Surround SCM integration, and noticed that “Undo CheckOut” isn’t one of the available actions. I’ll dig out the command line options and use the “Surround SCM Generic” option. I suppose I don’t NEED to undo a checkout on build failure. I just figured that if a build fails, I would undo the checkouts of the binaries. I guess I’m just being a bit anal retentive on this one.
Thanks for the feedback. The Surround Undo Checkout action is on the todo list… I’m not sure why it was never done, we use Surround here ourselves (using mercuiral for new projects though).