「マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
現段階で延長フェーズのサポートも切れており、
プレミア・サポート等を使用しても、VB前提の開発上の問題は取り扱ってもらえない。
ただし、ランタイム・サポートはされているのでこの範囲のサポートを受けることは可能。
SOAP Toolkitなどのツールも存在するが、2001年以降更新されておらずサポートも切れているため
最新の環境(SOAPの新規格)上では問題が発生する可能性がある。
Microsoft SOAP Toolkit Version 2.0 FAQ
http://msdn.microsoft.com/en-us/library/ms995780.aspx
また、Microsoft SOAP Toolkit 3.0は現在も保守され続けているが、
フリーウェアであるため問題が発生した場合も、サポートされない。
All SOAP Toolkits have been replaced by the Microsoft .NET Framework.
SOAP Toolkit versions earlier than version 3.0 are no longer supported
代替案としてはWeb参照などはできないが、MSXMLを使用するのが良い。
MSXML2.XMLHTTP:
VB6やVBAでHTTP処理する際に使用できるコンポーネント。
AjaxのXMLHttpRequest?実装の元となったIEの実装
MSXMLはWSDLを読み込むWeb参照ができないので、素組での実装が必要になる。
また、MTOM(Streaming)などのクライアント機能を実装可能かの調査が必要になる。
端末側(マクロ実行環境)にMSINET.OCXを配置できず、
MSXML2.XMLHTTPを使用するといった事例もあるもよう。
Windows 8以降での使用方法。
MSXML2.DOMDocument60 のように明示的にバージョンを指定する。
IE9から(VBCOMの)ActiveXを呼び出す処理で問題が発生した事例がある。
VB6ラインタイムの問題、IE9のサンドボックス化、Webアクセス、また、
その際のサーバ証明書の確認などに起因すると思われる問題が多発した。
自己署名に対する警告や、失効確認時のプロキシ認証等の
ダイアログが表示されるため、以下に起因する問題と思われたが、
ここに記載されている「セキュリティ更新プログラム」を適用しても現象は改善しなかった。
以下の情報よりレジストリを直接更新することでKB2534409の現象が
回避できることは確認したが、サポートされない方法であるとのこと。
[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\New Windows]
に DetourDialogs? という文字列値を追加し、値を no とする。
上記は、.NET登場(2002)間近にリリースされた製品で、
まだ、Microsoft系開発ツールを用いたサーバサイド開発が
一般的では無かった時期の技術であり、開発に採用された実績が少なく、
技術者(スキルセットを満たす人材)を集め難い等の問題を持っている。
また、ミドル・ツール類のサポート問題もある。
UIコンポーネントなどのVB6向けの種々のActiveXコンポーネント製品が出荷されてきたが、
環境移行時は、これらが、各プラットフォームでサポートされるかの調査が重要になる。
VB6アプリケーションの環境移行では移行性評価(互換性テスト)が重要になる。
Windows Vista 、Windows Server 2008 および Windows 7
でも引き続き Visual Basic 6.0 を使用する予定がある開発者は、
それぞれ対象の Windows をインストールし、アプリケーションの受け入れテスト
をしてアプリケーションの互換性テストに着手することをお勧めする。
VB6アプリケーションの環境移行の注意点は、
環境移行ではあるものの、サポートされないVB開発環境を使用する
必要があるため場合によっては手詰まりになる可能性がある事である。
このため、見積もり前に準委任契約等で
移行性評価(互換性テスト)を実施することが推奨される。
テクノロジ・カットでの提案だけでは弱い。
.NETでの機能強化がユーザの利便性に繋がる所は
全般的に利用者のメリットに繋がると言えます。
開発側のメリットは
などです。
具体的には、
VB6保守の提案パスとしては、仮想化技術を使用し、
古い環境内に塩漬けにする方式も考えられる。
これにより環境移行にかかる諸費用を抑えることができる。
VC++でのCOM呼び出し(IDispatch )の書き方が解ると楽。
Office オートメーションのコードを移植する場合にも活用できる。
Windows8でもVB6ランタイムがサポートされるもよう。
やっぱり、Windows10でも動く模様。
Tags: :移行