Acquiring hxcomp.exe without having Visual Studio installed

I have been using the excellent IDA Free to reverse engineer the driver for Akai's MPD16 as Akai have declined to support Windows 7 and it seems a shame for perfectly good hardware to be condemned to landfills prematurely.

While I was doing this I ran across a Zynamics script which purports to import function details from MSDN documentation into IDA. To cut a long story short you need hxcomp.exe which as you can read about here comes from the Visual Studio SDK. Unfortunately for me, the SDK installer refuses to install unless you have Visual Studio (non-express) installed. Not to worry, its possible to unpack the files from the installer manually with the help of some open source software.

I used Visual Studio 2005 SDK Version 4.0 which arrived in a file called VsSDKFebruary2007.exe. I expect it will work in more or less the same way with other SDK versions as well.

Use 7zip or similar to unpack VsSDKFebrurary2007.exe. There are several files inside but you only need vssdk.msi.

7zip isn't good enough at seeing inside vssdk.msi to get at hxcomp.exe so I found lessmsi which did the job nicely.

Fire up lessmsi and open vssdk.msi. Sort by Directory then scroll down until you find SourceDir\PFiles\Visual Studio 2005 SDK\2007.02\VisualStudioIntegration\Archive\Help. Select everything in that directory then click the extract button in the bottom right.

Now you have the files you need, you must manually install them. Note that there is an error in the description provided there and he accidentally pastes the contents of uninstall.bat twice so you don't have the correct install.cmd. What you actually need in install.cmd as far as I can tell is:

@echo off
set HXCOMP_DIR=C:\Program Files\HxComp
regedit /s install.reg
hxreg -n Hx -i Resources -l 1033 -s Resources.HxS

If you are after the Zynamics IDA script then you should now be able to decompile the help files in your sdk with a command like that described in the comments here.

for /R %x in (*.hxs) do hxcomp -u "%x"
Games Windows

Dragon Age: Origins DLC authorisation problem


I fired up Dragon Age: Origins for the first time in a while and it would get to the main screen but it would not load my saved game. It claimed that I was not authorised to use the following downloadable content:
  • Warden's keep
  • Blood dragon armour.
  • The stone prisoner
  • Golem's might (for origins)
  • Witch hunt
  • Return to ostagar
  • Feastday gift
  • Feastday pranks
  • Golems' might (for awakening)
  • The darkspawn chronicles
  • Blightblood(for origins)
  • Witchcraft(for origins)
  • Leilina's son(for origins)
  • Battledress of the provocateur (for origins)
  • Battledress of the provocateur (for awakening)
  • The golems of amgarrak
Although I own Dragon Age: Origins Ultimate Edition which contains both Dragon Age: Origins and Dragon Age: Awakening, I have never played Dragon Age: Awakening as I have not quite finished the final battle of Dragon Age: Origins. Its rather odd that my saved game seems to require DLC for a different game that I haven't even played yet.
Enabling the "Dragon Age: Origins - Content Updater" service did not help - as there was no service installed!
I next ran the following file: This then displayed an error stating that it couldn't find a copy of the game and I needed to reinstall it.
After the slow install process, and placing the DVD back in the drive (seriously, why do I need to put a DVD in to play a game with online authorisation?) I was able to reload my saved game.

procmon from sysinternals help file doesn't open

If you attempt to access the help file from within procmon on Windows Vista or Windows 7, its possible that windows may refuse to display the help file. It turned out that there was a security flag that needed to be cleared.

ProcMon Help Problem

To do this, I browsed to the directory where I had installed procmon and opened the .chm file which caused the following dialogue to appear: ProcMon Security Warning

I unchecked the "Always ask before opening this file" box, and then when I accessed the help from within process monitor, I was able to view the help file properly.



Windows 7 won't boot after removing a disc

I recently had to reinstall windows 7 due to a faulty Seagate 1.5TB hard disc - the second time this exact model has failed for me (although the two drives were manufactured 18 months apart from each other).

After reinstalling windows, I had 2 different windows installations: the new installation on a fresh disc and the old installation on the faulty disc. I believe this may have caused "BOOTMGR" not to be installed on my new disc, instead I suspect the installer left it on the original, faulty disc.

Some time after the new installation, I removed the faulty disc which unfortunately stopped windows booting - my computer would stop just after the BIOS screens with a blank screen.

My first reaction was to dig out my windows 7 setup disc, boot from it and perform a repair. This didn't go so well because the repair dialogue couldn't recognise the windows installation!

This caused the automatic repair to misidentify my boot drive, and it seemed to get confused by an SD card that was inserted into my usb card reader, as the automatic repair attempted to update the partition table on the sd card!

I attempted to manually repair by using DISKPART to set the windows partition to drive c: and then ran the following commands which I saw in a microsoft forum post.





Unfortunately the FIXBOOT and REBUILDBCD stages both gave errors (although the scanos was able to locate the windows installation).

After removing the sd card reader, and rebooting the windows 7 install disc, the repair dialogue was now able to locate the windows installation. After doing this an earlier dialogue box popped up offering a solution (which was basically reinstalling BOOTMGR I believe).

I rebooted again but it still didn't boot! However there was now a different error message, which indicated that the first stage of the boot had succeeded.

So I rebooted again into the Windows 7 installation CD. Rather than try the automatic repair tool which I had lost confidence in a little, I entered DISKPART and ensured my windows installation volume had the appropriate drive letters, then ran the above 4 BOOTREC commands.

After this my computer booted successfully.