High Security Template適用後のWindows Installerの不具合について

マイクロソフト社が提供する「Windows Server 2003 Security Guide」に含まれるセキュリティテンプレート(「High Security - Member Server Baseline.inf」など)を適用すると、Windows Installerによるインストールが正常に動作しなくなることがあります。たとえば、あるインストーラファイルのアイコンをダブルクリックすると下図のようなダイアログボックスが表示され、インストールを続行できなくなることがあります。

Windows Installer

この直接の原因は、インストーラファイルのショートファイル名が作られていないことによるものです。Windowsは通常1つのファイルに対してロングファイル名と、MS-DOS互換の8.3形式のショートファイル名 (DOSファイル名)を持っていますが、このショートファイル名を作成しないようにすることもできます。ショートファイル名を作成しないようにすることでパフォーマンスは若干向上しますが、プログラムとの互換性を損なうことがあります。セキュリティテンプレートの中にはこの8.3形式のファイル名を生成しないように設定してしまうものがあります。Windows Installerが正常に起動しないのもそのためですが、本来ならWindows Installerが8.3形式のファイル名がなくても動作すべきものだと思われるので、この問題は将来解消されるかも知れません。

この問題を解決するにはレジストリエディタで
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\FileSystem\NtfsDisable8dot3NameCreation
の値を「0」に戻してからシステムを再起動します。ショートファイル名が作られていなかったファイルに関してはこの設定をしたからといってショートファイル名が自動的に作成されるわけではありません。すでにインストーラファイルをハードディスク上にコピーしていた場合は、再度コピーし直すことでショートファイル名が作成されます。なお、この問題はNTFS形式でボリュームがフォーマットされている場合にのみ当てはまります。

ちなみにFileMaker Server 8を上記の問題がある状態でインストールすると、インストールは一見正常に終わったように見えますがなぜかFileMaker Server 8が正常に起動しません。FileMaker Server 8 Helperサービスを起動しようとすると「エラー 1003: この関数を完了できません。」というダイアログボックスが表示されます(下図)。この場合、上記の修正を行った後FileMaker Server 8を再インストールする必要があります。

Error 1003: Cannot complete the function.

さらに、最近わかったことですが上記セキュリティテンプレートの適用によりDistributed Transaction Coordinator (MSDTC)サービスが無効に設定されていると、Windows Server 2003のサービスパックのインストールがエラー0x8007F0F4で失敗するようです。

補遺

上記の内容はWindows Server 2003 Security Guideの初版に基づくものであった。Windows Server 2003 Security Guideのバージョン2.1ではDisable Auto Generation of 8.3 File Names (NtfsDisable8dot3NameCreation)のレジストリ値はSpecialized Security-Limited Functionalityのセキュリティテンプレートでのみ変更されるように変わっており、そのため上記の現象はSpecialized Security-Limited Functionalitのテンプレートを使用したときのみに限定されるようになった。

資料室へ戻る