|
|
|
|
|
|
|
|
|
|
2/8/2009I just found out the new version of Sandcastle Help File Builder has been released. This incoorperates the changes i requested in regards to building SHFB project with Team Build. I have not yet tested if everything works as intended now, but i am going to test this shortly. 1/29/2009SHFB (or Sandcastle Help File Builder if you prefer the full name) is a tool that can be used to automate the building of help files from source code documentation. Grant Holliday already wrote a guide on how to incoorperate v1.7.0.0 of this application in a Team Build script ( here).
However there is now a v1.8.0.0 Alpha. Which does not work in the same way (the command line application was removed). And although there is a small piece of MSBuild script on the SHFB forums that will give you a start, this is not sufficient for a proper build.
It can be done with some trickery, but its easier to wait for the next release of v1.8.0.0 (Beta probably). Which will incoorporate some changes that i suggested which will take into account the changed OutDir in Team Build. In other words, it will use OutDir internally, instead of OutputPath for each referenced project/solution.
Head over here for the Codeplex site of the SHFB project. I will post a link to the new version as soon as it arrives, including a sample Team Build/MSBuild script. 1/9/2009Well, as usual i stuck with the whole blogging thing for a while untill i kinda forgot about it. But i dusted this old thing off again.
Running on my new server now. I had to replace the old motherboard, CPU and memory because the motherboard was giving me some problems. Ofcourse i only found out the motherboard was at fault after i had already switched the CPU and memory thinking the problem laid there.
But i can't say i hate my new config. Core 2 Duo E8400 and 8Gb memory. Still running Windows 2003 x64 Enterprise, but i should be upgrading that to Windows 2008 soon.
So back to business. At the office we run quite a few servers where co-workers need to log in without administrator rights, but with rights to the scheduled tasks. When you try to edit the security settings you will find that the security tab is missing from the properties window of the Tasks folder.
To get around this you can use the cacls tool. To run it, just type cacls in a command prompt and it will display information on how to use it. Anyway this works on all those illusive folders that the Windows Explorer won't let you edit security settings for. 5/14/2008Just 3 weeks from now and I will be wandering about the 'great halls' of the Orange County Convention Centre in Orlando. Actually I am attending the pre-conference as well, so i'll be there on monday the 2nd of June already.
A lot of interesting sessions this year not too much major new stuff though. I can probably be found at a couple of mobile development, architecture and parallel programming sessions.
If you are going as well, be sure to check out the party on thursday. Its being held in Universal Studios Orlando. 5/7/2008When you use a virtualization product like Virtual Server 2005. And you have virtual machines with a lot of hard disk activity, your virtual harddisk might grow out of proportion.
If you are a bit low on hard disk space, it might be a problem to use the default compact method since this usually requires twice as much room on the physical drive as the original virtual harddisk.
For instance, you have a virtual hard drive of 200 Gb that needs to be compacted (because your removed a lot of junk from it, and there is now say only 50Gb on it left). And you want to compact that. You need at least another 200 Gb of free disk space to complete this.
If however you use a separate virtual hard disk for the data (say the databases of a virtual server with SQL Server installed, or the build outputs of a TFS Build Server), and it doesn't contain the OS itself, you can compact it with only the 50Gb of free disk space.
What you need to do is create a new dynamically expanding drive, and mount it in your host OS using VHDMount. Now also mount the drive that needs to be compacted in VHDMount. Now you can just move the files across, and delete the original drive, and rename the new drive to the same name as the old one.
Now you have a nice clean 50Gb Virtual Harddisk. 4/23/2008As you may have noticed, my website/server experienced some downtime in the last two weeks. This was due to a configuration error in my ISA installation.
Somehow the IIS service I have installed on my ISA machine decided to turn on the default website after a reboot. I previously turned the default website off, but I forgot to make that change permanent so after a reboot ISA could not listen on port 80 and 443 anymore since they were already taken by IIS.
All seems to be fixed now, and i must remember to check all services after i reboot a machine. 4/10/2008Yesterday Krzysztof Cwalina blogged about his Framework Design Guidelines Digest and how its now available in PDF format for easy offline viewing.
A little while ago I posted the Cyclops application. Part of this application is manipulating the location of desktop items. Because changing between resolutions can mess with your icons, I needed to save the location before the resolution change from normal to 'TV mode' and put them back after the resolution is put back to normal from 'TV mode'.
Since April fools day was getting closer i decided to play with it a little, and i made an application called FollowTheLeader. What it does is make your icons follow your mouse cursor. Best effect is achieved by disabling the 'Align to grid' and 'Auto arange' settings of the desktop.
The source can be downloaded here.
The effect is created by storing the cursor location every 10ms, and then after a second or so put the cursors on previous locations of the cursor creating a snake like trail that keeps following the cursor.
The actual retrieving of the desktop icon information is the hardest part and its located in the InternalSaveIconPositions method of the IconOutliner class. The main interaction with the desktop is done via the SendMessage PInvoke call.
//Read number of items with this: int iconCount = NativeMethods.SendMessage(DesktopHandle, LVM_GETITEMCOUNT, 0, 0);
//Then for each icon get the location: NativeMethods.SendMessage(DesktopHandle, LVM_GETITEMPOSITION, index, pointer.ToInt32());
Point[] iconLocation = new Point[1]; NativeMethods.ReadProcessMemory(processHandle, pointer, Marshal.UnsafeAddrOfPinnedArrayElement(iconLocation, 0), Marshal.SizeOf(typeof(Point)), ref numberOfBytesRead);
//Or set the location: NativeMethods.SendMessage(DesktopHandle, LVM_SETITEMPOSITION, index, (location.X & 0xffff) | ((location.Y & 0xffff) << 16));
Actually getting the name of the icon is the hardest part but not actually needed for the application.
And there you go, with the source of the application i am confident you have enough information to make icons fly all over the place. 3/30/2008The Tech-Ed is comming again at the beginning of June. If you know me personally, you probably know i've been to the Tech-Ed before. Previously the event was one large event for both developers and IT Pros. Microsoft changed it this year to two separate events, one for developers and one for IT Pros.
Too bad I think because in my case one large event was much more usefull for me because I do a fair amount of IT Pro stuff as well (like TFS administrator, which involves Sharepoint Services and SQL Server). But i guess the event was getting too big, it is just not easy to manage 13000 attendants.
Anyway if you want more info about the event, this is a good place to start. I am currently working on a simple Exchange 2003 WebDav API. WebDav access to a Exchange 2003 account is enabled if Outlook Web Access is installed and configured for the user you want to retrieve data from.
Its currently in a very early stage. I primarely use it to retrieve attachments from all e-mails in a specified folder. But i am also working on creating/deleting/changing contacts, deleting mails and deleting appointments.
I am hoping to get the quality up so i can publish a first version here, maybe someone out there has some use for it as well.
If you do, please let me know!
|
|
|
|
|
|
|
|
 |
 |
 |
 |
|