サイトを64ビットOSに展開しようとしています。 IIS6に展開しています。このサイトは32ビットサーバーで開発されました。サイトは正しく展開されましたが、COMコンポーネントにアクセスしようとして失敗しています。
COMコンポーネントが64ビットOSの64ビットバージョンであるため、エラーが発生していると思います。また、IIS6は64ビットサーバーで32ビットモードで実行されています。
これを確認したいのですが、IIS6が32ビットモードと64ビットモードのどちらであるかを確認するための確実な方法が見つからないようです。
IIS6が64ビットモードか32ビットモードかを確認するための最良の方法を誰かが知っていますか?
編集:私はIIS6を使用しています
iISのバージョンは?手動で確認するには、プロパティまたは詳細プロパティでアプリケーションプールをクリックします。
プログラムで確認する必要がある場合は、WMIを使用して確認できます。
/ LM/W3SVC名前空間
IIsWebServiceクラス
Enable32BitAppOnWin64プロパティ
Goto IIS manager-> Application pools->目的のアプリプールを選択し、-> Advanced Settingsをクリックします。
そこに32ビットアプリを有効にするという設定があります。それが本当なら、それはワーカープロセスが32ビットで実行されることを強いられることを意味します。設定がfalseの場合、アプリプールは64ビットモードで実行されています。
また、タスクマネージャーを開いてw3wp.exeを確認することもできます。 w3wp * 32.exeと表示されている場合は、32ビットです。
詳細 ここ
.NETコード(V4より前)では、IntPtr
インスタンスのサイズを確認できます。
V4でチェックEnvironment.Is64BitProcess
およびEnvironment.Is64BitOperatingSystem
プロパティ。
IIS6の場合、次のコマンドを実行できます。
C:\ Inetpub\AdminScripts> cscript adsutil.vbs GET W3SVC/AppPools/Enable32BitAppOnWin64