Vista 上の VB6 – OCX編

Vista上でもVB6のアプリは動きます。
MicrosoftのVBチームも、

Visual Basic チームは、Visual Basic 6.0 アプリケーションが Windows® Vista™ でも “そのまま” 動作する互換性を提供することを表明します。」
原文:The Visual Basic team is committed to “It Just Works” compatibility for Visual Basic 6.0 applications on Windows® Vista™.

とコミットしているので、動きます。
日本語:Windows® Vista™ における Visual Basic 6.0 のサポートについて
英語:
Support Statement for Visual Basic 6.0 on Windows® Vista™
ただ、イロイロとごたごたする部分はあります。
例えばOCXです。
上に挙げた日本語ページで「Windows Vista に同梱されるファイル」に載っていないOCX、英語ページでは「Tested, But Not Shipping in Vista」というリストもありますが、よくお世話になるコモンダイアログとかFlexGridとかが「同梱されるファイル」上に見当たりません。
で、それらのOCXを使用したVB6アプリは、素の状態では当然動かないわけです。
なので、インストーラーで突っ込んでやる必要があります。
ただし、サポートライフサイクルには注意が必要なようです。
※手動でregsvr32をたたいたら、レジストリへの書き込みが出来ないといって怒られました。どうやらVistaでセキュリティが厳しくなったせいでしょうか。

Vista 上の VB6 – OCX編” への4件のコメント

  1. >手動でregsvr32をたたいたら
    regsvr32 の実行は、昇格しないとダメですね。
    UACにより、アカウントが管理者であっても通常利用は制限ユーザーと同レベルになっていますので。
    Native なモジュールをゴリゴリ書いてる人にとって
    Vista の UAC は鬼門の一つです…
    インストーラ作成にいたっては…
    まともに動かないツールが山のように…orz

  2. >regsvr32 の実行は、昇格しないとダメですね。
    そこが最初の苦しい所になりそうですね。
    うっかりバッチファイルを叩いた日にはエラーの山でしょうし。
    慌てている時は「管理者として実行」を忘れそうですし。
    なんか、UACとは長い付き合いになりそうな…
    私のところは被害は軽微でしたが…
    別のプロジェクトでのVistaで動かない死屍累々が目に浮かびます…orz

  3. Vista Regsvr32で検索してきました。
    バッチファイルがうまく通らずにこまっています。

  4. > tatsugoro さん
    ありがちな間違いとして、
    ・レジストリ登録不要のDLLではないですか?
    ・バッチファイルを管理者権限で起動していますか?
    ・他の依存ファイルは大丈夫ですか?
    ・そもそも、DLLが壊れていませんか?
    がチェックポイントでしょうか。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Spam Protection by WP-SpamFree