Installshiled 2008 Premier Edition で MSI パッケージを開発しました。プロジェクト タイプは Installscript MSI です。最近 2011 を購入し、プロジェクトを 2011 にアップグレードしました。
以前のバージョンでは、Microsoft SQL Express のレジストリ エントリを確認していましたが、そのパスは次のとおりです。
**HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL**
OS は 64 ビットですが、64 ビットの SQL Express のレジストリ パスは
**HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Microsoft SQL Server\Instance Names\SQL**
レジストリ関数RegDBKeyExists
は SQL レジストリの存在を確認するためのものですが、関数は-2147483646として負の数を返し、読み取りに失敗します。
REGDB_OPTIONS = REGDB_OPTIONS | REGDB_OPTION_WOW64_64KEY
64 ビット関連のレジストリ ハイブを読み取らないため、オプションを設定しても役に立ちません。