We shipped Service Pack 2 for Flight Simulator X on Friday. (Get the downloads from fsinsider.com; see Phil Taylor’s blog entries for more details.) Service Pack 2 contains the same set of fixes as in Acceleration, without Acceleration’s new aircraft or missions.

We’re seeing a common problem come up: A message from the installer: “Microsoft Flight Simulator X Service Pack 2 requires the English version of Flight Simulator X.”

So far, the immediate cause is the same: missing data in the registry. During testing, the root cause was also the same: Copying the installed files from another partition or machine rather than using the installer. That’s not officially supported, of course, but given the size of Flight Simulator, it’s fairly common to want to move the installed files (to a bigger partition, for example) without reinstalling.

Service Pack 2 requires the registry data that the original RTM and SP1 installers write. (It uses the data in the registry to find the installation directory and the language.dll file. It checks the version information in language.dll to make sure it has the same language as the SP2 installer; otherwise, you’d end up with a broken mix of localized content.)

Unfortunately, the original RTM installer doesn’t rewrite those registry values when you do a repair, so what works is to uninstall and reinstall RTM, then SP1, then SP2.

That said, here’s a shortcut. Note that it involves editing the registry, which can be hazardous to your computer’s health. If you don’t feel comfortable doing this, uninstall and reinstall is a safe choice.

  1. Start RegEdit.
  2. On 32-bit operating systems, open the HKEY_LOCAL_MACHINE\ SOFTWARE\ Microsoft\ microsoft games\ flight simulator\ 10.0 key in the left pane.
    On 64-bit operating systems, open the HKEY_LOCAL_MACHINE\ SOFTWARE\ Wow6432Node\ Microsoft\ Microsoft Games\ Flight Simulator\ 10.0 key in the left pane.
  3. Choose Edit|New|String Value.
  4. Replace New Value #1 by typing SetupPath.
  5. Double-click SetupPath and in the Value data box, type the full directory path where you installed or copied Flight Simulator X.

The SP2 installer should then be able to find language.dll and verify that it’s the right language for the version of SP2 you’re trying to install.

That’s the only common problem we’ve seen — as of today, anyway. I’ll update this blog entry with additional items if/when they come up.

Update #1, 17-Dec-07: Added registry key for x64 OSes.

Posted in Flight Simulator at December 16th, 2007. 56 Comments.

Two recent changes that simplify the WiX language will be available in the next weekly release of WiX v3. The goal of both changes is to make simple setup authoring simpler and help reduce redundancy.

Assigning components to features via attribute

The Component element now has a Feature attribute; when set, that component is parented to the specified feature. So the following snippets are equivalent:

<Component Id=”FooComp” Feature=”BarFeature” … />

and

<Component Id=”FooComp” … />

<FeatureRef Id=”BarFeature”>
<ComponentRef Id=”FooComp” />
</FeatureRef>

Component/@Feature supports one feature reference. You can still parent one component to multiple features using Feature or FeatureRef and ComponentRef. This change is to simplify the more common case of one component parented to one feature.

Default File Id and Name from Source

Typical File element authoring has several attributes with similar values. A File’s Id, Name, and Source elements might all mention the same file name, for example. WiX v3 already has several defaults that simplify File element authoring, like defaulting the Name attribute value to that of the Id attribute.

The File element now takes the default for the Id attribute from the file name portion of the Source attribute. The Name attribute then gets its default value from Id, so authoring a File element can now be as simple as:

<File Source=”$(env.Bits)\foo\bar\baz.exe” />

The equivalent would be:

<File Id=”baz.exe” Name=”baz.exe” Source=”$(env.Bits)\foo\bar\baz.exe” />

Simple change, simple benefit

The code changes for these two features were trivial. But I think they represent the kind of schema changes you’re likely to see as we head to a WiX v3 stabilization, as Rob mentioned earlier this year. A simpler language makes it easier for designers to generate clean code and for those who prefer hand authoring to minimize unnecessary typing.

Posted in WiX at December 7th, 2007. 12 Comments.