Posted by
Wade on July 28, 2007 |
2 comments
I encountered an error today while setting up a project within the Commerce Server Staging. I haven’t encountered it before, which leads me to believe that I must have done something abnormal on my development virtual machine.
Commerce Server Staging (CSS) is a service that allows you to synchronize content and data between many separate environments. Utilizing CSS, you can reliably update both Web content and business data from the source to one or more destinations.
Using the CSS MMC, I created a simple project that stages my StarterSite content from my local directory (e.g. C:\Inetpub\wwwroot\StarterSite) to a temporary folder (e.g. C:\Temp\Destination). It was meant to be the start of a proof-of-concept for a more complex network topology. However, I almost immediately received an error when I attempted to start replication:
I just love errors like this! Gives me something to research and figure out …
Fortunately, more valuable information was added to the application log:
Event Type: Error
Event Source: Commerce Server Staging
Event Category: None
Event ID: 61208
Computer: CS2007
Description:
Error occurred with the database StagingLog.mdb. Error is: System.Data.OleDb.OleDbException: Operation must use an updateable query.
at System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult)
at System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult)
at System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult)
at System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method)
at System.Data.OleDb.OleDbCommand.ExecuteNonQuery()
at Microsoft.CommerceServer.Staging.Internal.ProjectDeploymentLog.ModifyLog(String projectName, String status).
While this isn’t the most explicit error, it provided enough information to track down the problem.
You might be surprised to see that this error refers to an Access database. CSS makes use of Access database files to store events and information it audits during the staging process. Specifically, there are these two Access database files:
- StagingLog.mdb
- Found here: C:\Program Files\Microsoft Commerce Server 2007\Staging\Data
- Stores internal replication information used by CSS
- events.mdb
- Found here: C:\Program Files\Microsoft Commerce Server 2007\Staging\Events
- Stores staging information that is made available to reports
Searching on the keywords “mdb operation must use an updateable query” led me to KB article 175168. This article indicated that the problem is most likely caused by a user not having the proper permissions to open the StagingLog.mdb file.
In comes File Monitor (aka FileMon), by SysInternals, to the rescue. Seriously folks, save yourself the agony and get to know the tools available from Microsoft and SysInternals.
I was able to capture the following “Access Denied” message via File Monitor:
Solution: Turns out that the NT AUTHORITY\NETWORK SERVICE has been attempting to open the StagingLog.mdb file to no avail. After giving the NT AUTHORITY\NETWORK SERVICE the rights to Modify the StagingLog.mdb file …
… I am now able to successfully start my CSS project and stage my StarterSite data to a separate folder.
UPDATE: Rather than only giving access to the StagingLog.mdb file, give the NETWORK SERVICE account access to the entire Data folder where the MDB file is located. Otherwise it will have issues trying to write out an LDF (Access log file) file when updates are made.
Hopefully this not only helps someone resolve this particular problem, but also shows how useful it is to equip yourself with good debugging tools!
Good luck!
Posted by
Wade on July 23, 2007 |
4 comments
This weekend I spent some time playing with Silverlight and Orcas. Needless to say, I am very impressed with both. Here’s a sample Hangman application I created in about three hours.
I thought I’d go ahead and document the steps I took when I setup my development environment. I’ll try to come back here and update the content, so that it stays pertinent as updates are released.
Setting up a Silverlight development environment
- Make sure to read everything you can on Silverlight, as well as the Get Started Silverlight page (I’ve listed a number of good blogs at the bottom of this post).
- Install Microsoft Silverlight 1.0 Beta (for Windows). This is the runtime that’s required to experience Silverlight applications.
- Install Microsoft Silverlight 1.1 Alpha (for Windows). This is the runtime that’s required to experience Silverlight applications written with .NET.
- Reboot.
- Install Microsoft Visual Studio codename “Orcas” Beta 1. Soon to be Visual Studio 2008, this is the next evolution of Visual Studio 2005. It’s pretty sweet.
- Reboot.
- Optional: Install Microsoft MSDN Library for Visual Studio codename “Orcas”. Watch out – during the installation of the MSDN Library, it took about five minutes for it to complete this step. Be patient, and let it finish.

