VB6で作成したアプリをディストリビューションウィザードでインストーラを作成してそれをWinXPでインストーラを起動させたのですが、途中で以下のエラーが出てしまいました。
Visual Basic6.0 Setup Toolkit:Setup1.exe - コンポーネントが見つかりません
MSDART32.DLLが見つからなかったため、このアプリケーションを開始できませんでした。アプリケーションをインストールし直すとこの問題は解決される場合があります。
WIN98SE,WIN2000ではインストールできるのにWINXPではなぜうまくいかないか分かりません。どなたかご教授して頂けないでしょうか?
宜しくお願いします。
MDAC2.5SP3までは msdart32.dll
MDAC 2.6以降は msdart.dll
という名前です。
http://support.microsoft.com/default.aspx?scid=/servicedesks/fileversion/dllinfo.asp
WinXPにはmsdart.dll があり、msdart32.dllはありません。
MDAC2.6(VS6.0SP5等に含まれるが別途インストールしないと入らない)
を当てた状態でセットアップを作成するのが本筋のように思えますが、
msdart.dllをコピーしてmsdart32.dllという名前で
system32フォルダに置いておけば動くかもという情報もあります。
daiさん回答有難うございました。
続けて質問して申し訳ありませんが、相手のマシンがWin98、WINME,W2K,WINXPなどで定かではなく、また、MSDCのバージョンも分からない場合には、やっぱり各環境を整えてインストーラを作らなければならないのでしょうか?
たびたびすみませんが宜しくお願いします。
前回提示した方法でうまくいきましたか?
もし、それでOKしたら、以下を。
そうでないなら、以降は的外れですので捨ててください。
そのアプリがどんな動作環境を前提として、
どのようなコンポーネントを必要とするのか
また、現在どのようなコンポーネントを配布しているのか
によるかも知れませんが、
開発環境にMDAC2.6以上を適用し、MDAC2.6以上をいっしょに配布することで、
解決を図れるかと思われます。
ただし、WinXP(デフォルトでMDAC2.7)以外の各OSでの
動作確認はとる必要があります。
それが不可であれば、
WinXPとそれ以外のOSでインストーラを分ける必要が
あるかもしれませんし、
MDAC2.6や2.7をセットアップした状態で、
すべてのOSでの動作保証が確保できれば、
そのバージョンのMDACをセットアップファイルに含めて配布することで、
すべてのOSに対するインストーラとすることができるかもしれません。
daiさん再び有難うございました。
MDAC2.6をインストールしたらうまくいきました。
テストのことなどを考えると別々にインストーラを作ることにしました。
どうもご迷惑かけました。
ツイート | ![]() |