• ベストアンサー

EXEファイルを実行できません。

VB6でプログラムをつくりました(OS:WINDOWS98)が、EXEファイルを他のPC(OS:WINDOWS2000/WINDOWS95等)で実行させるのですが、うまくうごきません。API関数を使用しているのでこのためかと思いますが、どのように対処したらよいかわかりません。 "SLEEP" "RegCloseKey/RegOpenKeyEx" "RegQueryValueExstr" "Keybd_event" を使用しています。 他のPCにはソフトの干渉からVBをインストールすることはできません。 DLLをシステムに入れることなら問題ないのですが、どなたか教えていただけませんか?

  • 9766
  • お礼率52% (601/1143)

質問者が選んだベストアンサー

  • ベストアンサー
  • ysk6406
  • ベストアンサー率40% (237/589)
回答No.2

他のPCには、VB6 の環境が全く入っていないということですよね。 そうであれば、EXE ファイルだけを単体で持っていっても、動きません。ランタイムライブラリが必要です。 ランタイムライブラリは、パッケージになったものがネットからでもDLできると思いますが、それよりも、No.1 の方がおっしゃるように、セットアップパッケージを作成した方がベターです。 セットアップパッケージは、VB6 の「ディストリビューション ウィザード」で簡単に作成できます。 このプログラムを立ち上げて、質問に答えていくだけで、配布用のパッケージを作ることができます。 完成したパッケージには、そのプログラムを動かすのに必要なランタイムライブラリがすべて含まれていますので、全く何もない環境に持っていっても、正しくインストールすることができます。 これを実際にやってみて、わからないことがあれば、補足して下さい。

9766
質問者

お礼

わかりやすくどうもありがとうございました。

その他の回答 (3)

  • TAGOSAKU7
  • ベストアンサー率65% (276/422)
回答No.4

Win98で動いてWinNT/Win2000で動かない場合は「APIのせい?」っていう疑問が発生しますが、Win95でも動かないとなると、APIの理由という考え以前に「VBのDLLが入っていないため」と理由を考えるべきです。 VBで作成したEXEにはフォームなども含まれてませんか?フォームを使用したならば、VBのDLLが必要となります。 下記のアドバイス通り、EXEを単にコピーして実行するのではなく、セットアップを作成して、EXEに付随するDLL郡をインストールする必要があります。 APIの使用で注意しなければならないのは、レジストリエントリ名の長さの最大長さが、95系であれば255文字までであることぐらいなのですが、98で動いているのであれば問題なさそうです。 各APIは95系/NT系のどちらでも使用可能なAPIですので、API関数というわけではないと思うのですが。。。

9766
質問者

お礼

わかりました。 セットアップをつくってみます。 どうもありがとうございました。

  • honiyon
  • ベストアンサー率37% (331/872)
回答No.3

