Navigation

Search

Categories

On this page

Dealing with Missing Dataset Editor in Visual Studio 2008
Upgrading or Replacing a Motherboard on Windows Vista Machine
Upgrading or Replacing a Motherboard on Windows Server 2003 Machine
Download WebService Studio 2.0
VS 2008: Windows SDK 6.0 Needed for WCF "Service Configuration Editor" Utility
How Windows Performance Counters of "Average" Types Linked to Their Bases
Where Are the Third-Party ASP.NET Theme/Skin Galleries?
"IO Error" During Vista Disk Backup
Visual Studio 2008: fixing "'alink.dll with IAlink3' could not be found" error

Archive

Blogroll

Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

RSS 2.0 | Atom 1.0 | CDF

Send mail to the author(s) E-mail

Total Posts: 48
This Year: 15
This Month: 0
This Week: 0
Comments: 8

Sign In
Pick a theme:

 Friday, July 04, 2008
Friday, July 04, 2008 6:25:39 PM (Eastern Standard Time, UTC-05:00) (  |  )

After I have upgraded the motherboard on my desktop, a few things got messed up, the most annoying of which was that Visual Studio 2008 has lost its XSD/Dataset editor. Opening a data set resulted in opening it as a text or XML, and when I right-clicked the XSD file and selected "Open With..." from the menu, the XSD editor was not there. Repairing and completely uninstalling and reinstalling VS 2008 did not help. After searching the web I found that some people have the same problem, but I found no solution for Visual Studio 2008. The solution that worked for me was described for the similar problem with Visual Studio 2005. I ran “devenv /resetsettings” and it didn't help. Then I ran “devenv /setup” and hallelujah: XSDs are opening again in the Design mode! To launch devenv you will need to start VS 2008 command prompt first.

Comments [0] | | # 
 Monday, June 23, 2008
Monday, June 23, 2008 1:24:24 PM (Eastern Standard Time, UTC-05:00) (  |  |  |  |  )

(Updated 7/4/2008). Unlike Windows XP or Windows Server 2003, changing a motherboard on a machine running Windows Vista (in my case Vista Ultimate x64 with Service Pack 1) is not mentioned in the Microsoft Knowledge Base article addressing the MoBo upgrade. I tried a couple of approaches described below, but the bottom line is that the same process worked for Windows Vista, with one important difference: Vista upgrade process takes many hours. Waiting for that first reboot - the point where you replace the board - took close to two hours! And then it took a few more hours to complete the upgrade process. In the end the machine booted up and most of applications seem to be working fine.

Applications that didn't fare well are:

  • Daemon Tools
    Symptoms: When system is booting, a cryptic error message is displayed, complaining about Windows version or something. Worse, an attempt to uninstall Daemon Tools failed. However, deleting the folder with Daemon Tools made the problem go away.
    Solution: Uninstall Daemon Tools before upgrading the system, and reinstall it after upgrade is complete.

  • Windows Mobile Device Center
    Symptoms: Connecting a smartphone caused Windows Mobile Device Center to crash.
    Solution: Repair Vista installation again. After I ran an upgrade installation of Vista again (overnight, because it takes untold hours to complete), this problem went away. Please note that unlike XP, Vista does not have a separate Repair Installation option. You must run Upgrade installation (for that start installation from Windows) in order to repair existing Vista installation.

  • Microsoft Visual Studio 2008 Dataset Editor
    Symptoms: Opening and XSD schema or a Dataset in Design mode in VS 2008 resulted in opening the file either as a text, or as XML.
    Solution: Please check this post.

Now a little more about how the first upgrade attempt went down.

Having to watch the upgrade screen for hours in order to intercept the first rebooting is no fun, and ironically can be mitigated by the bug on the "Vista x64 with SP1" DVD, which makes a rebooting process always stop indefinitely waiting for user input. This bug is a mixed blessing, because you can go about your normal life while waiting for the first reboot while the existentially-named "Gathering Files" step of the Vista upgrade sequence is running, but after you have replaced the main board you want the upgrade process do its reboots without your involvement, and that's where the bug turns from being a help to being a hassle. Anyway, you would be wise to allocate half-day for the motherboard upgrade on the Vista system, and by all means back up your system before the upgrade.

Failed Mobo upgrade approaches included uninstalling board-specific drivers before turning the PC off and replacing the motherboard. It didn't work at all - machine went into reboot loop. Attempts to boot in the Safe Mode stopped at BTHidMgr.sys, which I later found could be related to having Nero's InCD installed. I don't have InCD, but I do have Daemon Tools, which incidentally is the only application that stopped working after the upgrade. I never tried to remove Daemon Tools before trying the Vista upgrade path, so the next time I would recommend trying the quick "uninstall drivers, uninstall Daemon Tools/InCD, Reboot" approach first. Only if that does not work, get the huge bag of popcorn and do Vista upgrade.

 

