Windows向けにVB6で,開発していただいているフリーソフトがあります。

そのアプリケーションの配布のためのパケージを担当しているのですが。

以前は,マイクロソフトのインストーラーで,*.msi というファイルを作成
して配布していました。しかし,このインストーラーが配布されなくなり,
代わりに,CreateInstall Free というソフトで配布パッケージを作成する
ことにしました。

Vistaや,7などではVB6のランタイムがあらかじめ入っており問題なく動作
するのですが,XPなどでVB開発されたソフトが以前にインストールされてい
ない環境では,comctl32.cox が存在しないか依存関係がおかしいといってソ
フトが起動しません。
しかし,他のVB6で開発されたアプリケーションが既にインストールされてい
る環境では,何の問題もなく動きます。createinstall側ではVBのランタイム
を入れるようにチェックは入っていますが,comctl32.ocxは入らないようです。

どうしたら素のXPにもインストールできるのか,createinstall Free 自体は使
いこなせていると思うのですがよくわからず困っております。何か情報をお持
ちの方はおられないでしょうか。

宜しくお願いします。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2011/09/03 12:37:53
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:degucho No.1

回答回数281ベストアンサー獲得回数75

ポイント50pt

comctl32.ocxを登録してやる必要があります。


ライセンス的に正しい手順としては


1.開発マシンに以下のパッチを適用(動作に問題なければこの手順はいらない)

http://www.microsoft.com/downloads/ja-jp/details.aspx?FamilyID=25437D98-51D0-41C1-BB14-64662F5F62FE


2.開発マシンのcomctl32.ocx(C:\windows\system32)を

インストール先マシンの同じ場所にコピーをインストール処理に追加


3.「C:\windows\system32\regsvr32 C:\windows\system32\comctl32.ocx」

の実行をインストール処理に追加


となるかと思います。

(CreateInstallは使ったことないのですが、任意のファイルを含めて

指定の場所に配置する、処理後にコマンド実行するなどの機能はあるでしょう)


面倒であったり、手順が許すのであれば下記のようなcomctl32.ocxが含まれている

ランタイムを別途インストールするのが手軽かと思います。

http://download.tsuru.syuriken.jp/system/vbrun60l/


なお、他のocxやActiveX DLLについても同様です。

comctl32.ocxは単体登録できた気がするのですが、

どのコンポーネントで足らないと怒られたら

必要ファイルを同様の手順で登録してください

http://homepage2.nifty.com/nonnon/Chinamini/20100001/20100717.html

id:jkawamata

ありがとうございます。ようやく意味がわかりかけています。

今から,早速開発マシンの環境で上記の手順で試してみます。

2011/08/31 21:53:24

その他の回答1件)

id:degucho No.1

回答回数281ベストアンサー獲得回数75ここでベストアンサー

ポイント50pt

comctl32.ocxを登録してやる必要があります。


ライセンス的に正しい手順としては


1.開発マシンに以下のパッチを適用(動作に問題なければこの手順はいらない)

http://www.microsoft.com/downloads/ja-jp/details.aspx?FamilyID=25437D98-51D0-41C1-BB14-64662F5F62FE


2.開発マシンのcomctl32.ocx(C:\windows\system32)を

インストール先マシンの同じ場所にコピーをインストール処理に追加


3.「C:\windows\system32\regsvr32 C:\windows\system32\comctl32.ocx」

の実行をインストール処理に追加


となるかと思います。

(CreateInstallは使ったことないのですが、任意のファイルを含めて

指定の場所に配置する、処理後にコマンド実行するなどの機能はあるでしょう)


面倒であったり、手順が許すのであれば下記のようなcomctl32.ocxが含まれている

ランタイムを別途インストールするのが手軽かと思います。

http://download.tsuru.syuriken.jp/system/vbrun60l/


なお、他のocxやActiveX DLLについても同様です。

comctl32.ocxは単体登録できた気がするのですが、

どのコンポーネントで足らないと怒られたら

必要ファイルを同様の手順で登録してください

http://homepage2.nifty.com/nonnon/Chinamini/20100001/20100717.html

id:jkawamata

ありがとうございます。ようやく意味がわかりかけています。

今から,早速開発マシンの環境で上記の手順で試してみます。

2011/08/31 21:53:24
id:Jupiter2100 No.2

回答回数444ベストアンサー獲得回数74

ポイント50pt

comctl32.coxは VB5 用のランタイムです。


comctl32.coxは再配布可能ですので、CreateInstall Freeの「ファイル」メニューで目的地フォルダをSYSTEM PATHにして追加してください。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません