Modern Software Experience

2011-03-10

background

Legacy Family Tree

Millennia Legacy Family Tree is a popular Windows genealogy application. Its popularity is largely explained by the fact that it is crippleware; Millennia provides the feature-limited Legacy Family Tree Standard Edition for free.
This has proven so successful in popularising the software, that other genealogy software vendors followed their example; MyHeritage has Family Tree Builder Regular and Family Tree Builder Premium, RootsMagic introduced RootsMagic Essentials in addition to RootsMagic Standard Edition, and Incline Software introduced Ancestral Quest Basics.

You upgrade Legacy Family Tree Standard Edition to Legacy Family Tree Deluxe Edition by entering a registration code, which you can buy from Millennia Corporation.

The base technology underlying Legacy is, well, legacy software.

legacy software

Despite the hyperbole from Millennia Corporation president David Berdan, who called version 7.0 introduced in 2008 truly the next generation of family history software, the current version Legacy Family Tree is quite similar to the product they sold a decade ago. The user interface is familiar but dated. The base technology underlying Legacy is, well, legacy software.

Legacy Family Tree is promoted as a Windows application, but it really is a FoxPro application. The problem with that is that Microsoft retired FoxPro years ago. The last major version of FoxPro is Visual FoxPro 9.0, released in 2004. Microsoft announced FoxPro's end of life in March of 2007. The latest and probably last update ever is Visual FoxPro Service Pack 2, released on 2007 Oct 11.

Even that latest version of FoxPro still does not support Unicode, so it is no surprise that Legacy still doesn't support Unicode either. Legacy also has a dated, somewhat clunky feel to it. Although the lack of Unicode support limits its usability (it should not be your main genealogy application), and the clunky user interface limits its appeal, Legacy Family Tree is far from useless.
Legacy Family Tree has many features other genealogy applications have not, and I do recommend getting Legacy for its consistency checks. Legacy consistency checks aren't perfect, but they are extensive, and do include checks for many things other applications do not check.

While Legacy Family Tree may take hours to import a large GEDCOM file, Legacy Charting imports it in seconds.

Legacy Charting

In 2008, Millennia introduced Legacy Charting. Legacy Charting is positioned as a companion to Legacy Family Tree, but it is nothing like it. While Legacy Family Tree may take hours to import a large GEDCOM file, Legacy Charting imports it in seconds. While Legacy has as dated user interface, Legacy Charting has a ribbon interface. Legacy Charting is a fast, modern and easy to use application. It is so good, that it won the GeneAward for Best New Genealogy Product of 2008.

Legacy 8?

When Legacy Charting appeared, I speculated that this is what Legacy 8.0 might be like. It makes perfect sense for Millennia to make a leap forward by rebuilding Legacy using modern technologies, but Millennia has not confirmed that they are working on a brand new codebase for Legacy 8.

direct import

Legacy Charting does not just import GEDCOM files, it features direct import from several proprietary file formats as well. Legacy Charting can import data directly from PAF, Family Tree Maker, RootsMagic and of course Legacy Family Tree. Legacy Charting is included in the Legacy Family Tree download, but you can also download it separately from its own website.

Legacy Charting Deluxe Edition is only available as part of Legacy Family Tree Deluxe Edition.

editions

Millennia does not promote Legacy Charting. Like Legacy Family Tree, Legacy Charting is crippleware. Legacy Charting is available in two editions, the Standard Edition and the Deluxe Edition. The Standard Edition is free, but limited to displaying just four generations at once. If you've played with Legacy Charting Standard Edition, you probably want to upgrade it to the Deluxe Edition, but Millennia will not sell an upgrade to you.

Legacy Charting Deluxe Edition is only available as part of Legacy Family Tree Deluxe Edition. To upgrade Legacy Charting from the Standard Edition to the Deluxe Edition, you have to upgrade Legacy Family Tree from Standard Edition to  Deluxe Edition. To get Legacy Charting Deluxe Edition, you need to buy a registration key for Legacy Family Tree Deluxe Edition - and that is a problem.

Legacy Family Tree has a registration dialog box to enter your registration key in, Legacy Charting does not.

the problem

bundled

