A collegue of mine has just setup a SourceSafe 2005 database and configured it for internet web service access. I have Team Suite installed including SourceSafe 2005, but I am unable to find an option anywhere which would allow me to connect to it. I can connect over a local LAN or over the net via file sharing, but I can't find the web service protocol. I was informed this feature was in Beta 1.
Anyone know what happened to it I thought Beta 2 was feature complete since the Go Live license is available....

What happened SourceSafe web service access in Beta 2?
Reutener
nicomp
Zakiess
The Web_Service line in srcsafe.ini was already there (as a result of it creating the virtual directory successfully). However the other two settings weren't.
There was no appSettings section in C:\Program Files\Microsoft Visual SourceSafe\VSSWebService\web.config.
We're testing it now.
foru
However, if I specify Administrator as the username (this is the account being impersonated by the Web service) in that credentials window I instead receive an error stating that the file share could not be read.
ErnieBilling
Hello,
Just to recap:
1. You ran regiis from the v2.0.50215 directory (e.g. Beta 2). No errors were reported
2. After that, you ran SourceSafe Admin, brought up Server|Configure and checked both config checkboxes. No errors were reported.
As a result, you are seeing the SourceSafe subweb under the default web, but no virtual directories
That is quite strange... I would try the following
a. Delete the SourceSafe subweb and go through those steps again.
b. If when you launch Server|Configure on step #2 the checkbox for the database is checked, you need to first un check it, hit OK and close the dialog, and then open it angain and check the checkboxes.
Anyway, you can also create the vdirs manually (assuming the SourceSafe subweb is created). Here is the procedure:
1. Go to the file system directory where your database is located (e.g. c:\myvss\)
2. Create a sibling folder to the data directory, call it VssWebUpload
3. Create a second sibling folder to the data directory, call it VssWebDownload
4. Open the srcsafe.ini of your database, and add the following three lines:
DownloadVDir = VssDownload_db1
UploadVDir = VssUpload_db1
Web_Service = http://yourserver.com/SourceSafe/VssService.asmx
Make sure you enter the same URL as the remote users will use
5. Go to IIS manager, and navigate to the SourceSafe web
6. Add a virtual directory called VssUpload_db1, that points to the VssWebUpload folder created on step #2. Allow write access to this Upload virtual directory
7. Add a virtual directory called VssDownload_db1, that points to the VssWebDownload folder created on step #3. Allow read access to this Download virtual directory
8. Open the Web.config file under the SourceSafe web, and add the following line directly before the </configuration> tag:
<appSettings><add key=\\yourserver\yourdb" value=""/></appSettings>
Make sure you enter the same UNC path as the remote users will use
Now Gary just needs to go through the steps I outlined under "On the client" section on my previous post and it should work.
Let me know how it goes...
lasouris
I created a local user on my server matching his SourceSafe user and password, and granted that user full access to both the SourceSafe share I created and the folders and files themselves. After clicking Next I just get the error "The specified share path cannot be accessed by the SourceSafe Web service."
Perhaps we could set up a remote assistance session tonight and you can actually watch me take these steps
My MSN Messenger email is visualcsharpcoder at-no-spam hotmail dot cawm.
Matt Johnson
Hi Nate,
Try re-registering asp 2.0. You can see the details on how to do that on Roman's reply at
http://forums.microsoft.com/msdn/ShowPost.aspx PostID=1130
Once you compelted that, re-enable remote access using SourceSafe Administrator. The virtual directories should be available at that point.
ICW
Andy G.
misha_sql
Smat
Hi Gary,
You also opened a product feedback issue, right
I replied there, but will also reply here, so the information is available for the commuity.
Apologies if the documentation is not easy to find. Let me walk you through the process of setting it up, I will also include a couple of pointers to the online documentation.
On the server
As you observed, we do require that for a SourceSafe database to be exposed through the Web Service, it needs to be accessible via an UNC path (e.g. shared). This adds a layer of security beyond IIS and the file system; and is based in our assumption that a database has been locked down using the SourceSafe Security guidelines (http://msdn2.microsoft.com/library/ms181061(en-us,vs.80).aspx)
When you have created the share and restricted permissions as the guidelines dictate, you need to open SourceSafe Administrator on the server where the database resides, do a File|Open database and access the database using the UNC path (In the wizard, select "Add Existing..." and type the \\yourserver\database path).
Now go through the steps on http://msdn2.microsoft.com/library/ms181057(en-us,vs.80).aspx to configure the Web Service.
Once you have gone through those steps, you can verify that the web service is indeed installed by doing the following:
1. Open IIS manager (right click on "My Computer" icon, and select manage)
2. Navigate to the default website, and you should see a new sub-Web called SourceSafe
3. Under that subweb you should see two virtual directories named like: VssWebUpload_XXX & VssWebDownload_XXX
4. Point your browser from the client machine to the http(s)://[yourserver]/SourceSafe/VssService.asmx URL, you should see an asp error similar to:
"Description: An application error occurred on the server. The current custom error settings for this application prevent the details of the application error from being viewed remotely (for security reasons). It could, however, be viewed by browsers running on the local server machine."
That is expected, since for security reasons we don't expose the web service details.
On the client
Go to your client computer and bring up Visual Studio. Make sure you select the SourceSafe (Internet) plugin.
1. Bring up the File|Open Project dialog.
2. You will notice a new icon on the left shortcut bar for SourceSafe Internet. Select it
3. Select the "Add SourceSafe Database" icon
4. In the Wizard, choose "Connect Using the Internet"
5. Enter both the URL (http://yourserver/) and the UNC (\\yourserver\database) for the database you want to connect to
6. Give it a name, and you are set.
7. Now, if you didn't configure SSL on your IIS server, you should:
7a. Go to Tools|Options|Source Control|Plug-In Settings
7b. Click the "Advanced" button
7c. Uncheck "use SSL"
From this point on you should be able to perform source control operations against that database, as if you were accessing it through the local network.
It looks a bit long, but shouldn't take you more than 10 minutes to be up and running. Let me know if you run into any issues, I'll be happy to help troubleshoot
Regards,
Alfredo Mendez
Program Manager
Visual SourceSafe and
Visual Studio Source Control
Soloviev.I.
Yes he needs to be authenticated with IIS to access the web service.
If he already has a domain user "nate.public.com\Gary", that matches the SourceSafe user name, you do not need to create a local machine user.
You simply need to make sure that his domain user has the required access rights for the file system and the windows share (see http://msdn2.microsoft.com/library/ms181061(en-us,vs.80).aspx for details on which rights to assign).
And also you need to make sure that your SourceSafe database supports "Use network name for automatic user log in" in the SourceSafe admin Tools|Options|General page.
This is expected if you are not using SSL/https
We require that the login name you are using to authenticate to IIS has to exist in the SourceSafe database. If the data channel is not encrypted we dont want to be passing SourceSafe credential information to the web service.
entrance80
Where should the two virtual directories point, and what should the virtual directory names be Maybe I can just create them manually.
By the way, I'm the guy Gary D is working with to try and solve these problems.
CSharpGuy
I also noticed while exprimented with this that old keys in the web.config was not cleaned up and stuff like that. It still feels very "Beta" wich it ofcourse is ..
Thanx anyway for the great post, would have been impossible without it
/Ola