6
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

WindowsServer2019 の IIS で Win32なClassicASPを動作させる

Last updated at Posted at 2019-11-28

タイトル通りだけど Windows Server 2019 の IIS で ClassicASP(Win32) を動作させる

導入から動作確認

まずは ASP の導入

このあたりは他の記事にも書いてあるでしょう。

classicasp01.jpg

サーバの役割で**「ASP」**を選択する

仮想ディレクトリ(アプリケーションディレクトリ)を作成する

このあたりも旧来の IIS5/6 と同じような概念があるから大丈夫でしょう。

classicasp02.jpg

とりあえず、アプリケーションプールとしては「クラシック」となるモードを選択しておく。

ハンドラーマッピングの確認

classicasp03.jpg

拡張子「.asp」に「ClassicASP」が対応している

classicasp04.jpg

ちなみに「%windir%」は環境変数で、Windowsのインストールディレクトリのこと。

大抵は「C:\Windows」だな。

サンプルASPで動作確認

シンプルな「ハローワールド」

classicasp05.jpg

うん、動作した

classicasp06.jpg

いよいよ 32Bit 化

アプリケーションプールの設定変更

classicasp07.jpg

「クラシックモード」のアプリケーションプールを新規作成して、「32ビットアプリケーションの有効化」を**「True」**にして、「ASPClassic」として保存して、これを ClassicASP のアプリケーションプールとして対応させる

classicasp08.jpg

ハンドラーの変更

classicasp09.jpg

実は「ASP.dll」は二つあります。(64Bit と 32Bit)。← 私は、ハマりましたよ

64Bit版のClassicASPがあるなんて想像できませんでしたよ。orz

SysWOW64 (64Bit Windows 上の Win32 な System32 のフォルダ)が 32Bit-ClassicASP ですよ。

classicasp10.jpg

という事で、ハンドラーマッピングを 32bit の ASP.dll に変更。

以上で終了

一応、VisualBASIC6.0で作った AcitiveX-DLL(当然 Win32 な COM コンポーネント)も、VisualBASIC6.0 ランタイム込みで Setup.exe を作って、それを使ってインストールしてやれば、以上の手順で動作した。(個人的経験で公式ではないよ)

蛇足1

classicasp11.jpg

ActiveX.DLL を登録する「regsvr32.exe」も 64Bit と 32Bit の二つがあるので、VB6 で作った ActiveX.dll を登録する際には**「SysWOW64」**の「regsvr32.exe」を使う事

蛇足2

classicasp12.jpg

ClassicASPとは直接関係ないけど「ActiveScript」という兄弟関係な WSH の「cscript.exe」「wscript.exe」も 32Bit と 64Bit の二つがあるよ。
WSH 内部で 32Bit な ActiveX-DLL を呼び出すなら、SysWOW64の「cscript.exe」「wscript.exe」を呼び出す必要がある。

蛇足3

Win64上の Win32 に関しては、レジストリも「HKCU\Software」とかが、軒並み「HKCU\Software\Wow6432Node\」にリダイレクトされていたりするので、注意です。

私の COM/ActiveX-DLL には、レジストリを扱うモノが多いのですが、.regファイルで、レジストリに登録する際にも、32Bit な regedit.exeを使う必要があったりしますよ。
(まぁ、手動で「Wow6432Node」へ移動させてもいいのですけど...)

Win64上でのWin32なネタ

64bit版のWindowsで32bitアプリケーションからsystem32ディレクトリのファイルを開けない
%windir%\Sysnative\shell32.dll というような SysNative という仮想ディレクトリがあるらしい。

以上

6
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?