That Millennia insists on selling Legacy Family Tree Deluxe Edition to anyone who wants Legacy Charting Deluxe Edition is a bit pushy, but the bundle price isn't excessive and you really should get Legacy Family Tree as a consistency checking anyway.
The real problem is that you cannot install Legacy Charting Deluxe Edition without installing Legacy Family Tree Deluxe Edition. Legacy Family Tree has a registration dialog box to enter your registration key in, Legacy Charting does not. When enter your Legacy Family Tree registration key, both Legacy Family Tree and Legacy Charting are upgraded from the Standard Edition to the Deluxe Edition.

There are two decisions here, a good one and a bad one. One decision is that you need to enter the registration key just once to unlock the additional features of both products, to upgrade both from Standard Edition to Deluxe Edition. That is a good decision. The other decision is that only one product allows you to perform the registration; Legacy Family Tree has a registration dialog box, Legacy Charting does not. That is a bad decision. Millennia knows it is bad decisions, yet they made it anyway.

tying Charting to Legacy

You can question the wisdom of tying a great product like Legacy Charting to a feature-loaded but otherwise mediocre product like Legacy Family Tree. Surely Millennia could easily sell thousands of Legacy Charting licenses to users of competing products?
Still, once you make that decision, it makes sense to have just one registration key and to have customers enter it only once. However, it does not make sense that Legacy Charting lacks a registration dialog box, thus forcing users to enter the registration key in Legacy Family Tree. If Legacy Family Tree installed flawlessly, this decision would be annoying. The decision is problematic.

installing Legacy

Legacy Family Tree's user interface and technology aren't the only thing dated about it. It installation program is just as dated  and remarkable unreliable. Millennia knows this; a significant part of its online help is about installation issues.

For years now, Millennia has done nothing more than document the problems and suggest workarounds. The right thing to do would be to create a new installation program. That they still haven't done so does not make sense.
Perhaps they are developing a modern successor to aging FoxPro-based product, and just do not want to spend much effort on that old product anymore, let alone its installation program. However, as long as this is their current product, they should make sure that its installation program just works.

The Legacy Family Tree installation program should have been fixed years ago. The issue at hand is that Millennia knows that their installation program is broken and that Legacy itself isn't compatible with recent Windows releases. They know that their installer it often fails to install the product, yet they still decided that you need to install and run Legacy Family Tree to register Legacy Charting. That is not customer-friendly.

Read Millennia's online manual full of installation issues and weep.

Legacy Family Tree on Vista

Legacy Family Tree installs and runs on Vista 32-bit. You may get lucky and succeed installing it in one go. You may get unlucky, have to restart your system, install it multiple times and have to manually download and install files. Read Millennia's online manual full of installation issues and weep. There obviously is a lot wrong with their installation program.

Legacy Family Tree does not install and run on Vista 64-bit. I've tried more than once. In fact, for months now, I've been trying every new version, hoping that they'd finally fixed the problems. I've repeated reported the issue publicly, but they have not bothered to fix it or even respond in any way.

I could try installing Legacy Family Tree in a Virtual PC, but I mostly care about being able to run Legacy Charting Deluxe. So, I figured out how install Legacy Charting without having to battle the Legacy Family Tree installation program or its compatibility issues.

the solution

Installing Legacy Charting

The solution is quite simple. Consider what happens when you install Legacy Charting and run it; it does not allow you to enter your registration key, but it does check whether you have entered it (presumably through Legacy Family Tree). If you have entered the registration key, all Legacy Charting features are unlocked. If you have not entered your registration, Legacy Charting continues to limit your charts to four generation.

Let's rephrase that a bit. Legacy Charting always starts running as the Standard Edition, looks for your registration info, and if it finds it, continues running as the Deluxe Edition.
Legacy Charting looks for the registration info created by Legacy Family Tree. It knows where to look and how to verify it. It does not demand that Legacy Family Tree is running or even installed. It just needs the registration info to be there.

Thus, to get Legacy Charting to run as the Deluxe Edition, we just need to enter the registration data in the right place. The natural way to do so is through the Legacy Charting registration dialog box, but Legacy Charting does not have a registration dialog box. The Millennia way is through the Legacy Family Tree registration dialog box, but Legacy Family Tree does not run. Millennia created a problem and does not provide a solution, but that is no reason to give up on Legacy Charting.

Legacy registration info

I battled the Legacy Family Tree installer on Vista 32-bits again, just to enter the registration data and figure out whether I could then somehow copy that to my Vista 64-bits system. I quickly discovered that this is indeed possible.

Legacy Family Tree stores its registration data in a public place; the Windows Registry.

