The blogs of Black Marble staff

Aspnet_regiis -ga domain\user results in 'an attempt was made to reference a token that does not exist.'

Today I had to run aspnet_regiis -ga domain\user to grant a specific domain user account access to the IIS metabase and other directories that are used by IIS.  The server in question is running Windows Server 2003 R2 x64 edition and after running aspnet_iisreg from the C:\Windows\Microsoft.NET\Framework\v2.0.50727 directory, I received an error that read:

'An error has occured: 0x000703f0 An attempt was made to reference a token that down not exist.'

After a quick look at the server, I noticed that the .NET 2.0 framework was actually the x64 version rather than the x86 (i.e. 32-bit) version that I had assumed.  Running the aspnet_regiis command from the C:\Windows\Microsoft.NET\Framework64\v2.0.50727 directory, the command completed successfully.

SQL Server 2005 ROW_NUMBER()

Knowing the row number for a row in a result set has many uses. Paging through result sets is one example. In previous versions of SQL Server getting the row number for a result set was less than straightforward, using temporary tables or incremental counts based on a hopefully unique column were common solutions.

SQL Server 2005 makes this a lot more straightforward. The ROW_NUMBER() function provides a easy way to return the sequential number of a row within a result set. The syntax is shown below -

ROW_NUMBER ( )     OVER ( [ <partition_by_clause> ] <order_by_clause> )

A simple example using the AdventureWorks sample database...

FROM Production.Product



Link to MSDN article

History of Computing

As well as the usual ever increasing list of "how to" or "what to" tech books that I try to read, I also like to read a bit about the history of Computing. It is always worth looking at the past as well as the future. Currently I am reading High Stakes, No Prisoners, which is about the very early development, pre Microsoft, of FrontPage by a company called Vermeer Technologies. It's an excellent read. A few of my favourites include Accidental Empires, The Soul of a New Machine, The Nudist on the Late Shift and Fire in the Valley. On the "TODO" list are Founders at Work and Electronic Brains.

Virtual Server and MAC addresses

Today I had to do some work on an old VB6 system, a development environment I do not have on my Vista laptop.

So I copied a Virtual PC image I had with most of the tools I needed and ran it on one of our Virtual Servers. As this VPC needed to run at the same time as the VPC I copied it from, I ran NewSid to change the SID and the PC names.

All seemed good until I tried to use the network, both within our LAN and the Internet it was very intermittent, but I saw no errors.

To cut a long story short the problem was I had two VPC images with the same MAC address. Once I stopped the new VPC, changed the MAC address and restarted it all was fine.

So the Technical Tip is - if you copy a VPC image you need to run NewSID and manually alter the MAC address to avoid network clashes


Still recovering after a long day at DDD6. A good 19 hours from start to finish. Looking forward to DDD Scotland in May 2008, 100 is alot better than 300+ miles.

This was probably the best DDD I have attended. I avoided the Silverlight XAMLy type talks as I had seen enough of that at Mix 07 and, judging by the number of people in the same talks, focused on best practice. For me, Gary Short and Mike Hadlow were outstanding. Ben Hall was also very good, given that this was his first ever DDD presentation. Ben works for Red Gate, an interesting UK based company developing tools for SQL Server.

The Start of the Visual Studio Avalanche (Updated April 21 2008)

The Avalanche of add-on's for Visual Studio 2008 has started. I thought it would be useful to keep a list so here it is.

Latest Addition : VSTS Model Power Tool : CTP

Visual Studio 2008 SDK

Web Deployment Project (RTW)

ASP Ajax Control Toolkit

Microsoft ASP.NET 2.0 AJAX Templates for Visual Studio 2008 

Key Additions

Guidance Automation Toolkit ( Needs the GAX below to install )

Guidance Automation Extensions

Visual C++ 2008 Feature Pack the feature pack extends the VC++ Libraries shipped with Visual Studio 2008 and also includes an implementation of TR1


Power Toys

Source Code Outliner

XSLT Profiler ( this is a must )

VSTO Power Tools

Power Commands

an on other useful bits

C# Keybindings poster

Visual Studio Database Edition Power Tools 

Visual Basic Power Pack 3.0

Fixes and Updates

Web Development HOTFIX rollup which fixes a raft of performance and usability issues , you will need to login to connect to get the patch


Currently there are some parts in Beta

Visual Studio Team System Management Model Designer Power Tool - February 2008 Community Technology Preview (CTP)

Silverlight 2.0 Beta Addin for Visual Studio 2008

ASP.NET MVC Preview 2


External useful tools

SoSex Debugging extensions for .NET 2.0 : if you a looking for deep WinDbg extensions for visual studio


Key Tools

FxCop : Microsoft's extensible code analysis tool


And Some in Alpha

LINQ to XSD Alpha 0.2

if you are having any problems installing VS2k8 look here


The day after DDD6

Got back from DDD6 late last night after our 5am start. After what seemed a short nights sleep I got up to do the Abbey Dash 10K in Leeds this morning with 6000 other runners, posting a 47 minute time, which I suppose is OK given the complete lack training of late due to conferences of late and I was hampered by tripping over some wire left in the road near the start and cutting my knee open!

This morning exertions gave me some time to reflect on the previous days events. Firstly my session on Scrum; it seemed to go OK other than I overran a little and had to rush through the demo of eScrum. You can get the slides from the Black Marble web site (and soon on the DDD site I guess). I have added some screen shots and notes from the shorten demo. I was asked a couple of questions that I said I would post information on:

Unusually, I actually managed to get the three other sessions at this DDD, rare when I am speaking. They were all excellent:

  • My favourite Patterns with Gary Short - the clearest session on patterns I have seen.
  • Why do I need an Inversion of Control Container? with Mike Hadlow - A nice follow up to the patterns session giving a great real world way to take advantage of Inversion of Control using the Castle Windsor Container 
  • Testing Your Applications With MbUnit Gallio with Ben Hall  - I have been using an unholy mixture of nUnit and MSTest, after this session I have to take a long hard look at MbUnit.

Maybe it is the trend of 2007 or a sign the industry is maturing that all three of the conferences I have been to recently have focused on best practice. I consider this a really good sign.

Anyway another great DDD, thanks to the committee for all their work putting it on. Looking forward to the growing franchise in 2008.


Technorati Tags: