• ベストアンサー

【ActiveX】CABファイル作成時のINFファイルについて

ActiveXコントロールをCABファイルでINFファイルを定義しました。 そのINFファイルについて質問です。 http://www.ki.rim.or.jp/~kuro/ActiveX/CabAndSign/MakeCab.html 上記サイトを参考にさせて頂いたのですが、 その中の"atl.dll"は何の役割を持ったファイルなのか? また、必要なのか? をご教授頂けますか。 宜しくお願い致します。

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

  • ベストアンサー
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

VC++のATLライブラリ使用して開発したActiveXのMiniSizeモードやMiniDependencyモードで構築した場合に必要なDLLのようです また、開発したActiveXを使用する際にWinAPIのCreateWindowなど使えるようにするライブラリ関数も搭載しているようです ATL.DLLには Unicode版とANSI版が同名のファイルになっているようです Win95/98/meなど 9x系のシステムへの配布には ANSI版 WinNT/2000/XP/VISTAの配布にはUnicode版 を使用しないといけないようです

r-taka
質問者

お礼

詳細な御回答、有難うございます。 助かりました。

関連するQ&A

  • ActiveXコントロールのCABファイル作成

    こんにちわ。 VC++でAciveXコントロールを作成したのですが、CABファイルとINFファイルの作成のしかたが分かりません。 VBだと「ディストリビューションウィーザード」でCABとINFファイルを作成できるのですが、「ディストリビューションウィーザード」はVCでは使えないみたいで困っています。 初心者なので詳しくお願い致します。

  • 署名ツール (SignTool.exe)でのタイムスタンプに関して

    署名ツールのSignToolにてCABファイルに署名を行う際、 ネットで調べると"timestampserver"を設定しているようでした。 上記timestampserverにはベリサイン等のURLが記載されておりました。 [参考URL]http://www.ki.rim.or.jp/~kuro/ActiveX/CabAndSign/MakeSign.html 今回、私はベリサイン等の機関を介さずに自己証明書として、 署名を行うつもりです。 自己証明書の場合は、タイムスタンプ設定は不要なのでしょうか? ご教授宜しくお願い致します。

  • 作成したActiveXが未署名となってしまう。

    VC++で作成したActiveXをcabファイルにし、呼び出します。 そのcabファイルに以下の手順で「自己署名」を行いました。 (1)CABファイル作成 CABARC -s 6144 n test.CAB test.dll test.inf (2)ルート証明書(自己証明書)を作成 makecert -n CN=test -sv test.pvk -r test.cer makecert -n "CN=test,O=test,C=JP,E=test@test.co.jp" -sv test.pvk -r test.cer (3)デジタル署名用の証明書作成 makecert -n "CN=testSoft,O=test,C=JP,E=test@test.co.jp" -sv testSoft.pvk -ic test.cer -iv test.pvk testSoft.cer (4)SPCファイルの作成 Cert2SPC testSoft.cer test.cer testSoft.spc (5)pfxファイルへ変換 pvk2pfx.exe -pvk testSoft.pvk -spc testSoft.spc -pfx test.pfx -pi pass -po pass -f (6)CABファイルにデジタル署名 signtool.exe sign /f test.pfx /p pass /v test.CAB ※パスワードを何回か聞かれますが、ここでは全て"pass"とします。 上記、cabファイルを実行するとcabファイル作成環境では 発行元:testsoftと表示されますが、別環境だと 未署名となってしまいます。 手順(6)のcabファイルに署名さえすれば、未署名と出る事は 無いと思っているのですが違いますでしょうか? 何か分かりましたらご教授の程お願い致します。

  • CABファイルってなんですか?

     使わなくなった,あるアプリケーションを削除しようと思い,コントロールパネル内の「アプリケーションの追加と削除」を見てみたのですが,項目として表示されていませんでした。そこでファイル検索で本体のアプリの場所を見つけて削除したのですがそれとはほかに,RESTOREという(隠しファイル?)の中にARCHIVE・・CABファイルとしてたくさんの項目が表示されました。  これはいったいどういう役割をしているフォルダーなのですか?。  また,削除したソフトと関係のあるフォルダーだとしたら消してしまっても問題ないのでしょうか?。

  • ActiveXとそれに代わるもの

    お世話になっております。 ブラウザ上にActiveXを埋め込む事を考え、 VB+VCのDLL(VisualStudio6.0)でActiveX(OCX)を作成→CABファイルを作成→サーバーに置く ここまでは良かったのですが、Vistaにて表示出来ませんでした。 IEの設定でセキュリティーレベルを変える等を抜きにした場合、デジタル証明書が必要となるのでしょうか? またリッチクライアントでActiveXに代わるものはあるのでしょうか?機能としては画像の加工等でファイル(GIF画像)をローカルディスクに一時保存します。 お手数ですが、よろしくお願い致します。

  • VC++6.0で作成されたActiveXコントロール

    まだプログラミングを始めて日が浅いため、馬鹿な質問をしていたら申し訳ありません。 現在、ActiveXコントロールを使ったプログラムを作成しております。 メインの環境がVC++2008なのですが、このActiveXコントロールがVC++6.0で作られた物であるため、VC++2008で使用しようとするとエラーが出てしまいます。 またプログラム中で使っているライブラリの中でVC++6.0で動いてくれないものもあり、私としては慣れないVC++6.0より何とかして2008でこれを使いたいのですが・・・ 一応現在はVC++6.0でこのActiveXコントロールを動作させるプログラム(以下exeと略)を作り、このexeをVC++2008のプログラム内でCreateProcess関数で呼び出すと言う方法を取っています。 引数はコマンドライン引数、処理結果はファイル経由で受け渡しをしています。 このActiveXコントロールというのがあるカメラから画像を取得するものですので、どうして処理時間の長さが気になります。 そこでプロセスの起動と終了にかかる無駄な時間を減らすため、このexeをDLL化できないものかと考えています。 前置きが長くなりましたが、私が質問したいことは (1)「VC++6.0で作られたActiveXコントロール」を使用したDLLを作れるのか?作れるのならばそれはVC++2008で使えるのか? (2)DLL化以外に処理時間を短くする方法はないか?(例えばexeを立ち上げっぱなしにしたまま引数等をメインプログラムとやり取りできないか?) の2点です。 なおこのActiveXコントロールはソースがないため、VC++2008でビルドしなおすと言う手が使えません。 よろしくお願いします。

  • VS2008でActiveXの作成がしたい

    VS2008でActiveXの作成がしたい Visual Studio 2008で,ActiveXの作成がしたいと考えています.諸事情がありまして,.NET Framework/MFCは利用できません.歴史的にActiveX{,コントロール}が.NET Frameworkになっていったという背景があるにせよです.当方はネイティブC/C++が中心で,VSや.NET,ActiveXについてはほとんど知識がなく,ネットで調べている段階です.今週中にモックを必要としているのですが,(ActiveX関連の)書籍がことごとく絶版で少し途方に暮れています. 現在,ActiveXで,次の内容の作成を目指しています. 1 ActiveX DLLを作成 ※ActiveXコントロールはGUIを含み,EXE/DLLはGUIを含まないと理解しております(間違いがありましたら,ご指摘をお願いいたします) 2 Windows OS(XP,Vista,7)によって,処理を分ける 2.1 XPとVista/7で,異なるインストーラを一時領域にダウンロードし,実行する 2.2 それ以外のWindows OSの場合はダイアログを出して終了 2.3 Windows OS以外は考慮せず 「2」の処理は該当ページ読み込み時に実行されることが望ましく,ボタン押下時の処理としては考えておりません(ボタン押下時などのコントロールの処理方法について記したウェブページは非常に多いですね). MSDNのフォーラムを参考(http://social.msdn.microsoft.com/forums/ja-JP/vcgeneralja/thread/b51332af-bc24-471c-9b69-320c2845f182/)に,メソッドを追加しましたが,これの実行の仕方が分かりません._WinMainのようなmain関数はどこにあるのでしょうか. OnDraw/InPlaceActivateで描画時に実行という手法をとってみたのですが,初期描画時だけでなく,再描画時などにも実行されてしまうため,これは使えないのかなという印象です.また,これらは矩形の描画領域(?)が描かれてしまうため,これもなくしたいと考えています. 少し読み難い文章となってしまいましたが,解決への糸口などありましたら,教えて頂けますようお願いいたします.なお,参考になるURL/書籍なども歓迎いたします.

  • 自作したActiveXの配布&インストールがうまくできなくて困っています

    はじめましてVB超初心者です。 (そもそもVBの問題なのか、C++の問題なのかもわかりません) 小さい会社に勤めています。 現在、他のITベンダーが過去に作っていった業務アプリケーションの変更を担当させられているのですが、そのアプリにActiveXが含まれています。 結果、ActiveXも作り直しが必要ということまではわかっていて、ロジックとしてはこんな感じに作ればよいというところまでは、明確になっています。 ⇒ActiveX側の処理はIEの裏で単純なファイル操作(読み込と削除)をやっています。今回そこを少々修正します。 で、その修正対象のActiveXはATLベースでできており、CABファイルで配布されクライアントのIE上のJavaScriptから呼び出されてインストール/動作するようなブツに仕上がっています。 結果、似たようなものをVS2008の環境で作ってビルドしてdllを作って、その開発したクライアントでは正しく動く(IEからのファイル操作ができた)ことが確認できたのですが、最終的にCABファイルにして他の端末に配ってインストールさせて動かすと、うまくいきません。うまくインストールできないのです。 そこで強制的にdllをレジストリ登録してみようとしたら、「アプリケーションの構成が正しくない」と言われてしまいます。 ・開発したPC上だと、なんら問題なく動作/レジストリ登録ができます ・開発したPCと同環境PCでもNGなのでIE設定の問題ではないはずです おそらく何かが足りないのだと思っていて、修正前と修正後のソースをVS上で見えるソースですべて見比べてみたのですが、表面上での違いが全く見当たりません。 (素人考えですが、今気になっているのは、修正前のdllが129KB程度なのに対して、修正後のdllは50KBと小さくなってしまっています) 基本のキの字も判っていない素人で、誠に申し訳ないのですが、問題と思われる点ご教示いただけると非常に助かります。よろしくお願いいたします。

  • ActiveX DLL と ActiveXコントロールの違い

    VB6で開発をしています。 複数のEXEファイルを使用するシステムです。 各EXEファイルの共通のモジュールをライブラリ化しようと思っています。 これは [ActiveX DLL] 又は、[ActiveXコントロール] のどちらでも実現できると思うんですが、どちらで作成した方が良いのでしょうか? それぞれのメリット、デミリットを教えて下さい。

  • VB6でActiveXを作成

    こんにちは、AxtiveXを初めて作成することになり、 いろいろ調べた結果 工数や自分の能力(C++未経験)からVB6にて作成しようかと考えています。 .NET(C#)で作れれば一番嬉しいのですが、ActiveXのようなものができるだけで、いろいろと問題がありそうなので断念しました。 (レジストリの登録など?) ActiveXの配布はcabファイルなるもので、行うようですが VB6はC++ とは違ってランタイムがいると思います。ランタイムも一緒に配布することはできるのでしょうか?(自働インストールさせることができるのでしょうか?) 前提として、「何の準備もなくサイトにアクセスして、動作するもの(ActiveXのインストールダイアログなどは別として)」を作成しなければいけないため、 あらかじめ、ランタイムをインストールしてくださいということであれば、VB6での開発は断念せざるおえません。 ご回答、参考サイトなどありましたら、よろしくお願いします。

専門家に質問してみよう