This is the only issue holding up my employer from a ~25-user purchase of Vault, which we absolutely LOVE after my evaluation. If I can solve this one, we'll all be happy.
I'd like to figure out, once and for all, how to get RoboHelp 7 or 8 to successfully work with Vault 5.02. I got RoboHelp to work with VSS 2005, Surround SCM, and PuskOk Software's SCC provider for Subversion. So there's really no reason why it shouldn't work with Vault. I know your official statement is that RoboHelp is not supported, but let's get beyond that, solve the technical issues, and get you some more business!
I've spent the last two days trying different things, searching the SourceGear knowledge base and forum as well as Adobe's RoboHelp forum and the Internet in general. I'm close, but I need help, most likely from SourceGear's tech support or engineers.
Steps to Reproduce:
- Install and configure Vault 8. Set up accounts, add some files, test Vault GUI client.
- Add these registry keys (and remove any other SCC provider keys) to point to Vault as the only SCC provider:
HKEY_LOCAL_MACHINE\SOFTWARE\SourceCodeControlProvider
ProviderRegKey = SOFTWARE\SourceGear\Vault Client
HKEY_LOCAL_MACHINE\SOFTWARE\SourceCodeControlProvider\InstalledSCCProviders
SourceGear Vault VS2003 Compatible Client = SOFTWARE\SourceGear\Vault Client
- Open VS2008, select "SourceGear Vault Classic Client" as the SCC provider (Tools | Options | Source Control), create a simple console app solution, add this new solution to Vault (File | Source Control | Add Solution to Source Control...).
- Inside VS2008, do a few check-outs, check-ins, view history, etc., to verify SourceGear Vault Classic Client is working fine in VS2008
- Download and install RoboHelp 8 trial version.
- Open RoboHelp THTML and verify "SourceGear Vault Classic Client" is its SCC provider (File | Version Control | SourceGear Vault Classic Client).
- Create a new RoboHelp project. Select defaults for everything.
- Try to add the new RoboHelp project to Vault (File | Version Control | Add to Version Control...), select SourceGear Vault Classic Client from the Select Version Control Provider dialog, click OK.
- RoboHelp crashes and prompts me to open it in VS2008 debugger, which I do.
- VS2008 displays this dialog: "Unhandled exception at 0x044f6a0a in RoboHtml.exe: 0xC0000005: Acces violation reading location 0x00000000"
- The VaultIDE.dll crashed at 0x044f6a0a and here's the stack frame:
VaultIDE.dll!044f6a0a()
[Frames below may be incorrect and/or missing, no symbols loaded for VaultIDE.dll]
VaultIDE.dll!044f7b18()
VaultIDE.dll!044ff993()
VaultIDE.dll!044f551f()
bsvcMicrosoftSCC.dll!01e63a27()
bsvcMicrosoftSCC.dll!01e603d6()
bsvcMicrosoftSCC.dll!01e55ab8()
bsvcMicrosoftSCC.dll!01e6b05c()
bsuuVersionControlServices.dll!10003c91()
MDBMS.dll!1502d936()
MDBMS.dll!150d1d53()
MDBMS.dll!15180703()
MDBMS.dll!150c73f2()
Repository.dll!0527a044()
RoboHtml.exe!00497c3a()
mfc80u.dll!69857e0f()
mfc80u.dll!6985ae2b()
mfc80u.dll!6985ad96()
mfc80u.dll!69852dbb()
mfc80u.dll!6984fdf0()
user32.dll!75f786ef()
user32.dll!75f78876()
user32.dll!75f7881f()
user32.dll!75f743cf()
user32.dll!75f743f5()
XTP8700Libu.dll!67887710()
user32.dll!75f786ef()
user32.dll!75f78876()
user32.dll!75f7881f()
user32.dll!75f77631()
user32.dll!75f77695()
XTP8700Libu.dll!678705f8()
XTP8700Libu.dll!67870a5c()
XTP8700Libu.dll!67869d8d()
mfc80u.dll!6985328f()
user32.dll!75f786ef()
mfc80u.dll!69852d35()
mfc80u.dll!69851af7()
mfc80u.dll!69851d0d()
mfc80u.dll!6984fdf0()
user32.dll!75f786ef()
user32.dll!75f78876()
user32.dll!75f7881f()
user32.dll!75f743cf()
user32.dll!75f743f5()
XTP8700Libu.dll!67887710()
user32.dll!75f786ef()
user32.dll!75f78876()
user32.dll!75f7881f()
user32.dll!75f789b5()
user32.dll!75f78e9c()
mfc80u.dll!698882c8()
mfc80u.dll!69888889()
mfc80u.dll!6985d33b()
RoboHtml.exe!004b50d9()
kernel32.dll!76b91194()
ntdll.dll!77b2b3f5()
ntdll.dll!77b2b3c8()
RoboHtml.exe!00790065()
Since it's crashing in SourceGear's DLL, the onus is on you. I'm an experienced C++/MFC/COM/VS2008 developer and would be glad to work with your engineers to debug this. I'll provide phone number and email address to whoever wants it.
RoboHelp with Vault
Moderator: SourceGear
Re: RoboHelp with Vault
We haven't tested Vault with RoboHelp and haven't had many requests to support integration with RoboHelp.
You're right that even if other tools integrate with Microsoft's Integration API it may not work with Vault because our implementation is not the same. The sequence of calls may be different, for instance.
I'm not sure how much we can help, as we already have a lot of Vault development projects on our plate. But send an email to support at sourcegear.com, Attn: Linda. Please include a link to this forum post and we'll at least continue the conversation.
You're right that even if other tools integrate with Microsoft's Integration API it may not work with Vault because our implementation is not the same. The sequence of calls may be different, for instance.
I'm not sure how much we can help, as we already have a lot of Vault development projects on our plate. But send an email to support at sourcegear.com, Attn: Linda. Please include a link to this forum post and we'll at least continue the conversation.
Linda Bauer
SourceGear
Technical Support Manager
SourceGear
Technical Support Manager
-
- Posts: 6
- Joined: Mon Mar 22, 2010 4:30 pm
Re: RoboHelp with Vault
Can you please at least enter this as a bug in your issue tracking system? It's been broken for a very long time, and all the other SCC providers I tested with (VSS 2005, Surround SCM, PuskOk SVNSCC) all worked fine with RoboHelp X5, 7, 8.
You can bet that RoboHelp has shipped far more copies than Vault and it's published by Adobe, so it's not like it's a tiny little niche app. Please please please???
If Vault was open source, I'd gladly fix it myself for free. In fact, if you want I'll sign an NDA, you ship me the Vault source, I fix it for free. How about that?
Since your VaultIDE.dll is crashing while de-referencing a NULL pointer, your code is not checking for NULL before using the pointer variable. That's a bug.
You can bet that RoboHelp has shipped far more copies than Vault and it's published by Adobe, so it's not like it's a tiny little niche app. Please please please???
If Vault was open source, I'd gladly fix it myself for free. In fact, if you want I'll sign an NDA, you ship me the Vault source, I fix it for free. How about that?
Since your VaultIDE.dll is crashing while de-referencing a NULL pointer, your code is not checking for NULL before using the pointer variable. That's a bug.
Re: RoboHelp with Vault
I've logged work item 15358 for integration with RoboHelp. I'm not sure when we might be able to implement this, but we'll give it some consideration.
Linda Bauer
SourceGear
Technical Support Manager
SourceGear
Technical Support Manager
Re: RoboHelp with Vault
For some users, the following work-around may help. I have one user so far who has tried this.
1. Find the file VaultGUIClient.exe.config (in the Vault GUI Client directory) and make a copy of it.
2. Rename the copy to "xxxx.exe.config." Replace the xxxx with the name of the Robohelp executible with the .exe included and a .config at the end of the name.
3. Copy the "xxxxxx.exe.config" into the same directory as "xxxxxx.exe" and enter runtime information so that the first part of the file looks like this:
<?xml version="1.0"?>
configuration>
<startup>
<supportedRuntime version="v2.0.50727"/> <requiredRuntime version="v2.0.50727" safemode="true"/> </startup> </configuration>
1. Find the file VaultGUIClient.exe.config (in the Vault GUI Client directory) and make a copy of it.
2. Rename the copy to "xxxx.exe.config." Replace the xxxx with the name of the Robohelp executible with the .exe included and a .config at the end of the name.
3. Copy the "xxxxxx.exe.config" into the same directory as "xxxxxx.exe" and enter runtime information so that the first part of the file looks like this:
<?xml version="1.0"?>
configuration>
<startup>
<supportedRuntime version="v2.0.50727"/> <requiredRuntime version="v2.0.50727" safemode="true"/> </startup> </configuration>
Beth Kieler
SourceGear Technical Support
SourceGear Technical Support