VSS Labeling Problem – File $/path/ is already open

Recently, while using the source control system that everyone hates (but seems to continue to use), I was trying to apply a label and got the following error:


The path name blurred to protect intellectual property, but this was a path in VSS, not a file.  When trying to apply a label to the folder I got this message.  I noticed that it seemed to happen on certain folders, but not others.  For the folders it did occur on, it would say image down in the status bar for about a minute before coming back with this error. 

This may or not help you, but I will share the steps I used to resolve this error.

  1. The first important step to resolving this issue was narrowing it down to the specific folder where this problem was occurring.  In my case, this was simply trial and error of applying labels at each folder until I honed in on the culprit.
  2. Next, check out all of the files in that folder.  In my case, there were about 2 dozen files.  When checking them all out, I got a message in the status bar that was suspicious:

Could not checkout local version of $/<path>/<filename>, checking out latest version instead.

So at this point, I tried checking the file out and back in with no change in the behavior.  My problem still persisted and I was not able to label that file or any parent folder of that file.  Arrrrgghh!

So while I have narrowed it down, no solution yet.  Please contribute any comments or resources you have that may help here.  I’ll continue to investigate and will likely be running SS ANALYZE next…


Missing Web Site Templates in Visual Web Developer 2008 Express Edition

Continuing in my quest to experience the goodness of the new .NET 3.5 SP1 stuff from the ground up, I installed Visual Web Developer 2008 Express Edition.  After all, now that I have my AdventureWorks database up and running, I want to experiment with ASP.NET data scaffolding (ASP.NET Dynamic Data), JavaScript Intellisense, ADO.NET Entity Framework, ADO.NET Data Services, and many of the other great new features in this release.  As Scott Hanselman and Carl Franklin recently discussed on Hanselminutes, this framework update really should have been .NET 3.6 there is so much new stuff in there!


The Problem

So I was sorely disappointed to start my first web site and was prompted with this confusing dialog box after doing a File -> New -> Web Site:


Selecting a different version of the framework didn’t fix anything, I had no web site templates!  How was I going to follow all of these simple step-by-step tutorials if I couldn’t get past step 1?  From the scores of other people having the same issue, I could tell I was not alone in my frustration.

Allow me to back up a bit and describe how I got into this predicament — it didn’t take long…



After installing, I did the natural thing and clicked on the item in my start menu labeled “Microsoft Visual Studio 2008” as it seemed to be the only logical choice.  Verifying the properties shows that this shortcut is pointing to C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\Devenv.exe, which is exactly what I would have expected from experience with other versions of Visual Studio (insert snide remark about seemingly old version number in the “Common7” part of the path).


The Solution

No telling if this will be the same problem that everyone else seemed to be having, but it appears I just opened the wrong .exe!?!  I can’t really blame myself though, since the installation process seems to be a bit misleading.  There is no shortcut anywhere to the correct application which is actually called VWDExpress.exe:


Launching this executable manually gives me the much anticipated web site templates, and what I need to move on .  One subtle note is that my menu path to get to this is actually File -> New Web Site.  This path is one level shallower than the full blown studio version, but they both share the same keyboard shortcut of Shift + Alt + Nimage

So, if you read the whole post above and you’re still not quite sure what I am getting at, just look at the log in your development environment:

No web site templates (bad):


Web site templates (good):


The Details

To clarify whether or not this should apply to you, I am running all free versions of the tools provided my Microsoft.  If you have a full-blown version of Visual Studio, you may not experience this problem when using the standard IDE.  I first installed SQL Server 2008 Express, then Visual Web Developer 2008 Express.

This means that I now have the following versions of these files:

devenv.exe 9.0.30729.1
VWDExpress.exe 9.0.30729.1


Stay tuned for more blog posts as I continue on this journey…


SQL Server 2008 Sample Databases

If you remember good ol’ NorthWind, you’ll know that having a sample SQL Server database can be great for sampling new technologies and performing RDBMS experiments and tests.  As much as detail-oriented presenters and trainers like to use NorthWind, it is an old sample from SQL Server 2000 that doesn’t have many of the new features in SQL Server 2008.

I set out to get the sample databases, and I was amazed at the complexity of it.  Not that it is in general a difficult task, but it could probably be made much more simple by Microsoft.  Since I figured out which hoops you need to jump through,  I thought I would summarize it for you here:

1) Read Up

If you want to have a successful installation of the sample databases, take 20-30 minutes to become familiar with the SQL Server Database Product Samples.  Contrary to some of the complaints people have posted in the comments, there is lots of good documentation that helps you understand the contents and process.image

Two important points you might miss are that you need to have full-text search installed and FILESTREAM enabled to ensure a problem free install of the samples.  This can be done after the fact if you did not specify these settings during the initial installation.

It should also be noted that attempting to change the FILESTREAM setting through the SQL Server Configuration Manager did not seem to work even after a restart of the engine.  Instead I had to run this SQL

exec sp_configure ‘filestream_access_level’, ‘2’


2) Download & Run the Installer

Once you’ve familiarized yourself with the process and read the pre-requisites, download the .msi installer file:


For my Vista machine running SQL Server 2008, I picked this file: SQL2008.AdventureWorks_OLTP_DB_v2008.x86.msi


imageOne interesting point is that there appears to be an option to have the installer restore the database for you.  Unfortunately, when I attempted to use this option to restore it in my local SQLExpress instance, it bombed out on me requiring me to run the installer again without the option selected.  The option is not selected by default which leads me to believe that Microsoft is aware this is a potential problem area.