Comments [0] | | # 
Monday, June 23, 2008 12:43:26 PM (Eastern Standard Time, UTC-05:00) (  |  |  |  |  )

Upgrading or replacing a motherboard on a machine running Windows Server 2003 (in my case it was Windows 2003 R2 Standard Edition with Service Pack 2 x64) is relatively straightforward, and more or less works as described in the MS Knowledge Base article: you start upgrade process by running Windows setup while old motherboard is in-place, and once upgrade process reboots the machine, you intercept it by turning the computer off and replacing the MoBo, and then allow upgrade process to continue. It worked alright, and wasn't too long a process.

What the KB article didn't mention is that after the upgrade a few things may be broken or missing. In my case there were two big things broken:

  • IE was corrupted in a way that prevented downloading files by clicking a link. Page browsing still worked and "Save target as..." worked, but clicking a link that redirects to a file download resulted in the strange error message: "The requested look-up key was not found in any active activation". My way to fix it was to upgrade IE6 to IE7, but since IE7 download links were those redirect links that didn't work, I had to install FireFox, which had a link accessible via "Save target as", and then I used FireFox to download and install IE7.

  • .NET Framework 2.0 has disappeared, wracking havoc making pretty much all applications (SQL Server Management console, ASP.NET apps in IIS) not working. Fixing it was not too bad though - I downloaded and installed .NET Framework 2.0 x64, then made a couple of runs of Windows Update to ensure the server won't try to reboot soon after being brought online, rebooted the machine just in case, and that was it.

Overall entire process, although not completely seamless or worry-free, took only about an hour, not counting time required to physically replace the board.


Comments [0] | | # 
 Monday, May 19, 2008
Monday, May 19, 2008 9:32:03 AM (Eastern Standard Time, UTC-05:00) (  |  |  )

WebService Studio 2.0 (a.k.a. Web Service Studio) is a quick & dirty web service client tool that can import your web service's WSDL and allow you to call web service's methods without having to create your own test client.

WebService Studio used to be hosted on Microsoft's GotDotNet web site, but ever since GotDotNet was replaced by Codeplex, Web Service Studio was nowhere to be found. Fortunately, some kind stranger made WSS available for download at his blog: http://mattharrah.com/blog/web-tools/net-web-service-studio-20/.

Update: BTW, if you are planning to use WebService Studio to test WCF web services, you will need to configure your web service to use basicHttpBinding instead of wsHttpBinding.

Comments [0] | | # 
 Thursday, May 15, 2008
Thursday, May 15, 2008 3:53:38 PM (Eastern Standard Time, UTC-05:00) (  |  |  |  )

After installing Visual Studio 2008 on a new machine and starting playing with a simple Windows Communication Foundation project, I attempted to change service's WCF settings using WCF Service Configuration Editor utility (SvcConfigEditor.exe). However, I got the "Windows SDK is not installed correctly" error. "Internets" were surprisingly mum on the subject, so I had to figure out the solution myself.

To fix the problem, I had to install Windows SDK 6.0 manually. After I did that, the problem went away. Just quit Visual Studio 2008 before installing Windows SDK.

Update: Even after reinstalling Windows SDK, first time right-clicking on the web.config in the Visual Studio '08 Solution Explorer does not bring "Edit WCF Configuration" item to the menu. However, after I did Tools | "WCF Service Configuration Editor", "Edit WCF Configuration" item started showing up upon right-clicking the .config file.

Comments [0] | | # 
 Thursday, March 20, 2008
Thursday, March 20, 2008 5:04:21 PM (Eastern Standard Time, UTC-05:00) (  |  |  |  )

Some time ago I added performance counters to the application I was working on, and for some inexplicable reason all counters of "Average" type, like AverageCount64 or AverageTimer32, didn't work at all, always having 0 value. Then I had no time to find out why it was not working, but today I did. As you may know, "Average" counters are made of two distinct counters: the base counter and the average counter itself. The mystery was that by looking at all the samples returned by Google, it was unclear how the Base and the Average itself are linked together. It looked like you create the Base and the Average, add them to the collection and somehow magically Windows figures they need to be linked together when averages are calculated. After some research it looks like the two are linked by counter name! It appears that base's name should be the name of real counter, plus word " base". For example, when you define your counter category that has average performance counter, you do something like this:

   counters.Add(
new CounterCreationData("whatever", "whatever desc", PerformanceCounterType.AverageCount64));
   counters.Add(new CounterCreationData("whatever base", "whatever base desc", PerformanceCounterType.AverageBase));

