• ベストアンサー
  • 困ってます

自作のソフトが起動しない

  • 質問No.3197490
  • 閲覧数398
  • ありがとう数4
  • 回答数4

お礼率 85% (6/7)

Visual Studio 6.0(VC++ 6.0)使っています。
業務用として使用している自作のソフトが起動しないので質問させて頂きました。
 
以前は容量の多いPCにVisual Studio 6.0をフルインストールして『自作ソフト.exe』を起動していました。
 
しかし今回は容量の少ないシリコンディスク(2GB)のFAタイプPCでこの『自作ソフト.exe』使用したいのですが、
Visual Studio 6.0をインストールするほど容量が確保できないため、とりあえずそのまま『自作ソフト.exe』を起動したところ、
アプリケーションエラーが発生しソフトが起動しませんでした。
エラー内容は
「エラーが発生したので『自作ソフト.exe』を終了します。
プログラムをもう一度開始する必要があります。」
という表示が出てきました。
ただし、Visual Studio 6.0をインストールした普通のPCでは、この『自作ソフト.exe』は問題なく起動します。
 
Visual Studio 6.0をインストールしなくても、この『自作ソフト.exe』を起動する方法はないでしょうか?
 
この『自作ソフト.exe』についてですが、私が入社する前からあったソフトで、ソフトの中身は理解しておらず、しかもこのソフトを作った人がすでに会社辞めてしまってるのでソフトの中身を改造するという事が困難な状況です。
 
私はこのソフトを起動した状態で使用する立場ですが、ソフトの作成レベルはVisual Studio 6.0を起動してもせいぜいビルド(リビルド)ぐらいしか出来ません

ちなみにOSはWindows2000 SP4です。
 
つたない文章ですが、どうかよろしくお願い致します。
 

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

  • 回答No.3
  • ベストアンサー

ベストアンサー率 39% (144/369)

http://www.vector.co.jp/soft/win95/util/se188840.html

VC6SP6のランタイムフルセット。
前に指定されたのはメインのランタイムだけなので他の関数に対応する
コンポーネントが入っていないと思う。
お礼コメント
nyanko-11

お礼率 85% (6/7)

next_xさん、回答ありがとうございます。
一応実行する前に確認しておきたいのですが、リンクされているところを開いたら「Visual Basic 6.0 SP6 ランタイムライブラリ」とありますが、
Visual C++ 6.0でも問題ないのでしょうか?

自作ソフトのプログラムを開くと立ち上げ時に「Visual C++ 6.0」と表示されるので…
投稿日時:2007/07/26 08:34

その他の回答 (全3件)

  • 回答No.4

ベストアンサー率 39% (144/369)

ごめん寝ぼけてました。ただ共通のコンポーネントがあるときがあって
動作したことがあるのは確かです。

DLLの依存関係をみるtoolがあります。
こいつで不足したランタイムライブラリが無いか確認してください。
http://www.altech-ads.com/product/10000783.htm
http://www.dependencywalker.com/
不足したdllが見つかったらそれのプロパティを確認してください。
もしデバッグ系のDLLなら処理速度などにも影響があるのでVCで
デバッグオプションを切ってコンパイルしなおしましょう。

ところで、mfc42.dllとかが結構古いですね。うちのSP4
mfc42.dll 6.2.4131.0
msvcp60.dll 6.2.3104.0
msvcirt.dll 7.0.2600.2180(updateか.netに含まれていたのだろう)
msvcrt.dll 7.0.2600.2180
.net系もmfc42.dllを使うので入れたら変わるかな?
windowsupdateでも更新されることがあるのでちゃんと当てたほうが良いですよ。
お礼コメント
nyanko-11

お礼率 85% (6/7)

next_xさん、再び回答ありがとうございます。
リンク先英語なんですね…(苦笑)
翻訳して理解出来たらやって見ようかと思います(苦笑)

とりあえず先程のランタイムを実行したら自作ソフト.exeが起動してくれました。
まだ全体的な動作確認が出来てないので楽観視できませんが、とりあえず一歩進んだので良かったです。
アドバイスいただきありがとうございます、また何か問題があれば質問させていただきますので、よろしくお願い致します。

※mfc42.dllとかが結構古いというのは、このPCがOSをいれた状態のままで、Windows UPdataなどを実施してないからでしょうが、このPCをネット接続するつもりがなかったので、Updataが出来ないんです…
投稿日時:2007/07/26 13:40
  • 回答No.2

ベストアンサー率 38% (1216/3175)

#1のお礼ありがとうございました。

何かのDLL等を使用していて、そのファイルへのアクセスが通るようになたために使えるようになったのですかね。。。
system32などWindowsで標準的に読取るフォルダへ該当ファイルを置くと問題なくなるなんてこともあるかもしれませんね。

自作ソフト.exeと自作ソフト2.exeのソースを見て確認しなければ何を使用しているのかがわからないのでこれ以上は難しいです。
includeなどで読取っているファイルを探すとかすると、解決するかもしれないですがね。(includeで指定したファイルをPATHが通っているところに置くなど)
お礼コメント
nyanko-11

お礼率 85% (6/7)

再び回答いただきありがとうございます。
ソフト関係に少し詳しい友人に聞いたところでは
自作ソフト.exeと自作ソフト2.exeのパス(フォルダ)位置が、pathに登録されているか?
アプリでOCX等が使われてると、アプリのみでは実行できない場合があるぞ。
それだと必要なOCXを、そのPCに登録する必要があるぞ。

とか言うのですが、私にはさっぱり意味がわからなかったです(苦笑)

とりあえずnext xさんのランタイムを試してみようと思います。
ありがとうございました。
投稿日時:2007/07/26 08:29
  • 回答No.1

ベストアンサー率 38% (1216/3175)

MFCランタイムを入れてみるとか。。。
http://www.vector.co.jp/soft/win95/util/se040499.html
お礼コメント
nyanko-11

お礼率 85% (6/7)

shippoさん、回答ありがとうございます。
早速DLして実行してみましたが、
コピー元のDLL : C:\Documents and Settings\Administrator\デスクトップ\mfc42\MFC42.DLL
のバージョンは 6.0.8665.0 です。
コピー先のDLL : C:\WINNT\system32\MFC42.DLL
のバージョンは 6.0.9586.0 です。
バージョンが新しくないため、コピーの必要はありません。

コピー元のDLL : C:\Documents and Settings\Administrator\デスクトップ\mfc42\MSVCRT.DLL
のバージョンは 6.0.8797.0 です。
コピー先のDLL : C:\WINNT\system32\MSVCRT.DLL
のバージョンは 6.10.9844.0 です。
バージョンが新しくないため、コピーの必要はありません。

と表示されました。
そのあとに『自作ソフト.exe』を起動してみましたが、やはり起動しませんでした。
 
ちなみに、色々この『自作ソフト.exe』ですが、パイプ処理(?)というのをしているようで、別にある『自作ソフト2.exe』というのが『自作ソフト.exe』を実行することで一緒に起動します。
しかも、今回のとは関係ないんですが、別の自作ソフトを実行すると正常に起動しました。
もしかすると、このパイプ処理というやつが何か関係するのでしょうか?
投稿日時:2007/07/25 15:42
関連するQ&A
ページ先頭へ