3) Restore the DB Manually

This is the part where people with little or no DBA knowledge probably begin to curse.  If you are running the same platform as me and accept all of the defaults, you would think this should be as simple as running this script in a new query window (based on step 6 in the instructions):

RESTORE DATABASE AdventureWorks2008
FROM DISK ‘C:\Program Files\Microsoft SQL Server\100\Tools\Samples\AdventureWorks2008.bak’

Unfortunately, this gave me a bunch of errors based on the way the RESTORE was attempting to use the default settings.


You can get around this by using the restore script (RestoreAdventureWorks2008.sql) in the same folder as the .bak file.  If you look at how the path is being used, you’ll notice that you have to substitute the path as follows in the top section of the script:

SET @source_path = ‘C:\Program Files\Microsoft SQL Server\100\’ 



So after a bit of plugging away, I was able to the the sample successfully restored.  Yea!


I truly empathize with Microsoft as streamlining this installation can be a daunting task.  There are an endless number of settings that have to be accounted for, security, versions, etc.  However, this installation process is much too difficult for the average developer in my view.

Now that I have some data to play around with, I expect to post some experiences about using the new 2008 features such as intellisense and the other goodies I expect to find in the newest version of this tool.  All things considered, SQL Server is still my database platform of preference and I appreciate everything Microsoft does to make this free version available to the public.

TeamCity 1 – CCNet 0

OK, so in my preliminary experiences I have to say that TeamCity is friggin awesome. It was amazing how simple it is to setup, and the features that come pre-installed are great. Effortless email notifications, build statistics including average Winner!build time and success rates, ability to monitor multiple projects in VSS — It’s all in there. What was unexpected is the ability to keep tabs on your development effort with intuitive source control history information. There is even a built-in web component that shows you a color-coded code-diff on the spot. Code reviews have never been easier!

I am going to recommend that my company take TeamCity to an official state of adoption as it clearly fills a need and is a very well put together tool. You can configure it to have multiple build servers in the event that you are building a lot of products, so this should scale well.

Thanks JetBrains!

Simple Folder Synchronization Using XCOPY

There are many times when it is necessary to make sure that one folder stays in synch with another.  The possibilities are endless, but one that I run into a lot is the need to retry copying files to a folder because they were in use when I tried the first time.  For example, I may be deploying a new build of Smart Client software but somebody is in the application so it can not be overwritten on the network. 

In order to combat this, the solution is simple.  Just using the right switches of XCOPY can work pretty smooth.  Here is a quick way to recursively copy all files.


set AttribPromptSwitch=/i/f/s/e/r/h/d/y/z

That one line in a .bat file can be magic if you want to do the same things that I typically do, which is “Make this folder look like that one and don’t ask me any questions!

@echo off
time /t

REM ————————-
REM ————————-
set COPYSOURCE=”C:\temp\SimpleSynch\ThisFolder”
set COPYTARGET=”\\Server\Share\ThatFolder”

del SynchFromThisToThat.logs

set AttribPromptSwitch=/i/f/s/e/r/h/d/y/z

REM ————————-
REM ————————-
echo “Copying from:
echo “to:

REM This is where the actual work is done
xcopy %COPYSOURCE%\*.* %COPYTARGET% %AttribPromptSwitch% >> SynchFromThisToThat.log

time /t


If you want more detail on what each of the switches do, here are a few good references:




Giving TeamCity another try…

Thanks to a comment from Eugene Petrenko, I decided TeamCity was worth another shot.  Everything I have heard has been positive, so I can’t let a little problem like not getting to my source control repository get in the way of continuous integration 🙂

Once again, I visited the TeamCity download site and read all of the fine print once again to figure out what I was missing.  All I can gather right now is that I am going to want to upgrade, but I am not sure yet what the killer feature is that will push me to fork out the credit card digits.

Install was smooth (as it was the first time), but this time I changed the services to run using a domain build account instead of the local system account.  There are 2 services that are installed with the default installation options, and I changed them both to run under this more privileged account:


I was definitely impressed with the ability to test the email settings. It was intuitive and gave me a better feel that things under the hood were put together in a manner consistent with the feedback I have heard about this tool.

Once I got the right user specified in the service it was able to connect to my VSS instance and I am now running my first test build.  Not bad considering it took me about 15 minutes and I couldn’t even tell you where the documentation is located!  I am warming up to this TeamCity stuff….


TeamCity Install Experience

Well, my hopes for a streamlined CruiseControl.NET were not realized in my first attempt at installing the continuous integration server software.  My CCNet lava lamp server died on my last week so I needed to spin up a replacement.  This seemed like a good opportunity.

Although the installation was slick and simple, I feel as though I was more of a user and less of an administrator when I started using it.  I guess that is the idea, but I want to know what is going on with my builds and know how to tweak stuff.  Having that comfort level with an existing toolset leaves me biased, but I digress.ragepost

The big disappointment was the fact that I wasn’t able to even select a VSS source control instance because it kept telling me the file didn’t exist?  Maybe it was because my machine was 64bit.  Maybe it is because VSS support is weak since they think nobody uses it any more.  Maybe it was because the user interface is pretty but not very bulletproof?  Whatever the reason, I am probably not going to be spending any more time on this tool in the immediate future.  Until I can find somebody to help me through a VSS example I’m not sure it will be time well spent…