- Reboot.
- Install Microsoft ASP.NET Futures (May 2007). This provides you with ASP.NET controls for Silverlight.
- Install Expression Blend 2 May Preview. This is a design tool that allows a user to interact with Silverlight. Note: this is different from Expression Blend that can be found on MSDN. Make sure to get this download. Also, Tim Heuer pointed me to http://www.microsoft.com/Expression/products/download.aspx?key=blend2maypreview, which provides a product key and longer trial (180-day evaluation). Note: when I went to install Expression Blend 2, I was only given two choices: Vista, or Windows XP. My development VM is Windows Server 2003 Standard R2. I chose Windows XP, and haven’t had any problems.

- Install Microsoft Silverlight Tools Alpha for Visual Studio codename “Orcas” Beta 1. This is an add-on that allows you to create Silverlight applications using .NET.
- Download Microsoft Silverlight 1.0 Beta Software Development Kit (SDK). This is a zip file that contains documentation, samples along with templates for Visual Studio, and has also a “Go Live” license that enables building commercial applications. I unzipped it to C:\Program Files\Microsoft Silverlight\SDKs.
- Download Microsoft Silverlight 1.1 Alpha Software Development Kit (SDK). This is another zip file that contains documentation and samples Silverlight Web experiences that target Silverlight 1.1 Alpha.
That should be enough to get your environment up and running. Once that’s complete, watch this Silverlight walk-through: http://silverlight.net/quickstarts/silverlight10/xaml.aspx.
Here are some good Silverlight blogs I’ve found (send me email, or leave me a comment, if you know of more):
Also, here are a few interesting posts:
I hope someone finds this useful! Leave a comment if you’ve developed something cool, so that I can check it out!
Posted by
Wade on July 22, 2007 |
2 comments
I had no idea that this game would be so popular! Despite the crappy graphics, it’s been referred half a dozen times, and received almost 300 unique hits in the last 24-hours. Pretty amazing!
Here’s the link to Hangman. Give it a try. Here’s the original Hangman announcement.
There have been a few updates to the original program, including:
- Includes the definition of the word; calls a .NET web service that parses a web response from Dictionary.com (please let me know if you find problems!)
- Tracks statistics (e.g. total times played, won, and lost); so far we lose a LOT more
- Frees the man from the noose if you win
Yes, they’re all silly little updates, but hopefully it increases the enjoyment of the game.
Here are a couple screen shots with the updates. The first one shows what happens when you die, err, lose.

This next one shows what happens when you win. Doesn’t that look a lot more pleasant?

This sure is fun stuff to play with. Now that I feel more comfortable with Silverlight and WPF, there are all kinds of things I’d like to write. It’s a shame I’m not more artistic.
Anyone out there have some mad artistic skills that would like to team up with me?
Best of luck!
Posted by
Wade on July 21, 2007 |
2 comments
Unfortunately I don’t have enough time at the moment to write-up a full post that outlines how this works (we have friends coming over for dinner), but I wanted to at least share my very first attempt at a Silverlight and WPF web application.
Check out Hangman!
It’s a pretty slick (albeit graphically retarded) Silverlight application. It uses Microsoft Silverlight 1.1 Alpha (for Windows), and I built it on the work I did devising a strategy to (consistently) win hangman.
I plan to eventually write a post explaining exactly how I setup my development environment, how the technology within this application functions, and I’ll post the source code (once I refactor it).
What do you think? Have you built any Silverlight applications?
Posted by
Wade on July 21, 2007 |
No comments
I was writing a Silverlight application today, when I came across the following error when trying to invoke a web service method from my Silverlight project:
“Error invoking service”
After digging around a little bit, I noticed the following above my web method:
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.
// [System.Web.Script.Services.ScriptService]
“Ahh!” I said, as I uncommented the class attribute.
Unfortunately, when I tried to compile I was told:
The type or namespace name ‘Script’ does not exist in the namespace System.Web’ (are you missing an assembly reference?)
So, I went to “Add Reference”, added “System.Web.Extensions” to my project, and now it compiles! And, after testing my web service call from my Silverlight project, the data from the web services is returned to my Silverlight project as expected.
Nice!