IIS ISAPI 32bit/64bit でハマった

新しいWindowsはほとんど64bitだから32bit時代のISAPI向けDLLをIISで動かそうというときはアプリケーションプールの詳細設定で32bit対応をtrueにしないといけないよ!
という話。

Windows Server 2003の緊急リプレースに呼ばれ、当然OSだけじゃなくて乗っているソフトウェアも移行せねばならず、とっくに各種ソフトのサポートも切れており、しかもカスタムされたソフトウェアなのでメンテナンス向けマニュアル類が貧弱な環境。とりあえず元サーバーのファイル構成から見よう見まねで組み上がり…ました!

が、IISの部分だけどうしても動かない。
dllをISAPIでハンドリングさせてやれば良いはずなのだが…
最初は403エラー、権限の設定で実行が入っていないためだとわかったが、実行に入れてやると500エラー。しかもdll本来のエラーメッセージではないのでIISからISAPIでハンドリングする部分がおかしいようだ。ここでハマり。

アプリケーションプールを.NET 2.0で作成、その後IIS管理ツールの右側にある「詳細設定」から「32 ビットアプリケーションの有効化」をtrueに…
あっさり動いた。こんな項目があること自体が頭から抜けてたわ…

ということで、業務系システムはメンテナンスできるところを確保しながら延命するか、延命できないなら次のシステムに乗り換えるか考えないといけません。元の開発会社だって当時のメンバーがもういないので無理ですってパターンもありますからね。
大手企業だったらそのへん大丈夫でしょうけど、中小企業はどうしたってカスタマイズから頼むとなると中小ベンダや個人事業主に頼らざるを得ない。

伝説の「小川マシンエレクトロ」さんじゃないですが、いざというときの選択肢として、ソフトウェア会社以外の、横断的知識を持った、ハッカー的な人材、能力者がほしいですね…
いや、ウチに頼んでくれてもいいんですけども。

L字USBケーブルは慎重に選ぼうね

私、現在、モバイルPCはSurface3からHP Elite x2 1012 G2に乗り換えまして、
それでも相変わらずHHKB BTと組み合わせて使っています。


HHKB BTは単三乾電池2本で動きますが、別途micro USBケーブルで給電もできます。
腰を落ち着けて作業するときにはスリープにならない便利さがあるので給電します。
が、手持ちのmicro USBケーブルだと出っ張って邪魔。

そこで、端子がL字に曲がっているケーブルを導入。micro側が両面挿し可能なので右でも左でも取り回せる。
で、色が赤いのがいいな!ということで、USB-Aの側もL字のものを選んでみました。

なかなかいい感じです!が!

ヘッドホン端子と干渉する…しまったー

というわけで、再度USB-A側がストレートのものを購入。
色が青かったからパスしたんだよなー…でも仕方ない。

さらに言うと、実は上のケーブルを買う前に、USB-A側が逆L字のものを買ってしまい、USB type-C(ACアダプタ)側と干渉して全く使えなかったという…w

はい、きちんと収まりました。
色はあんまり気にならないですね。


最後の青いやつ。USB-A側がストレート。


最初の赤いやつ。USB-A側がL字。


今回写真を撮ってないやつ。USB-A側がL字(上のとは逆)。