VB6 - Vault Integration Issues

If you are having a problem using Vault, post a message here.

Moderator: SourceGear

suzd
Posts: 8
Joined: Wed Sep 20, 2006 10:46 am

VB6 - Vault Integration Issues

Post by suzd » Wed Sep 20, 2006 11:30 am

After previously being able to run VB6 and Vault on a W2K Server machine, I am completely unable to get this set up on a new machine running XP. If Vault is configured as the default source code provider, VB fails upon launch, with the standard 'experienced error / needs to close / send msg to Microsoft' notification. If Vault is not the default, VB will launch, but presents a VSS login box which I cancel out of and, of course, have no facility for revision control.

I have uninstalled and reinstalled VB6 (including SourceSafe, per other threads on this topic), SP5 and Vault 3.1.9.

I have checked the registry settings per this thread http://support.sourcegear.com/viewtopic ... n+registry. The SOFTWARE\SourceGear\Vault Client\SCCServerPath is C:\Program Files\SourceGear\Vault Client\VaultIDE.dll, which is the correct location. The SourceCodeControlProvider varies accordingly, depending on whether Vault is toggled as the default provider or not. When it is NOT, the ProviderRegKey is Software\Microsoft\SourceSafe. When it IS the default, there are two keys: ProviderRegKey is SOFTWARE\SourceGear\Vault Client, whereas ProviderRegKey_BeforeVault is Software\Microsoft\SourceSafe.

Finally, when I am able to launch VB, I have confirmed that the add-in manager settings are as indicated in this thread:
http://support.sourcegear.com/viewtopic.php?t=2118. I have also changed the vbaddin.ini setting for vbscc=1, HOWEVER, this resets itself to vbscc=3 after every launch. That seems correct, though, since according to the Microsoft KB article:
http://support.microsoft.com/kb/305024/EN-US/,
(VBSCC=1 = load at start up, VBSCC=2 = loaded/unloaded, VBSCC=3 = load at startup and loaded/unloaded)


If both are to be set, shouldn't it be = 3?

I would be grateful for any help you could provide.

lbauer
Posts: 9736
Joined: Tue Dec 16, 2003 1:25 pm
Location: SourceGear

Post by lbauer » Wed Sep 20, 2006 12:23 pm

Not much to go on here.
VB fails upon launch
Does this mean VB fails when simply launching the app, or when opening a VB project (which then launches VB). If it fails when opening a project, were these projects copied into your new workng directories from working directories on the old machine?

Is there anything in the Windows Event Viewer or in the Vault Server log (sgvault.log in %windir%\temp\sgvault) that corresponds to the failure?
Linda Bauer
SourceGear
Technical Support Manager

suzd
Posts: 8
Joined: Wed Sep 20, 2006 10:46 am

Post by suzd » Wed Sep 20, 2006 4:41 pm

Yes, I need to clarify. It was failing when I tried to open an existing project (which then launches the app, as you note).

Your comment about the working folder got me thinking, so I created a brand new directory, set it as my working folder and did a Get Latest to that folder.

Then I tried opening VB first and browsed to the project file in this new directory. VB crashes immediately every time I try to click Yes to adding the project to Vault.

The event log shows the following from the most recent "crash":

Faulting application vb6.exe, version 6.0.89.88, faulting module vaultide.dll, version 3.1.9.3798, fault address 0x000068da.

There is no such log file (not even the sgvault folder) in the Windows directory.

Hope this adds enough detail to hopefully point me in the right direction towards resolution.

Thanks.

lbauer
Posts: 9736
Joined: Tue Dec 16, 2003 1:25 pm
Location: SourceGear

Post by lbauer » Thu Sep 21, 2006 8:34 am

If you do a get with the Vault GUI client, the project isn't properly bound to VB 6. That could be why it crashed.

We can try a couple things to determine if this is a binding problem.


1. Create a test VB project and add it to source control from within VB (Tools->SourceGear Vault->Add Project to SourceGear Vault). Does this work?

2. Try opening one of your existing projects from source control. Clear the project from your working directory (or set a new working directory for the project). Then use the command Tools->SourceGear Vault->Create Project from SourceGear Vault to retrieve the project from Vault.

These tests should create and retrieve projects and set the proper bindings.
Linda Bauer
SourceGear
Technical Support Manager

suzd
Posts: 8
Joined: Wed Sep 20, 2006 10:46 am

Post by suzd » Thu Sep 21, 2006 9:34 am

1. Create a test VB project and add it to source control from within VB (Tools->SourceGear Vault->Add Project to SourceGear Vault). Does this work?
No, this caused the same crash. I couldn't follow the exact same steps you indicated because it required the project to be saved first. So I created a test projects and saved it first, then when I was prompted to add the project to SourceGear Vault, I clicked Yes and it crashed.
2. Try opening one of your existing projects from source control. Clear the project from your working directory (or set a new working directory for the project). Then use the command Tools->SourceGear Vault->Create Project from SourceGear Vault to retrieve the project from Vault.
I set a new working directory for the project. Then in VB, I went to Tools->SourceGear Vault->Create Project from SourceGear Vault. As soon as I clicked this option, the application crashed.

I also tried editing the project from within Vault. After it launched VB, it presented an "Add to SG Vault" popup, and once again, as soon as I clicked Yes, it crashed VB.

Why don't these two apps want to get along???

lbauer
Posts: 9736
Joined: Tue Dec 16, 2003 1:25 pm
Location: SourceGear

Post by lbauer » Fri Sep 22, 2006 4:19 pm

Why don't these two apps want to get along???
They should get along. We don't get many reports like this.

