VB6開発環境のインストールは簡単か

N: 0in">Windows10にVB開発環境をインストールするコツは、「データアクセス」をはずすことだそうです。
ネット上の情報をまとめると、つぎのようになります。


(1)管理者の権限でセットアップディスクを実行すること
(2)導入コンポーネント「データアクセス」のチェックをはずすこと
(3)VB6の累積的な更新プログラムを実行すること


この3つの条件さえ守れば、問題なく動作するのだそうです。


しかし、実際に実行してみると、他にも必要な更新プログラムがありますし、順番も大切です。
また、インストールに必要なプログラムのダウンロードサイトを見つけ出すことは、今では困難になりました。
私の場合、インストールにかなり苦労したので、その経過を残しておきたいと思います。


セットアップ奮闘記
1.復元ポイントの作成
  インストールの前に、必ず復元ポイントを作成しておきましょう。


2.セットアップディスクを「管理者として実行」します。


3.カスタムインストール
 「データアクセス」のチェックをはずすと、「インストールができません」と怒られますが、ここはかまわずチェックをはずします。


 ここで、もう1つ大事なことがあります。
Visual C++ など、今必要でないコンポーネントをできるだけ外しておくことです。
もしも、すべてのコンポーネントにチェックをつけると、セットアップディスクを次回に起動しても、すでにすべてインストール済みのメッセージが出て、再セットアップができなくなります。
これも、失敗しやすいポイントです。


 

4.Visual Studioのセットアップが終わると、次に Service Pack 6 へのバージョンアップが必要です。
「Visual Basic 6.0 Service Pack 6」のダウンロードは下記のサイトでできます。
https://www.microsoft.com/ja-JP/download/details.aspx?id=5721
解凍して、setupsp6.exe を実行します。


5.「累積的な更新プログラム Visual Basic 6.0 Service Pack 6」
ダウンロードサイトは下記のサイトです。
https://www.microsoft.com/ja-jp/download/details.aspx?id=7030
 VB60SP6-KB2708437-x86-JPN.msi を実行します。


 この更新プログラムは、累積的な更新プログラムとなっていますが、実際は Vb6Sp6 用の更新プログラムです。
これまでの全ての更新プログラムを網羅するという意味ではありませんので、注意が必要です。
setupsp6.exeの実行を省略すると、作業が順調に進んでいるように見えますが、実際はインストールに失敗していることになります。

 

6.すべてのセットアップが終わったら、VB6.EXEのプロパティを開いて、「WindowsXP(ServicePcak2)」の互換性にチェックを入れます。


7.動作テスト
それでは、VB6を動かしてみましょう。

簡単なプログラムを作成してみると、問題なく動作します。
ところが、開発すみのソースを読んでみると、comctl32.ocx、msflxgrd.ocxが登録されていないなどのエラーが出ます。


8.ランタイムの登録
 そこで、つぎのプログラムを作成して、comctl32.ocxを登録してみました。


Private Sub Image1_Click()
    Dim f1$, f2$, System$
    System = GetSysFolder(Me)
    f1 = App.Path & "\comctl32.ocx"
    f2 = System & "\comctl32.ocx"
    FileCopy f1, f2
    Shell "Regsvr32 /s comctl32.ocx"
End Sub


しかし、エラーは解決しませんでした。


9.再インストール
 セットアップディスク挿入して、コンポーネントを確認しようとしましたが、すでにインストール済みですのメッセージが出て、インストーラーが終了してしまいます。

この場合、復元ポイントでレジストリーを元に戻して、最初からセットアップをやり直すしかありません。


10.インストールをやり直したら、今度はエラーが少なくなりましたが、まだ少し残っています。
今回インストールした開発環境は、コンポーネントと参照設定の管理がシビアになっているようです。
以前の環境では、プロジェクトに未使用のコンポーネントや参照設定が残っていても、エラーを出しませんでしたが、今回はそうではないようです。
エラーが出たら、「参照設定」を開いて使われていない参照設定を1つ1つはずしていきます。


11. エラートラップの設定
  開発環境の「ツール」を開いて、「オプション」「全般」タブで、
  ・エラートラップ:エラー処理対象外のエラーで中断を指定。
  ・順次コンパイルのチェックを外します。
これで、エラーがでなくなりました。


12.(
追記)
 さらに、一部のランタイムが不足していました。

マイクロソフトの下記のサイトにVisual Basic 6.0 Service Pack 6:ランタイム再頒布可能パッケージがあります。
配布ファイルを解凍して、vbrun60sp6.exeを実行すると、すべてのソースでエラーがでなくなりました。

マイクロソフト

https://www.microsoft.com/ja-jp/download/details.aspx?id=24417&wa=wsignin1.0

 


VB6は時代遅れか
Windows10では、スマホもパソコンも共通のOSを使います。
マイクロソフトは、この共通部分をユニバーサルプラットフォームと呼んでいます。
共通のプラットフォームを使うことで、スマホでもパソコンでも1つのアプリで動くようになりました。
1つのアプリで、どのデバイスでも動作するということは、ユーザーにとって有難いことですし、アプリ開発者にもたいへん有利ですから、今後はWindows10搭載のスマホのシェアが増えるかもしれません。



ユニバーサルプラットフォームは、良いこと尽くめのように見えますが、目的が違うスマホとパソコンのプログラムを共通化すると、やはりある程度の犠牲が生じます。


たとえば、以前の日本製スマホはとても高機能でした。
パソコンもWindows7までは、高性能化を目標に開発されてきました。
ところが、Windows8でユニバーサルプラットフォームの考え方が採用されてから、パソコンが使いにくくなって、評判の悪いものになりました。


ソフト開発についても同じことが起こりました。
以前は多くの言語が優れた機能を競い合っていましたが、マイクロソフトはユニバーサルプラットフォームと同時に一部の言語のサポートを打ち切ってしまいました。

VB6を時代遅れの非力な言語だと思っている人がいますが、そんなことはありません。
人間に優しい優れたプログラミング言語で、効率よくプログラムを作ることができますし、APIを使えば、どんなソフトにも負けない高度なプログラムも作り上げることができます。
VB6をなんとかガラパゴス化させないようにしたいものです。