- ベストアンサー
EXEファイルを実行できません。
VB6でプログラムをつくりました(OS:WINDOWS98)が、EXEファイルを他のPC(OS:WINDOWS2000/WINDOWS95等)で実行させるのですが、うまくうごきません。API関数を使用しているのでこのためかと思いますが、どのように対処したらよいかわかりません。 "SLEEP" "RegCloseKey/RegOpenKeyEx" "RegQueryValueExstr" "Keybd_event" を使用しています。 他のPCにはソフトの干渉からVBをインストールすることはできません。 DLLをシステムに入れることなら問題ないのですが、どなたか教えていただけませんか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
他のPCには、VB6 の環境が全く入っていないということですよね。 そうであれば、EXE ファイルだけを単体で持っていっても、動きません。ランタイムライブラリが必要です。 ランタイムライブラリは、パッケージになったものがネットからでもDLできると思いますが、それよりも、No.1 の方がおっしゃるように、セットアップパッケージを作成した方がベターです。 セットアップパッケージは、VB6 の「ディストリビューション ウィザード」で簡単に作成できます。 このプログラムを立ち上げて、質問に答えていくだけで、配布用のパッケージを作ることができます。 完成したパッケージには、そのプログラムを動かすのに必要なランタイムライブラリがすべて含まれていますので、全く何もない環境に持っていっても、正しくインストールすることができます。 これを実際にやってみて、わからないことがあれば、補足して下さい。
その他の回答 (3)
- TAGOSAKU7
- ベストアンサー率65% (276/422)
Win98で動いてWinNT/Win2000で動かない場合は「APIのせい?」っていう疑問が発生しますが、Win95でも動かないとなると、APIの理由という考え以前に「VBのDLLが入っていないため」と理由を考えるべきです。 VBで作成したEXEにはフォームなども含まれてませんか?フォームを使用したならば、VBのDLLが必要となります。 下記のアドバイス通り、EXEを単にコピーして実行するのではなく、セットアップを作成して、EXEに付随するDLL郡をインストールする必要があります。 APIの使用で注意しなければならないのは、レジストリエントリ名の長さの最大長さが、95系であれば255文字までであることぐらいなのですが、98で動いているのであれば問題なさそうです。 各APIは95系/NT系のどちらでも使用可能なAPIですので、API関数というわけではないと思うのですが。。。
お礼
わかりました。 セットアップをつくってみます。 どうもありがとうございました。
- honiyon
- ベストアンサー率37% (331/872)
こんにちは、honiyonです。 具体的に、「うまくうごかない」とはどのような状態でしょうか? その症状により、原因は複数考えられます。 「起動出来ない」のであれば、VB製ソフトに必要なDLLがインストールされていない可能性があり、それをてっとり早く解決するには zerosixさんの方法がよいと思います。 もし、起動はするが不具合が生じる、というのであればそのプログラムにバグがある可能性も考えられます。 Win98で正常動作しても、OSを変えると今まで発見できなかったバグに遭遇する、ということはよくあるものです。 参考になれば幸いです(..
お礼
ありがとうございました。
- zerosix
- ベストアンサー率31% (47/149)
>他のPCにはソフトの干渉からVBをインストールすることはできません。 開発環境をインストールすることはできないということでしょうか? セットアップ用のパッケージを作成して、そのパッケージから インストールすればいいと思います。
お礼
どうもありがとうございます。 素人なので理解に苦しいです。 すみません。
お礼
わかりやすくどうもありがとうございました。