This is a difficult one to resolve, since we don't have much information. Try enabling logging for the VB IDE:
http://support.sourcegear.com/viewtopic.php?p=5375
See the instructions for creating a vb6.exe.config file which will allow you to enable logging. Log all classes.

Earlier, I mentioned the sgvault.log file. This would be on the Vault Server machine in %windir%\temp\sgvault. Enable debug logging in the Vault Admin Tool->Server Options logging.

Then, when all logging is enabled, reproduce the crash and we'll see it there's anything useful in the logs.
Linda Bauer
SourceGear
Technical Support Manager

suzd
Posts: 8
Joined: Wed Sep 20, 2006 10:46 am

Post by suzd » Mon Sep 25, 2006 10:24 am

Attached are the logs. Do they indicate anything useful?

On the server's log, I am user c1drgons. On my local log, it seemed to capture the initial crash, but none after that. Is that expected?
Attachments
VaultGUIClient.txt
(13.81 KiB) Downloaded 412 times

suzd
Posts: 8
Joined: Wed Sep 20, 2006 10:46 am

Post by suzd » Mon Sep 25, 2006 10:24 am

Second attachment.
Attachments
sgvault.log.txt
(6.11 KiB) Downloaded 427 times

lbauer
Posts: 9736
Joined: Tue Dec 16, 2003 1:25 pm
Location: SourceGear

Post by lbauer » Mon Sep 25, 2006 1:23 pm

The client log looks like a GUI Client log. The VB 6 log would be VaultIDEClient.txt. To enable logging, create a vb6.exe.config file. This file is not installed with the Vault clients.

To create this, make a copy of the VaultGUIClient.exe.config (in the Vault GUI Client directory and rename it "vb6.exe.config." Set logging to True, and log all classes.

The times in your logs are different. It would be better if we can compare the same time period in both logs. If the client log covers Monday afternoon, then we should have the Vault server log for Monday, too.

We may not get any new information in the logs, though.

Maybe there's something about the client machine that's not working with VB 6 and Vault.

What version of XP are you using?

What version(s) of the .NET framework are on your client machine?

Is there any software that could be interfering?
Linda Bauer
SourceGear
Technical Support Manager

suzd
Posts: 8
Joined: Wed Sep 20, 2006 10:46 am

Post by suzd » Wed Oct 04, 2006 10:51 am

I followed the steps -- again -- for creating the log file, but it never results in a file named VaultIDEClient.txt. If I search the entire hard drive, no such file is created. The GUI client log is created when I have logging enabled within the Vault client.

Could the fact that the log file isn't even being created properly indicate anything? I'll attach the vb6.exe.config file I created today so you can confirm that logging is enabled and all classes are being logged.

My version of XP Pro is Version 2002 Service Pack 2 and .NET is v2.0.50727.

suzd
Posts: 8
Joined: Wed Sep 20, 2006 10:46 am

Attachment

Post by suzd » Wed Oct 04, 2006 2:54 pm

Attached as a text file, but named vb6.exe.config
Attachments
vb6.exe.config.txt
(3.49 KiB) Downloaded 460 times

lbauer
Posts: 9736
Joined: Tue Dec 16, 2003 1:25 pm
Location: SourceGear

Post by lbauer » Wed Oct 04, 2006 4:39 pm

Config file looks ok.
Could the fact that the log file isn't even being created properly indicate anything?
Probably -- since VB crashes as soon as you use integration, there's nothing to log.

We'll investigate further and see if there's anything else we can try.
Linda Bauer
SourceGear
Technical Support Manager

lbauer
Posts: 9736
Joined: Tue Dec 16, 2003 1:25 pm
Location: SourceGear

Post by lbauer » Wed Oct 04, 2006 4:45 pm

Ok, here's another idea. Since you're using .NET 2.0 on the client machine, you could try a configuration that would load the 2.0 Framework when you use Vault integration with VB:


1. Make another copy of the VaultGUIClient.exe.config (in the Vault GUI Client directory) and rename it "VB6.exe.config."

2. This time, copy the "VB6.exe.config" into the same directory as "VB6.exe" and enter runtime information so that the first part of the file looks like this:

Code:
<?xml version="1.0"?>
configuration>
<startup>
<supportedRuntime version="v2.0.50727"/>
<requiredRuntime version="v2.0.50727" safemode="true"/>
</startup>
</configuration>


Let us know if this makes a difference.
Last edited by lbauer on Mon Oct 09, 2006 5:37 pm, edited 1 time in total.
Linda Bauer
SourceGear
Technical Support Manager

suzd
Posts: 8
Joined: Wed Sep 20, 2006 10:46 am

VB6 - Vault Integration Issues *RESOLVED

Post by suzd » Thu Oct 05, 2006 5:14 pm

That did the trick! Thank you very much!!!

ferguslogic
Posts: 9
Joined: Wed Jan 25, 2006 12:18 pm

Same problem on my end.

Post by ferguslogic » Wed Nov 01, 2006 9:37 am

I used vault for about 8 months without any problems (version 3.1.6)

then i put in a new development machine.
xp pro
visual studio 6 (sp 6)
visual studio 2005 (.net framework 2.0.5xxx)

and when I did this visual basic 6 and vault would no longer work together.

I could login without any problem and get the latest version of all files but I could not add any visual basic 6 projects to vault (either old or new).

I could however add any visual studio 2005 projects that I wanted to vault. this fix worked for me and I posted an easier article here

http://support.sourcegear.com/viewtopic ... 8236#28236

This is a great workaround (for now) but It is not a solution and I am hoping that sourcegear can resolve this vb 6 issue as soon as possible.

This will get you up and going however for the time being. :)
Matt

Post Reply