Open棟梁Project - マイクロソフト系技術情報 Wiki
現段階で延長フェーズのサポートも切れており、
プレミア・サポート等を使用しても、VB前提の開発上の問題は取り扱ってもらえない。
ただし、ランタイム・サポートはされているのでこの範囲のサポートを受けることは可能。
開発環境の更新がVB6 SP6のstableな状態で無くなっており、
インターネット上に多くの情報を確認できるということを考えると、
(VBAなどの現時点でも開発がサポートされるコードと言語仕様が同じであることも大きい)
今後のセルフサポート可能と考えるが、新技術や移行対応、また、
COM+などの一般的ではない範囲の保守については一定の問題があると考える。
SOAP Toolkitなどのツールも存在するが、
2001年以降更新されておらずサポートも切れているため
Microsoft SOAP Toolkit 2.0 SP2 ダウンロード
http://www.microsoft.com/japan/msdn/vstudio/downloads/soaptoolkit/
SOAP Toolkit バージョン 2.0 および 3.0 は、Windows Server 2003 のサポート
http://support.microsoft.com/kb/811215/ja
最新の環境(SOAPの新規格)上では問題が発生する可能性がある。
Microsoft SOAP toolkit 2.0(SP2)の
serverHTTPrequestオプションについて
http://social.msdn.microsoft.com/Forums/ja-JP/vsgeneralja/thread/824cbee3-0a0b-460f-ad07-d63d67fa5f4d
Microsoft SOAP Toolkit Version 2.0 FAQ
http://msdn.microsoft.com/en-us/library/ms995780.aspx
また、Microsoft SOAP Toolkit 3.0は現在も保守され続けているが、
フリーウェアであるため問題が発生した場合も、サポートされない。
Microsoft SOAP Toolkit Software Informer version 3.0 information
http://microsoft-soap-toolkit.software.informer.com/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を使用するのが良い。
How to Send SOAP call using MSXML (replace STK)
' - Http Client Protocol Issues - Site Home - MSDN Blogs
http://blogs.msdn.com/b/jpsanders/archive/2007/06/14/how-to-send-soap-call-using-msxml-replace-stk.aspx
MSXMLはWSDLを読み込むWeb参照ができないので、素組での実装が必要になる。
また、MTOM(Streaming)などのクライアント機能を実装可能かの調査が必要になる。
IE9から(VBCOMの)ActiveXを呼び出す処理で問題が発生した事例がある。
VB6ラインタイムの問題、IE9のサンドボックス化、Webアクセス、また、
その際のサーバ証明書の確認などに起因すると思われる問題が多発した。
自己署名に対する警告や、失効確認時のプロキシ認証等の
ダイアログが表示されるため、以下に起因する問題と思われたが、
インターネット ・ エクスプ ローラー ・ 9 VB6 ActiveX コントロールによって
起動されるモーダル ダイアログ ボックスを閉じると、web ページが応答を停止します。
http://support.microsoft.com/kb/2534409/ja
ここに記載されている「セキュリティ更新プログラム」を適用しても現象は改善しなかった。
以下の情報よりレジストリを直接更新することでKB2534409の現象が
回避できることは確認したが、サポートされない方法であるとのこと。
Windows 7(x64) - Microsoft Answers
http://answers.microsoft.com/ja-jp/ie/forum/ie9-windows_7/windows-7x64/92af4d53-5051-4ad0-a098-bff05cbd53c7[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保守の提案パスとしては、仮想化技術を使用し、
古い環境内に塩漬けにする方式も考えられる。
これにより環境移行にかかる諸費用を抑えることができる。
OS含め仮想化しても、古いOSを動かせるかどうかの問題もでます。
VC++でのCOM呼び出し(IDispatch )の書き方が解ると楽。
Office オートメーションのコードを移植する場合にも活用できる。
Windows8でもVB6ランタイムがサポートされるもよう。