In order to fully take advantage of the XML source code comments available in C#, you need to use all the features offered by the XML comment system.For this, the best guide I’ve found so far is this: XML Comments Let You Build Documentation Directly From Your Visual Studio .NET Source Files .
Also, in order to extract the XML comments that work as and input to the Sandcastle tools, follow these steps:
- Inside the Visual Studio 2005 Solution Explorer, right click on your C# project
- Select Properties from the popup menu
- Select Build
- Make sure the checkbox XML documentation file is selected. Enter the path and file name where you want the XML file to be generated.
With that setting, the next time you build your application the XML file will be generated for you.
Some time ago we had some issues with the WDS Image Capture Wizard that WDS inserts into WinPE to create capture images . When we got to the screen where you select the drive letter you want, the WDS Image Capture Wizard didn't list the drives, not even the C: drive. We could get to it using the command prompt, though, so we created those test images by running imagex manually.
Well, it turns out that we were just documenting the processes at the time, with a full OS install on the hard disk. In what could be described as a RTFM moment, we finally figured out what was wrong – the WDS Image Capture Wizard only lists Sysprep’d drives. Once we ran Sysprep on the OS installation, everything worked smoothly with the Capture Wizard.
The moral of the story is that sometimes it pays to read the manual (and follow the instructions) before jumping head-first into a project.
Some time back I blogged about the Sandcastle project over at Microsoft, a tool that allows you to generate MSDN-style documentation from the comments in the .NET code (among other things). I recently downloaded the Sandcastle - June 2007 Community Technology Preview (CTP) to generate some documentation for a project we did with the HPC team at Microsoft. Even though it is still a CTP, it works great – right now I am able to add comments to the code and then generate sufficient documentation semi-automatically, killing two birds with one stone.
If you are interested in using this tools, make sure to check out post Creating a Chm build using Sandcastle at the Sandcastle blog . Remember that Sandcastle will extract and transform the comments from your files, but you still need the HTML Help Workshop to create the actual *.chm file.
This has been a very exiting week for virtualization, at least on the Microsoft side of things. Microsoft made two significant anouncements between Monday and today:
- First of, Virtual Server R2 2005 SP1 was finally released! You can download it from Virtual Server’s website. Make sure you check out the details about the release as well. BTW, the website also got a new “modern” look. Nice job!
- Also, today Microsoft released the whitepaper “Licensing Microsoft Server Products with Microsoft Virtual Server and Other Virtual Machine Technologies”. This whitepaper details the licensing requirements to run Microsoft’s products in Virtual Server, VMWare, and other virtualization solutions. It also covers some restrictions for scenarios like moving virtual machines from one server to another, virtual machine libraries, products licensed by CPU/Virtual CPU, and others.
For the licensing, remember that you can also use Windows Server Virtualization Calculators to figure out the licensing cost of running Microsoft’s server products on a virtual environment.
Here’s another time-saving tip. If you select Windows Authentication when installing SQL Server Express 2005, and you need to change it so it allows SQL Server Authentication later on, all you need to do is change a registry key. To do this, shutdown all SQL Server-related services, run regedit32, and in the registry key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.1\MSSQLServer, change the value of LoginMode to 2.
Restart all services, and that should do the trick. You can get more information in this KB article (talks about MSDE/SQL Server 2000, but it also applies to SQL Server Express).
Here’s a tip that should save you some time (I spent several hours trying to figure this one out). When you deploy a .WIM image with Windows Server 2003 using WDS, you can have that machine take on the name you gave to it in Active Directory (when prestaging the computer). To achieve this, do the following:
- Create a copy of the sysprep.inf file on the folder c:\RemoteInstall\Images\\\$OEM$\$1\Sysprep
- Edit this sysprep.inf file and make sure you have the following lines in place:
[UserData]
ComputerName="%MACHINENAME%"
…
[Identification]
DoOldStyleDomainJoin=Yes
- Remove the file c:\Sysprep\sysprep.inf from the image (if necessary, mount it with imagex)
- The next time you re-image the machine, the WDS client will place this sysprep.inf file inside the image, and will grab the name you gave to the machine in Active Directory when you prestaged it.
A quick note – I just noticed I recently went over the
100-post mark here in my blog... yoohoo!! I never thought I would get this far with it. I have to accept that it took me a little over a year to make it, but I finally did it. Hooray!!
Right now my colleague
Stephen is delivering the last hands-on lab of the
Virtualization for Developers Lab Series. This means that one of the most interesting trainings I have delivered is now over. It has been a good run, and, even though we sometimes didn’t get the attendance we wanted, a great experience. Some of the highlights of the series include:
- Meeting all sorts of interesting people with interesting (and crazy) projects at every location
- The experience of getting the setup process for the labs almost fully automated - learned a lot about Windows in the process
- See Windows Server Virtualization live for the first time on a presentation by Arno Mihm at a Redmond event
- Going to a tapas bar (“de tapeo”) in Huesca with some of the attendees at the Zaragoza event
For the next few months we’re going to be working on some new trainings and in some other exciting projects. I’ll keep you all posted. In the meantime, remember about the HP Integrity labs – that’s where I’ll probably head next!
You can specify the rom boot program to use with a specific machine when using WDS. This allows you to set the machines to always try a PXE boot first, and control its behavior from WDS. WDS comes with three x86 boot roms, each with different functionality (this also applies to x64 and Itanium – since I only have x86 machines available for testing, I’ll use those roms):
- Boot\x86\pxeboot.com: Normal boot ROM. It presents the prompt for F12 and boots from WDS ONLY if F12 is pressed
- Boot\x86\pxeboot.n12: Boots directly from the network (PXE) without waiting for F12 to be pressed
- Boot\x86\abortpxe.com: Aborts the PXE boot process and continues booting from the next boot device
In order to change the boot rom, you need to have the machine pre-staged in Active Directory, and use the wdsutil command line program. You also need to know either the name or the MAC address of the machine. With that information, you can issue the command:
wdsutil.exe /set-device /Device:SERVER01 /BootProgram:Boot\x86\pxeboot.n12
OR
wdsutil.exe /set-device /ID:AA-BB-CC-DD-EE-FF /BootProgram:Boot\x86\pxeboot.n12
The previous lines change the boot rom to pxeboot.n12 of the machine SERVER01.
By using this, when you have to restore an image to a machine, you can just change the boot rom to pxeboot.n12, and the process will take place automatically (depending on how you have it configured). Once it is restored, you can change it back to abortpxe.com, and it will continue booting from the hard drive every time.
Next month we’ll be at the last planned HP Integrity Developer Workshop, in East Rutherford, NJ, between June 12-14. We’ll be in charge of the Windows 64–bit track.
This is the last workshop planned for this year, so make sure you take this opportunity to get hands-on training with HP’s Integrity Servers using Dual-core Itanium CPUs. You can choose to receive training in either Windows, Linux, HP/UX or OpenVMS, and get help with your ports to the Itanium platform. Plus you get to take back home the server you worked on! Check out the benefits from the class (from the Workshop Overview):
- your dual-core Itanium-based application porting efforts well underway or in many cases, completed.
- The HP Integrity rx2620 server that you used in the classroom sent directly to you from the workshop for your continued porting and testing efforts.
- free software development tools
- membership in HP's Developer & Solution Partner Program that allows you to take advantage of GTM and lead generation programs once your port is completed.
Make sure you reserve your spot for the workshop!