こんにちは、honiyonです。  具体的に、「うまくうごかない」とはどのような状態でしょうか?  その症状により、原因は複数考えられます。  「起動出来ない」のであれば、VB製ソフトに必要なDLLがインストールされていない可能性があり、それをてっとり早く解決するには zerosixさんの方法がよいと思います。  もし、起動はするが不具合が生じる、というのであればそのプログラムにバグがある可能性も考えられます。 Win98で正常動作しても、OSを変えると今まで発見できなかったバグに遭遇する、ということはよくあるものです。  参考になれば幸いです(..

9766
質問者

お礼

ありがとうございました。

  • zerosix
  • ベストアンサー率31% (47/149)
回答No.1

>他のPCにはソフトの干渉からVBをインストールすることはできません。 開発環境をインストールすることはできないということでしょうか? セットアップ用のパッケージを作成して、そのパッケージから インストールすればいいと思います。

9766
質問者

お礼

どうもありがとうございます。 素人なので理解に苦しいです。 すみません。

関連するQ&A

  • exeファイルで実行できない

    VB6.0のexeファイルでのアプリ稼動ができません。プロジェクトファイルを開いて実行すれば稼動するのですが、生成したexeファイルを実行した場合は稼動しません。 いったいどういう原因なのでしょうか?リリースモードでコンパイル云々という話でしょうか? ただ他にもVBのアプリが存在するのですが、そちらはexeファイルの実行だけで問題なく稼動します。 OS Windows XP(SP1) 開発環境 VB6.0 (SP5) .NET Framework 1.0? 原因が分かる方、推測できる方いらっしゃったら、教えていただけないでしょうか?宜しくお願いします。

  • 作ったEXEファイルを他PCで実行できません

    VB.NET2008でEXCEL2007のファイルを作成するEXEを作りました。開発環境OSはXPです。コンパイル後にできるReleaseフォルダを他PC(OSはWindows2003サーバー、EXCEL2007インストール済み)にコピーして実行したのですが、何事もなく終わってしまいます。このEXEを実行すると最初にメッセージボックスを表示し、テキストファイルにログを書き込むようにプログラムしていますが、サーバー機ではメッセージボックスは表示されず、ログファイルも作成されません。同じ開発機で作成した別のEXEは正常に実行してExcelファイルも作成されます。 よろしくお願いします。

  • EXE実行時

    VB.netで、ビルドしEXEを作成しました。 このEXEを他PCからTCP経由で実行すると、 「Just-In-Time デバッグ」が登場し、EXEが 実行されません。 他PCから実行する際、何か設定が必要なのでしょうか? 宜しくお願い致します。

  • 実行可能のexeファイルはどこにできますか

    Netbeansを使って簡単なプログラムを作りました。 このプログラムをコピーして他のPCでも動かしてみたいのですが 実行ファイルはどれをコピーすればいいのかわかりません。 VisualstudioでVBのプログラムを作るとアプリケーションのフォルダの中のbinフォルダの下にexeファイルができるのですが それに当たるものはどれなのでしょう。 ネットビーンズから作ったフォルダを見てみると build,nbproject,src,testというフォルダがあって srcの下にFirstSample.javaというファイルがあるのですが クリックしてもメモ帳で作ったソースが表示されるだけです。 分からないので教えていただけると幸いです。

    • ベストアンサー
    • Java
  • VBにてexeを実行させる方法

    環境OS:2000 開発ツール:VB,ACCESS,TDBGrid を用いてDBシステムを作成したのですが ・VB や その他のツールをインストールした端末にて  exe を実行できるのですが ・ツールを全くインストールしていない端末では一部  しか動作しません 開発時、[プロジェクト]-[参照設定]or[コンポーネント] の設定は変更いたしました 予想では dll,ocx ファイルが無いのが原因かなと 思っています この場合,どのようなファイルをどこに入れると、 ツールのインストールしていない端末でも動作するのでしょうか? 教えて下さい

  • EXE間でデータを受け渡し時のkarnell32エラー

    VB6.0を使って、OSはMe、98でプログラミングをしています。API関数(OpenProcess,GetProcess,CloseHandle)を使って処理をしているのですが、実行していると頻繁に「~.exeによりkarnell32.dllに不正な処理が発生しました。問題が解決しなければコンピュータを再起動してください」というようなメッセージが出てしまいます。リソースが足りない時に出ているようでもあるのですが、原因が良くわかりません。どなたか同じような症状がでて「治したぞ!!」という方がいたらよろしくお願いします。

  • 実行ファイル

    Visual Studio 2005 (VB) で簡単なプログラムを作りました。 他のPC(VBがインストールされていない) で利用できるように ビルド→「発行」で「Setup exe.」を作成し他のPC(VBがインストールされていない)でクリックするのですが 「必要なファイルのダウンロード中にエラーが発生しました。・・・」詳細「次のリソースがダウンロード中にエラーが発生しました。h..p://go.microsoft.com/frink/?LinkId・・・」となります。 他のPC(VBがインストールされていない。ネットに接続されていません) で利用できるようにする 方法を教えてください。よろしく

  • メニューEXEよりdllを呼び出す方法

    Vb.Netで、メニューEXEより、プログラムdllを呼び出す場合なのですが、VB6.0ですと、CreateObjectを使用して呼び出すことが可能だと思いますが、.NETにて同じ事を行おうと考えた場合、どのように作ればよいのでしょうか? 私が調べた感じでは、メニューEXEの参照設定にプログラムdllを追加させる方法です。 上記方法ですと、プログラムdllが増えるたびにEXEに項目を追加しないとまずく、非効率だと思うのですが…

  • VB6.0 exeファイルを作成すると動かなくなってしまいます。。。

    VB6.0で、RS232CのRTS、CTSを使用して、ONOFFスイッチを作成しました。 ONでデータ送信するプログラムを作成したのですが、VB開発環境上で 実行すると正常に作動するのですが、EXEファイルを作成して実行すると、232CのONOFFスイッチのところがうまく動かなくなってしまいます。 他のところはEXEファイルでも正常に動きます。 使用PCは同じPC上です。 何か解消法はありますでしょうか。 アドバイスをよろしくお願いいたします。

  • EXEが作成できません

    こんにちわ。 windows2000pro を使用しています。 VBは6.0です。 VBでEXEを作成しようとすると、office2000のdisc2をいれろといわれます。 何故かなと思いつつも disc2をいれてみたのですがやはりうまくいきません。 VBをインストールした時に、“imm.dllがwindowsのイメージに合いません”というようなメッセージが出たのですが何か関係があるのでしょうか?  再インストールしたのですがだめでした。  すいませんが宜しくお願い致します。

専門家に質問してみよう