RegEdit: Legacy Charting entries for 32-bit Windows

This is what the registry information data for Legacy Family Tree 7.5 looks like. There is a Millennia Corporation key in HKEY_LOCAL_MACHINE\SOFTWARE. Below that are three subkeys; Legacy 7.0, Legacy 7.5 and LegacyCharting 7.5. The surprising one is Legacy 7.0; I did a clean installation of Legacy 7.5, yet there is a Legacy 7.0 key. It makes more sense when you think of the Legacy 7.0 as the Legacy 7.x key.

The Legacy 7.0 key has a subkey UserInfo and that subkey contains two values: Name and CustNum. These are two string values that contain the user name and registration key as entered in the Legacy Family Tree dialog box.

This then is probably what Legacy Charting looks for when it starts up. Transferring this data to another machine is pretty easy; We just export the Millennia Corporation key to a *.REG file, and then import those registration entries into the registry of the other machine.

There is just one small catch, as this *.REG files shows.


Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Millennia Corporation]

[HKEY_LOCAL_MACHINE\SOFTWARE\Millennia Corporation\Legacy 7.0]

[HKEY_LOCAL_MACHINE\SOFTWARE\Millennia Corporation\Legacy 7.0\UserInfo]
"Name"="User Name"
"CustNum"="12-345-678-90"

[HKEY_LOCAL_MACHINE\SOFTWARE\Millennia Corporation\Legacy 7.5]
"InstallPath"="P:\\Program Files\\Legacy"
"Language"="English"

[HKEY_LOCAL_MACHINE\SOFTWARE\Millennia Corporation\LegacyCharting 7.5]
"InstallPath"="P:\\Program Files\\Legacy\\LegacyCharting7"

The registration entries contain installation paths. You must either use the same installation paths or manually modify the file to match the paths you did use. If you do edit the paths manually, be sure to use double backslashes.

64-bits Windows

When you merge this information into the registry of your Vista 64-bits system, Legacy Charting still does not run as the Deluxe Edition.  It continues to run as the limited Standard Edition. These registry entries are for 32-bit Windows, not 64-bit Windows.

On 64-bit Windows, the Program Files directory is for 64-bit applications.

installation directory

When Legacy Charting, a 32-bit application, in installed on 64-bit Windows, the default installation directory isn't below the Program Files directory, but below the Program Files (x86) directory instead.
On 64-bit Windows, the Program Files directory is for 64-bit applications. Legacy 32-bit applications are not installed in the Program Files directory, but in the Program Files (x86) directory instead.
This makes it easy to distinguish between 64-bit and 32-bit applications. This makes it possible to install both a 32-bit and 64-bit build of the same application. For example, Windows Vista 64-bit comes with both the 64-bit and the 32-bit release of Internet Explorer.

In 64-bit editions of Windows, the HKEY_LOCAL_MACHINE\SOFTWARE key is for 64-bit applications.

registry key

However, even when you fix the installation paths, it still doesn't work. The reason for that is the 32-bit registry entries do not only specify the wrong the installation path, they also reside under the wrong registry key.

In 64-bit editions of Windows, the HKEY_LOCAL_MACHINE\SOFTWARE key is for 64-bit applications. Data for 32-bit applications, that would be stored under the HKEY_LOCAL_MACHINE\SOFTWARE key on 32-bit Windows, is stored under the HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node key instead.

64-bit registry entries

RegEdit: Legacy Charting entries for 64-bit Windows

This is what a *.REG file with the correct registry entries looks like.


Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Millennia Corporation]

[HKEY_LOCAL_MACHINE\SOFTWARE\Millennia Corporation\Legacy 7.0]

[HKEY_LOCAL_MACHINE\SOFTWARE\Millennia Corporation\Legacy 7.0\UserInfo]
"Name"="User Name"
"CustNum"="12-345-678-90"

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Millennia Corporation\Legacy 7.5]
"InstallPath"="P:\\Program Files (x86)\\Legacy"
"Language"="English"

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Millennia Corporation\LegacyCharting 7.5]
"InstallPath"="P:\\Program Files (x86)\\Legacy\\LegacyCharting7"

Merging this data into the registry of a 64-bits Windows system does not fix the Legacy Family Tree problems, but it does allow you to run Legacy Charting Deluxe Edition, without having to wait for Millennia's Legacy Family Tree fixes.

links