見出し画像

「Visual Basic」v5/6や「Visual C++」v4/5/6をベースにしたアプリ/フリーソフトを使おうとしてできなかった時に対策したこと

題名の通りです。Visual BasicやVisual C++で動いている何かしらをありがたく使わせていただこうとしたら何らかのエラーが出た。ヘッダ写真をお借りしています。

結論→XTRM Runtime

エラーの文で調べると色々な解決方法があったが、最終的にはこちらで落ち着きました。

XTRM RuntimeというVisual BasiやVisual C++で使うためのランタイムがセットになったものを取り入れさせてもらったら無事に動くようになりました。

念の為に自分が起こした行動をメモしておきたい。

※解決した人へ

今すぐ必要になることはないかも知れませんが……せっかくなのでPCトラブルの他事例を以下に設置します。宣伝みたいでいやですが、別にぼくには1円も入りませんのでご安心いただけたら……

【ブラウザ】Waterfoxが便利
https://note.com/fuuke/n/n26fe1a582ee9 

【ハードウェア】2TBのHDDが認識されなかったらどうするか
https://note.com/fuuke/n/n4492aa2afe7a

【note】noteをダークモードできるのか
https://note.com/fuuke/n/n5ca7a8fe4292

【MP3・音】LAMEでインポートしたCD音源を高音質MP3化する
https://note.com/fuuke/n/n42c6394374f9

【ソフトウェア】「Visual Basic」や「Visual C++」ベースのアプリケーションが動かなかった時
(ここ)

ランタイムとは

そもそもランタイムとはなんでしょう?

ランタイムとは、開発したコンピュータプログラムを実行する時のこと。「実行時」と訳語を用いることも多い。対義語は「開発時」あるいは「コンパイル時」(compile-time/コンパイルが必要なプログラミング言語の場合)。

そこから言葉の意味が進化して、ぼくらが普段なにも気にせずにダブルクリックとかして動かしているもの大体を実行する際に見えない部分で必要な部品のこととされているようでした。「それ」がないと動かない。

なんでVisual BasiやVisual C++を既にインストールしてるのに動かへんねん💢動きを妨げることがあんねん💢ほな始めから入れとけや💢とは思わないで、せっかく作業効率を良くしてくれるプログラムを開発されている方々に感謝して、足りないものを補っていきたいところです。より良くしてくださろうとするあまりに本体開発当時にはなかった技術が取り入れられたりするのかも知れない。

エラー時の文で調べよう

基本的にはこれをするしかありません。エラー文で厄介な所は、そのままコピーして検索窓とかに打ち込めない点です。そのため

エラーウィンドウが表示されたらそれを消さない

という行為がまず必要になる。大体の場合、もう一度同じ行動を執れば同じことが起きるはずなので消しちゃったからって大慌てしなくて良いかも知れない。

Component COMCTL32.OCX or one of its dependencies not correctly registered a file is missing ot invaild

こちらは

の方が一生懸命お考えになられ、解決方法を探してくださったようです。

こちらをダウンロードすればうまく作動するようになりました。
VisualBasic6.0のランタイムをインストールします。https://www.vector.co.jp/soft/win95/util/se188840.html
万が一、VisualBasic6.0のインストール中にエラーが出る方は、
こちらを参照↓
Visual Basic 6.0 SP6 がダウンロード出来ない
https://warashibe76.com/pc-memo/?p=16

結果的にVB用のランタイムがより必要だったみたいだけど、自分には足りていなかった……とかが原因なんでしょうか。確かに結論部分で述べた行為に内包されてそうです。

ただぼくはこちらを利用しても……似たようなエラーが出てしまった。

エラー 2709 オフライン参加完了情報が見つかりませんでした。

この文ではこちら様を参照してレジストリを触ることに……

Windowsでソフトをインストールする時に「エラー 2709 オフライン参加完了情報が見つかりませんでした。」とエラーになる状況にたまに遭遇しました。どうもWindows7などでKB2918614を適用するした状態でVB6関連のソフトをインストールする際に発生する事があるようです。

レジストリエディタで[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Installer]というものを新たに造らなければならなかった。さらにDWORD値(32ビット)や[SecureRepairWhitelist]という層にはVBランタイムインストーラのプロパティを調べて、文字列なんかまで新たに置かないといけない。

その文字列というものがまた詳細欄の「改訂番号」という箇所に書かれているなんていうことは上記リンクを参照しなければ一生解るわけがない……

この時に登録する製品コードはmsi自体のプロパティを参照して下さい。また、登録するコードは{}を含む形で入力する必要があります。
※msiのプロパティで確認が出来ますが、この画像では改定番号と書いてある部分です
例:{59FEFE3F-8119-457C-A4EE-CF24202DD9D2}
※2016年7月23日 投稿内容に間違えがありましたので画像を差し替え致しました。

エラー 339 コンポーネント 'COMDLG32.OCX'、またはその依存関係のひとつが適切に登録されていません。

依存て言われても……そして上記見出しのひとつであるComponent COMCTL32.OCX or one of its dependencies not correctly registered a file is missing ot invaild
を日本語にしただけではないのだろうか。

お世話になったのはこちらですが、さらに別のテストファイルを配布してくださっている場所にも飛ばないといけない。

vb6関連のランタイムが不足しているようです。
こちらもvb6のランタイムをインストールして対応してみます。

こちらですが……まず自己展開ファイルを解凍して現れたセットアップファイルが全画面で登場してしまうので新しくファイルを造りたい場合ちょっと手間かも知れません。

そして、そちらのセットアップ先を独立させて造る or 元々あるProgram filesのVB6フォルダに同梱してしまう と2つ試してしまったのですが、どちらも意味がなかった。

そのため仕方なく全ファイルをコントロールパネルから進めるアンインストール欄で一度削除することにしました。当該欄に登場してくれたおかげで、最終的にXTRM Runtimeをそのままインストールできて逆に良かったのですが……ともあれ先人にありがとうというのみです。

この記事が気に入ったらサポートをしてみませんか?