Running the ‘Ultima 6 Project’ on a Steam edition of Dungeon Siege

UPDATE: This technique will also work for Ultima V: Lazarus. While the installer for lazarus would complete, the created shortcuts wouldn’t properly point to the Steam edition of Dungeon Siege. With the registry tweak detailed below, the shortcuts are now created correctly.

First, I loved, loved, loved Ultima V: Lazarus, a remake of Ultima V using the Dungeon Siege engine. It is spectacular. Honestly, the best Ultima I’ve ever played (and I’ve played them all, over and over again, since I was a kid). The original story is absolutely respected even as it is expanded upon in grand fashion. The music soundtrack is spellbinding. And, finally, it feels just as much like Ultima as any official ones in the series (and moreso than some of the latter ones). I can’t recommend it highly enough.

Which brings me to the Ultima 6 Project (U6P). . .

I’ve just finished replaying the original Ultima VI. So, with high hopes due to how much I loved Lazarus, I’m going to give the Dungeon Siege-powered remake of Ultima VI a try.

The problem: The Steam edition of Dungeon Siege isn’t supported by the setup.exe provided by U6P. The setup.exe installer checks the Windows registry to find the location of your Dungeon Siege install. And because Steam doesn’t create such an entry, U6P refuses to install.

doh

On a 64-bit version of Windows, the installer checks:
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Microsoft Games\DungeonSiege\1.0\
for a string value: “EXE Path”

(I determined this by using streams to view any text embedded in the setup.exe which revealed it was an “inno installer.” I then used innounp to unpack the setup.exe and was then able to read the embedded install_script.iss file using Inno Setup.)

So, first, we locate our Steam edition of Dungeon Siege. I have created a Steam Library on my SSD (E:), so my Dungeon Siege installation is at: E:\SteamLibrary\steamapps\common\Dungeon Siege 1

Perhaps the easiest way for you to locate your own Dungeon Siege installation is to go into steam, locate Dungeon Siege in your Library, right-click it, and choose “Properties” (at bottom), then click the “Local Files” tab, and then finally click “Browse Local Files…”

You should then be able to click to the right of the path shown which will then give you a selectable and copy/paste-able path.

Now, it’s time to create the registry entry. . . keep in mind that this is for a 64-bit version of Windows (32-bit versions of Windows don’t use the
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\ registry key but instead use just plain ol’ HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ key).

It’s beyond the scope of this column to teach basic registry editing, but basically you want to. . .

  1. Start “Regedit”
  2. Navigate to HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft
  3. Add a key for “Microsoft Games” under HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\ (no quotes)
  4. Add a key for “DungeonSiege” under the now existent “Microsoft Games” key (HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Microsoft Games\)
  5. Add a key for “1.0” under the now existent “DungeonSiege” key (HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Microsoft Games\DungeonSiege)
  6. In the now existent HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Microsoft Games\DungeonSiege\1.0 key, right-click on the right-hand pane and choose “New –> String Value” and name it “EXE Path” (no quotes)
  7. Double-click the “EXE Path” string entry and change its Value data to the path you determined before we began editing the registry. In my case, I change it to: E:\SteamLibrary\steamapps\common\Dungeon Siege 1
  8. Click OK.
  9. Close Regedit.

Because an image is worth a thousand words and may clear up some details in the instructions above, here’s a screenshot of me making these edits to my own machine. Keep in mind that your path to Dungeon Siege will be different. . .

ds-tutorial1

You could also automate the process above by pasting this text into a file named “ds-u6p.reg”. . .

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Microsoft Games\DungeonSiege\1.0]
"EXE Path"="E:\\SteamLibrary\\steamapps\\common\\Dungeon Siege 1"

. . . but obviously you would want to replace the path with your own (retain those double backslashes!). Upon double-clicking that file, the proper registry adjustments will be made for you. Rather than create your own, for you trusting souls out there, here’s a zip file containing that exact code. You can extract it, right-click and “edit” it, adjust the path to fit your own Dungeon Siege install path, save, and then run it.

yay

Regardless of how you go about it, if done carefully and correctly, the installer for U6P should now work! And you’ll have the custom icon for the desktop shortcut, an uninstall option under your Control Panel, and all other functionality provided by the official installer.

Enjoy the game! I’m hoping I will as well!

ADDENDUM: You can force higher resolutions in the game by editing the “Target” field of the desktop shortcut provided by the installer like so (obviously, change the path to Dungeon Siege appropriately):

"E:\SteamLibrary\steamapps\common\Dungeon Siege 1\DungeonSiege.exe" map_paths=!"C:\PROGRA~2\TEAMAR~1\U6PROJ~1\RESOUR~1" res_paths="C:\PROGRA~2\TEAMAR~1\U6PROJ~1\RESOUR~1" user_path="C:\PROGRA~2\TEAMAR~1\U6PROJ~1" height=1200 width=1920 bltonly=true maxfps=100

1920×1200 definitely works. But 3440×1440 crashes. As with U5 Lazarus, you’ll get a warning each time you “Journey Onward”, but there otherwise seem to be no ill effects. The new resolution only affects the game world (after you “Journey Onward”) while the introductory menus and such remain at the default Dungeon Siege resolution (max of 1024×768).