32 ビット .NET アプリから 64 ビット マシン上の SQL Server インスタンスのインストール ディレクトリを特定しようとしていましたが、コードがアクセスする通常のレジストリが仮想化されていたため、レジストリを正しく機能させようとしてしばらく捕まりました。またはWindows OSによるもの。
私は答えを持っていると思いますが、もっと良い方法があるかどうか疑問に思っていました。
32 ビット .NET アプリから 64 ビット マシン上の SQL Server インスタンスのインストール ディレクトリを特定しようとしていましたが、コードがアクセスする通常のレジストリが仮想化されていたため、レジストリを正しく機能させようとしてしばらく捕まりました。またはWindows OSによるもの。
私は答えを持っていると思いますが、もっと良い方法があるかどうか疑問に思っていました。
このトリックを実行する小さな 64 ビット プログラムを作成し、32 ビット アプリケーションから .exe を呼び出します。
ここで説明されているようにWMIを使用するという、より良い方法があるため、最初の回答の正確さを確認し終えませんでした: https://stackoverflow.com/a/5497319/832705
私の解決策は、64ビットアプリであり、通常の64ビットレジストリにアクセスでき、32ビットレジストリサンドボックスにスタックしていないかどうかにかかわらず、SQLServerのインストールディレクトリにレジストリが何を持っているかを尋ねることです。
これは、このフェローの回答を使用して行うことができます: https://stackoverflow.com/a/533592/832705
本当に素晴らしいです、親切にありがとう、イアンさん