Using Vault when no one is logged in
Moderator: SourceGear
Well, we tried giving the task scheduler full administrative privileges, just as a test to see if it was a problem with privileges. Additionally, it's running the build program as the administrator. It still doesn't work. I'm off for two weeks after today, but when I get back, I'll try upgrading to Vault 2.0.5 and see what the client logging has to say. Hopefully either that will tell us what is hanging up or tell us the problem isn't directly related to Vault. Just looking at the server-side log, it looks like it's communicating without a hitch.
Hi Jeff,
A couple of things:
We updated the build machine recently to VS .NET 2003 and now when the build program runs and tries to load a solution, a message box pops up complaining that the .NCB file is read-only (it isn't). The message box does not appear if I run Studio manually and load the solution, just when I run the build program (while I'm logged in). I know this has nothing at all to do with Vault, but just thought I'd ask in case you had any ideas.
Second, we also just upgraded to Vault 2.0.5, and I modified the vault.exe.config and vaultGUIClient.exe.config to enable logging. However, no log file is being created in %TEMP% that I could see. I saw a note somewhere on the forum about needing some other config file for when you're using vault through studio, but it didn't say what it was. Is this the problem?
A couple of things:
We updated the build machine recently to VS .NET 2003 and now when the build program runs and tries to load a solution, a message box pops up complaining that the .NCB file is read-only (it isn't). The message box does not appear if I run Studio manually and load the solution, just when I run the build program (while I'm logged in). I know this has nothing at all to do with Vault, but just thought I'd ask in case you had any ideas.
Second, we also just upgraded to Vault 2.0.5, and I modified the vault.exe.config and vaultGUIClient.exe.config to enable logging. However, no log file is being created in %TEMP% that I could see. I saw a note somewhere on the forum about needing some other config file for when you're using vault through studio, but it didn't say what it was. Is this the problem?
I haven't seen this happen in VS .Net 2003, so I don't really know for certain.Jerry R wrote:We updated the build machine recently to VS .NET 2003 and now when the build program runs and tries to load a solution, a message box pops up complaining that the .NCB file is read-only (it isn't). The message box does not appear if I run Studio manually and load the solution, just when I run the build program (while I'm logged in). I know this has nothing at all to do with Vault, but just thought I'd ask in case you had any ideas.
However, I can share an experience I've had with Dev Studio 6 quite a few years back. I've run into problems similar to your description where Dev Studio 6 opened a file with an exlusive lock and did not release it after the build. Rebooting the machine, and insuring only ONE instance of the IDE was running solved my particular problem.
What are the XML elements for enablelogging and classestolog?Jerry R wrote:Second, we also just upgraded to Vault 2.0.5, and I modified the vault.exe.config and vaultGUIClient.exe.config to enable logging. However, no log file is being created in %TEMP% that I could see. I saw a note somewhere on the forum about needing some other config file for when you're using vault through studio, but it didn't say what it was. Is this the problem?
Jeff Clausius
SourceGear
SourceGear
D'oh! You're exactly right about the exclusive lock problem. I can't believe I missed that.
As for the .config files, in both of them enablelogging is "true" and classestolog is "all". If I run the GUI client, a log file is generated, but when I run the build program, there is none. The build program runs Studio by spawning a thread that calls Solution.Open(), in case that information is pertinent.
As for the .config files, in both of them enablelogging is "true" and classestolog is "all". If I run the GUI client, a log file is generated, but when I run the build program, there is none. The build program runs Studio by spawning a thread that calls Solution.Open(), in case that information is pertinent.
Hmm... The file should be in %TEMP% of the account which launched the build. Is it safe to assume this build was launched by you and not the automated process?Jerry R wrote:If I run the GUI client, a log file is generated, but when I run the build program, there is none. The build program runs Studio by spawning a thread that calls Solution.Open(), in case that information is pertinent.
Jeff Clausius
SourceGear
SourceGear
Yes, when I run the build program directly, while logged in, not from the scheduler, I get no log file in %TEMP%. When the build program is loading the solution, I do see the "Vault integration component initializing" or whatever the exact message is.
In this post by Shaw Terwilliger:
http://support.sourcegear.com/viewtopic.php?t=1534
It says:
Special Note for IDE Client: The integrated Visual Studio Vault client doesn't have a .config file installed by default. You'll need to create one (using VaultGUIClient.exe.config as a template), but I don't know what to name it yet. TODO: Fix this section.
Do I need to create a differently named .config file?
In this post by Shaw Terwilliger:
http://support.sourcegear.com/viewtopic.php?t=1534
It says:
Special Note for IDE Client: The integrated Visual Studio Vault client doesn't have a .config file installed by default. You'll need to create one (using VaultGUIClient.exe.config as a template), but I don't know what to name it yet. TODO: Fix this section.
Do I need to create a differently named .config file?
Jerry:
I checked with Shaw. While the Vault CLC and GUI can both log (they are entirely managed binaries), the Vault IDE is not yet capable of logging.
In my original suggestion, I asked about the server's log (while in Debug Mode). Did you by chance gain information from that end?
I checked with Shaw. While the Vault CLC and GUI can both log (they are entirely managed binaries), the Vault IDE is not yet capable of logging.
In my original suggestion, I asked about the server's log (while in Debug Mode). Did you by chance gain information from that end?
Jeff Clausius
SourceGear
SourceGear
No client logging?? That's unfortunate.
These are the entries on the server log that are tagged with the build computer name. After the GetRepositories, I guess is when things hang. When I run it while logged in, the GetRepositories is followed by "Getting repository Structure" and other entries. Any clues?
----02-Sep-04 14:50:11 jerry--build-xpg.wn.ui.net(10.1.30.58)--SSL Disabled
Login
----02-Sep-04 14:50:11 jerry--build-xpg.wn.ui.net(10.1.30.58)--SSL Disabled
GetUserOptions returned: Success
----02-Sep-04 14:50:11 jerry--build-xpg.wn.ui.net(10.1.30.58)--SSL Disabled
GetRepositories returned: Success
These are the entries on the server log that are tagged with the build computer name. After the GetRepositories, I guess is when things hang. When I run it while logged in, the GetRepositories is followed by "Getting repository Structure" and other entries. Any clues?
----02-Sep-04 14:50:11 jerry--build-xpg.wn.ui.net(10.1.30.58)--SSL Disabled
Login
----02-Sep-04 14:50:11 jerry--build-xpg.wn.ui.net(10.1.30.58)--SSL Disabled
GetUserOptions returned: Success
----02-Sep-04 14:50:11 jerry--build-xpg.wn.ui.net(10.1.30.58)--SSL Disabled
GetRepositories returned: Success
OK. That's a start. At this point, we know the IDE client is getting the list of repositories. Its like the IDE client is not using the profile settings for the Build script.
Now, Profiles are stored in the user's docs & settings in the file - %APPDATA%\SourceGear\Vault_1\Client\Profiles for the Account owner which launced the Vault process.
Have you configured a profile to automatically login and automatically use a repository while logged in as the Build Script's Windows account? I thought you had set this, but I cannot remember in which account you created the profile. You should be able to find the profiles file for the Build's account process.
Now, Profiles are stored in the user's docs & settings in the file - %APPDATA%\SourceGear\Vault_1\Client\Profiles for the Account owner which launced the Vault process.
Have you configured a profile to automatically login and automatically use a repository while logged in as the Build Script's Windows account? I thought you had set this, but I cannot remember in which account you created the profile. You should be able to find the profiles file for the Build's account process.
Jeff Clausius
SourceGear
SourceGear
Yes. The build program runs under my account. To verify that the automatic Vault login is happening, I just created a new profile, "fred", which automatically logs in under Vault user "bruce". Starting up the Vault client logs in automatically. Running the build program while not logged in (to the computer) causes the following in the log file, so we know it's used the "fred" profile, since "bruce" is listed as the user. Is it possible that the IDE client doesn't obey the automatic repository setting?
----02-Sep-04 15:55:09 bruce--build-xpg.wn.ui.net(10.1.30.58)--SSL Disabled
Login
----02-Sep-04 15:55:09 bruce--build-xpg.wn.ui.net(10.1.30.58)--SSL Disabled
GetUserOptions returned: Success
----02-Sep-04 15:55:09 bruce--build-xpg.wn.ui.net(10.1.30.58)--SSL Disabled
GetRepositories returned: Success
----02-Sep-04 15:55:09 bruce--build-xpg.wn.ui.net(10.1.30.58)--SSL Disabled
Login
----02-Sep-04 15:55:09 bruce--build-xpg.wn.ui.net(10.1.30.58)--SSL Disabled
GetUserOptions returned: Success
----02-Sep-04 15:55:09 bruce--build-xpg.wn.ui.net(10.1.30.58)--SSL Disabled
GetRepositories returned: Success
I'm sure this is correctly configured (as it runs when you launch VS), but it doesn't hurt to double check.
1) Profile Fred has info for user, password, and server, as well as remember password enabled.
2) Profile Fred has Default Repository = the value of the repository hosting the projects, and Automatically choose this repository is enabled.
3) The Connect to Server login dialog has Profile = Fred and Automatically connect using this profile.
1) Profile Fred has info for user, password, and server, as well as remember password enabled.
2) Profile Fred has Default Repository = the value of the repository hosting the projects, and Automatically choose this repository is enabled.
3) The Connect to Server login dialog has Profile = Fred and Automatically connect using this profile.
Jeff Clausius
SourceGear
SourceGear