Visual Studio 2005: Installation Woes

So I have a clean Windows XP VMWare virtual machine.

I try to install from Remote Desktop. VS2005 actively refuses.

VS2005 from the c: drive. I copy all the files from the CD’s to the virtual machine’s hard drive. Visual Studio fails to ask for the location of the next disk, and instead reports that it wants the files for disk 2 and 3 to be merged in with the files from disk 1. That is, it wants me to re-arrange the files of the three disks until they are as if they were on one disk. Somehow I manage to shuffle files around, the install finally hangs at 0 CPU for a very long time on the SQL Express install. I didn’t really want SQL Express, I use SQL2000 Developer Edition, so I kill the install. It looks like most of the bits made it on the disk.

MSDN. Same problem. The MSDN installer can’t deal with being installed from c:\ and doesn’t prompt for the location of disk 2, 3, etc. The MDSN installer eventually blows up. I think screw it, google works better anyhow. Because of the broken search on MSDN since VS2005, I’ve been trained to go to google first whenever I have a question.

Visual Studio 2005 Service Pack 1. VS2005 SP1 is a massive re-install. I use the VMWare remote client to pass through. The install hung after a night.

Advice. Create and mount ISO files when installing VS2005 to a virtual machine. The VS2008 Beta 2 install went through effortlessly. Consider switching to VS2008 beta before the official Feb 2008 release date.


Component Designer in Visual 2005 kind of broke

The component designer allows you to graphically represent an object on the designer. This used to be on the same canvas as textboxes and labels, was moved to an onscreen tray in VS2003, and then moved to it’s own screen in VS2005.

The components mostly generate code that goes into the InitializeComponent sub, which is executed on the Page_Init event. Some properties are stored in resource files (.resx) The code also has some calls to ISupportInitialize.BeginInit and EditInit, which I think have something to do with letting the component know if they are in design time or runtime.

Conversion is causing me a lot of grief. The resource files changed layout. They used to be XML of one version, now they are XML of another version.

And sometimes the Page_Init event seems to fail to fire on converted visual components. Check that the sub has the “Handles Me.Init” clause
My solution has been to move the generated code out of the code generated sub and manually set up a Page_Init.

Debugging ASP Classic with Visual Studio 2005

0) Set break points.  You don’t need to click the green arrow, that just sets up the enironment for ASP.NET and wastes your time if you’re just debugging ASP classic.

1) If you use something other than “low isolation” you will be attaching to dllhost.  There will be several, make your best guess.  Most pages will hit break points, but not all.
2)  Better yet, set the isolation level to low, and restart IIS. Attach to inetinfo.exe, there will only be one.  All pages will hit break points and if you aren’t in debugging mode already, everytime you hit an error you will be prompted to start JIT debugging and to select a debugger.

3) This is for a single user development machine scenario.  If there are other developers or live websites on the box, this is probably not adivisable.

Visual Studio for non-Visual Studio Languages

What can be done 

  • VS will let you color sytax if it thinks the file is a C++ file
  • You can use custom snippets for any language
  • You can use external tools to call the external compiler, etc.
  • You can use the VSS integration
  • Create file templates
  • Create project templates

What can’t be done (as far as I can tell)

  • Debug non VS languages
  • Intellisense

However, plug ins do exist that do the intellisense and debugging from the VS environment.

Someday I will have to review this product, since all of my personal websites are opensource applications written in PHP. Given I spend $100+ a year on the website, $100 for a development environment that makes PHP development less frustrating might be worth it.  I have very little time for writing code on my personal sites, so every second counts.