To my surprise, changing the "whatever basevalue of the counter name in both CounterCreationData and PerformanceCounter to something like "whatever base1" breaks the perf counter! It looks like there is a naming convention requiring that AverageBase proformance counter has the CounterName property value on both CounterCreationData and PerformanceCounter to be counter name plus " base", but I never saw this mentioned anywhere - neither by MSDN, nor by Codeproject articles. So, since average perf counters always come in pairs, linked by name, these helpers should make creating average perf counters simpler (uinsg C#/.NET):

        private static void AddAverageCounterDefinition(CounterCreationDataCollection counters,

                        string counterName, string counterDescription, PerformanceCounterType averageType)

        {

            counters.Add(new CounterCreationData(counterName, counterDescription, averageType));

            counters.Add(new CounterCreationData(counterName + " base", string.Empty, PerformanceCounterType.AverageBase));

        }

 

        public class AveragePerfCounter

        {

            private PerformanceCounter averageCounter;

            private PerformanceCounter averageCounterBase;

 

            public AveragePerfCounter(string categoryName, string counterName)

            {

                this.averageCounter = new PerformanceCounter(categoryName, counterName, false);

                this.averageCounterBase = new PerformanceCounter(categoryName, counterName + " base", false);

            }

 

            public void IncrementBy(long val)

            {

                this.averageCounter.IncrementBy(val);

                this.averageCounterBase.Increment();

            }

        }

 

After this, when creating performance counter definition, you could use following code instead of the one shown by the very first snippet:
      AddAverageCounterDefinition(counters, "whatever", "whatever desc", PerformanceCounterType.AverageCount64);
It will add " base" to the name of the sidekick automatically.

And to create corresponding performance counter, you now can do this:
      AveragePerfCounter avgCount = new AveragePerfCounter("MyCategory", "whatever");
     
avgCount.IncrementBy(new Random().Next(100));

 

Comments [0] | | # 
 Tuesday, February 26, 2008
Tuesday, February 26, 2008 2:33:32 PM (Eastern Standard Time, UTC-05:00) (  |  |  |  )

When ASP.NET 2.0 and Visual Studio 2005 came out I hoped that ASP.NET themes will be developed en masse by third parties and sold like those on TemplateMonster.com. Today, tired of ugly GridViews in my apps, I decided to find an ASP.NET theme for at least a GridView, but to my surprise, the only thing I found was this, which is not even a skin. There are millions of sites, books and blogs telling how to make themes in ASP.NET 2.0, but it looks like market for third-party templates has never materialized. Given how fierce the competition in the graphics & UI design world is, I wonder why everyone is missing a chance to take this niche. Microsoft has a few starter themes, but just a few and without live test-drive sites - one has to download and install Visual Studio plug-ins and build the site to see it in action. All this is very strange: it's hard to believe there is no business model in making skinnable themes for ASP.NET applications.

Comments [0] | | # 
 Monday, February 11, 2008
Monday, February 11, 2008 9:47:49 AM (Eastern Standard Time, UTC-05:00) (  |  |  )

Recently I started getting "IO Error" while backing up my computer that runs under Vista. To back up I used Vista's "Backup & Restore Center". Somewhere closer to the end of the back up process it would just throw this IO error seemingly with no good reason. About five last attempts to backup ended with this error. I used to get that error a long time ago, and then the error would occur only sometimes, and on different systems. That time I was able to eventually track the problem to faulty USB cable, but this time was different - error was occurring on just one machine, and once it started happening - it never went away.

I noticed, however, that on the machine where the error was occurring, system drive where Vista and most of everything else is installed, is running out of free space. I got "only" 1.7 GB left. I didn't think that should be a problem, since 1.7 GB is still quite a bit. Nonetheless, I decided to reshuffle partitions to increase the size of my primary partition. Once I've done that, I made one more attempt to backup my machine, and this time it's worked.

The bottom line: be sure that drive you back up (or maybe just your system drive) has enough free space.

I will update this post if the error resurfaces or if I find out that amount of free disk space has nothing to do with the error.

Comments [0] | | # 
 Thursday, November 22, 2007
Thursday, November 22, 2007 3:19:37 PM (Eastern Standard Time, UTC-05:00) (  |  |  )

After downloading and installing just-released Visual Studio 2008 on Vista x64, I got compilation error while trying to build the "Hello, World" application. The error was "fatal error CS0014: Required file 'alink.dll with IAlink3' could not be found."
It seemed to be a fairly common error during the Beta cycle of the Visual Studio 2008, but apparently it was not fixed - at least not for the 64-bit version of Vista. Similar to 32-bit versions, the solution was to install two Windows Update items found on the Visual Studio 2008 DVD in the "<dvddrive>:\WCU\dotNetFramework\dotNetMSP\x64" folder (for 32-bit version look in the "<dvddrive>:\WCU\dotNetFramework\dotNetMSP\x86" folder):
1. NetFX2.0-KB110806-v6000-x64.msu. Run it, wait forever, reboot when it's done.
2. NetFX3.0-KB929300-v6000-x64.msu. Run it, wait forever, reboot when it's done.

After those two updates were installed, the problem went away.

Comments [0] | | #