none
ATL登録、動きできる環境を教えて欲しいです。 RRS feed

  • 質問

  • 先日、VisualStudio2008で、ATLコントロール(MFCサポート付き)を作ってました。そのATLコントロールを別の開発環境がないパソコンでアプリに使いたいですので、Regsvr32で登録することをしましたが、「LoadLibrary(”CPC4.dll”)に失敗しました。-このアプリケーションの構成が正しくないため、アプリケーションを開始できませんでした。アプリケーションを再度インストールすることにより問題が解決する場合があります。」というエラーで登録出来ませんでした。  しょうがないので、VS2008をインストールしまして、原因を調べようのところで、ATLコントロールの登録が正常になりました。 システムになんか動く環境に必要なものが足りないみたいと思っていますが、具体的には分かりません。 どうすればいいかを教えて欲しいです。
    cyo
    • 編集済み AK46.5 2009年4月20日 3:28
    2009年4月20日 2:38

回答

  • MSVCR90.DLL は単純にコピーすれば使えるわけではありません。なので配布と書いています。

    インストーラもということなので、なんで?という部分は全部抜きにインストーラの作り方だけ書いておきますね。

    1.CPC4.dll(これが登録したいDLLですよね?)のソリューションを開く
    2.ファイルメニューの-追加-新しいプロジェクトから「その他のプロジェクトの種類-セットアップと配置」のセットアップウィザードを選ぶ
    3.適切なプロジェクト名を付けてOKを押す(ここまでは、通常のC++アプリ等を作るのと同じ)
    4.ウィザードが開始されるので2/5でWindowsアプリケーションを選択(ブラウザから利用する場合でもこれ)
    5.3/5 の含めるプロジェクト出力グループで「CPC4 のプライマリ出力」を選択。
    6.もし、Readmeのようなおまけを添付する場合は次の 4/5 で追加ファイルを選択。
    7.完了ボタンを押してウィザードを終了。
    8.CPC4(アクティブ)のプライマリ出力のプロパティ(ソリューションエクスプローラでコンテキストメニューを出せば表示可能)を開き、Register 項目がvsdrpCOM になっていることを確認する。
    9.ビルドして出来上がった msi を使ってインストールする。

    以上です。これで、インストーラができるので(10ステップにも満たない)、試してみてください。


    わんくま同盟,Microsoft MVP for Visual C++(Oct 2005-) http://blogs.wankuma.com/tocchann/
    • 回答としてマーク AK46.5 2009年4月20日 5:34
    2009年4月20日 5:00

すべての返信

  • 正しいメッセージがわからないので何とも言えない部分はありますが、おそらくは、MSVCR90.DLL などがないためだと思います。
    第三者に渡すのであれば、COM を利用しているようですので、インストーラを作るのが一番よいと思います。

    もし、インストーラは作りたくないということであれば、MSVCR90.DLL の配布を行ってください。
    OSによって実行するものが違いますが、vcredist_???.exe を実行すれば、使えるようになるはずです。

    ただし、インストーラを作る場合でもそうではない場合でもATLコントロールは、リリース版をビルドしてそれを使ってもらう必要があります。
    わんくま同盟,Microsoft MVP for Visual C++(Oct 2005-) http://blogs.wankuma.com/tocchann/
    2009年4月20日 3:26
  • ご回答有難うございます。

    エラーメッセージ内容: 「LoadLibrary(”CPC4.dll”)に失敗しました。-このアプリケーションの構成が正しくないため、アプリケーションを開始できませんでした。アプリケーションを再度インストールすることにより問題が解決する場合があります。」

    ATLプロジェクトのインストーラを作りたかったが、試しにインストーラを作ったことがありますが、作り方が分からなくて、うまく出来てませんでした。しょうがないから、Regsvr32でインストールすることにしました。もし出来れば、ATLコントロールのインストーラの作り方を教えてもらいたいです。参考資料などでもいいですので、お願いいたします。

    そして、さっきほどMSVCR90.dllをコピーしてましたが、ATL登録はまだできませんでした。 MSVCR90.dlをパソコンにコピーするだけだからと思います。MSVCR90.dlの登録もいるんですか?  そして、どうやって配布するのかを教えてもらいたいです。お願いします。

    cyo
    2009年4月20日 4:11
  • MSVCR90.DLL は単純にコピーすれば使えるわけではありません。なので配布と書いています。

    インストーラもということなので、なんで?という部分は全部抜きにインストーラの作り方だけ書いておきますね。

    1.CPC4.dll(これが登録したいDLLですよね?)のソリューションを開く
    2.ファイルメニューの-追加-新しいプロジェクトから「その他のプロジェクトの種類-セットアップと配置」のセットアップウィザードを選ぶ
    3.適切なプロジェクト名を付けてOKを押す(ここまでは、通常のC++アプリ等を作るのと同じ)
    4.ウィザードが開始されるので2/5でWindowsアプリケーションを選択(ブラウザから利用する場合でもこれ)
    5.3/5 の含めるプロジェクト出力グループで「CPC4 のプライマリ出力」を選択。
    6.もし、Readmeのようなおまけを添付する場合は次の 4/5 で追加ファイルを選択。
    7.完了ボタンを押してウィザードを終了。
    8.CPC4(アクティブ)のプライマリ出力のプロパティ(ソリューションエクスプローラでコンテキストメニューを出せば表示可能)を開き、Register 項目がvsdrpCOM になっていることを確認する。
    9.ビルドして出来上がった msi を使ってインストールする。

    以上です。これで、インストーラができるので(10ステップにも満たない)、試してみてください。


    わんくま同盟,Microsoft MVP for Visual C++(Oct 2005-) http://blogs.wankuma.com/tocchann/
    • 回答としてマーク AK46.5 2009年4月20日 5:34
    2009年4月20日 5:00
  • 大変お疲れ様でした。
    ご丁寧に答えしてくれて、有難うございます。
    教えてくれた方法でインストーラが出来ました。
    本当にうれしい、幸せです。
    有難う、また宜しくお願いいたします。

    cyo
    2009年4月20日 5:38