- 締切済み
VC++6.0で作成したソフトが他のPCで起動しない
ダイアログ形式のアプリをVC++6.0で作成しました。 自分のPC上では起動できるのですが、他の人にプログラムを差し上げると起動できないと言われました。 PC環境は私と同様に、Windows XP + SP3です。 プログラム作成ではMFCのスタティックライブラリを使用しました。 他には、インテルのJPEGライブラリ(ijl15.dll)を使用しており、 インストール時にプログラム本体と同じフォルダにインストールしています。 他のPCでも起動可能にする方法についてご教示いただければ幸いです。
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- stingy
- ベストアンサー率37% (144/379)
補足ありがとうございます。が、 質問者様のお考えが全く理解できません。 iniファイルの内容は書き換えるよう、運用上の注意等はしていなかったのか? 同じデータファイルを読むんだろうに、どうして手順によって 読み込む時にエラーが発生、開く時にエラーが発生、となるのか? 自分ならファイル名を引数に読み込み関数用の関数を作るので 手順に関わらずまず開く時の処理を確認しますが。 また、ここまで見当がついているなら最初の質問文に とりあえず、相手から件のデータファイルをもらって自分のマシンにコピーし、 iniファイルに出鱈目なファイル名を記載しテストしてみてはどうでしょうか? その際、データファイルの属性も含め相手の環境に近い状態にしてください。 なお、「ファイル読み込み」ボタンがクリックできるなら起動はしているといえるでしょう。
- stingy
- ベストアンサー率37% (144/379)
[iniファイルに記録されているファイルが見つからないとのメッセージが表示]とありますが、 ・iniファイルを読み込めていない ・iniファイルに記録されているファイル(dataファイル)がない どちらでしょうか? iniファイルが読めない場合は別のメッセージを出してるとか、 メッセージにファイル名(dataファイルのフルパス)を表示していれば 見当が付くと思いますが。 [「ファイル読み込み」ボタンをクリックしてファイルを選択するとプログラムが終了する]については、 iniファイルを読み込めていないことの影響という可能性はないでしょうか? ご質問の内容だけでは#2さんと同じ回答になってしまいます。
- Hayashi_Trek
- ベストアンサー率44% (366/818)
デスクトップで実行するとエラーになるなら、 ・スペースを含んだファイル名(パス名)に対応していない。 ・全角文字を含んだファイル名(パス名)に対応していない。 ・INIファイル名用のバッファが足りない。 が考えられます。
補足
ご回答をいただきまして有難う御座います。 自分のPCでは、スペースと全角文字を含んだパス名でも動作していますが、配布先のPC環境でこのようなことが起こるということでしょうか?
- neKo_deux
- ベストアンサー率44% (5541/12319)
どういう風に起動できないのか、確認してください。 ありがちな間違いとしては、Debug用のexeファイルを渡しているとか。 Debug用のexeを実行するためには、 「mfc42.dll」 &「msvcrt.dll」 でななく、 「mfc42d.dll」&「msvcrtd.dll」 ^ ^ が必要になります。 その場合、後者は再配布出来ない(ハズ?)なので、Release環境でコンパイルして配布してみて下さい。
補足
起動できない状況についてはNo.1の補足に書き込みいたしましたのでよろしくお願い致します。 それから、配布したソフトはRelease版です。 また、プログラム作成ではMFCのスタティックライブラリを使用して、配布するプログラム中にマイクロソフトのMFCライブラリをスタティックにリンクしましたので、DLLによる問題は無いと思われるのですが、いかがでしょうか?
- asuncion
- ベストアンサー率33% (2127/6289)
> 起動できないと言われました。 どんなメッセージが出たか、確認されていますか?
補足
このプログラムはインストールしたフォルダにある.iniファイルに記録されているテキストファイルを自動的に読み込んでからダイアログが表示されます。 インストール時にデフォルトのフォルダにインストールした場合は起動してもメッセージが表示されないとのことです。 インストールしたフォルダをフォルダごとデスクトップにコピーして起動すると、.iniファイルに記録されているファイルが見つからないとのメッセージが表示されて、「OK」をクリックしてメッセージを閉じてから「ファイル読み込み」ボタンをクリックしてファイルを選択するとプログラムが終了するとのことです。 これらのことから、ファイルを読み込む時になんらかのエラーが発生して終了しているように思われます。 よろしくお願い致します。
補足
よろしくお願い致します。 ファイルが見つからないというメッセージが表示される時は、 iniファイルの1行目に記録されたファイル名を読んで、それを開こうとしています。 ところが、インストールしたフォルダを別のパスに移動したために読み込むファイルが見つからなくてこのメッセージが表示されたと思います。 「ファイル読み込み」でファイル選択するとプログラムが終了するについては、ファイルを読み込む時にエラーが発生して終了すると考えられます。 デフォルトのフォルダにインストールしたままで起動すると、iniファイルからデータファイル名を読み込んで、データファイルを開く時にエラーが発生して終了したと考えることが出来ると思います。