• ベストアンサー

インストーラーの仕組み

zwiの回答

  • ベストアンサー
  • zwi
  • ベストアンサー率56% (730/1282)
回答No.4

>なので、exeにファイルをまとめてしまいたいわけです。 圧縮ツールを使わずに自前でやるという理解でよいですか? ならば、exeファイルの構造を理解してください。 http://codezine.jp/article/detail/403?p=1 http://f4.aaa.livedoor.jp/~madprog/doc/pe-01.html http://www.interq.or.jp/chubu/r6/reasm/PE_FORMAT/intro.html ここまでくるとリンカや機械語のデータアクセスの仕組みあたりも多少知識を必要とします。 で、バイナリデータのファイルとして必要なデータ構造で書き出してやる必要があります。とうぜん解凍するツールプログラムの内容も含む必要があります。これには色々手法がありますが簡単には語れません。 参考になりそうなのは、たまたま見つけたんですがOar32.dllですかね。 ActiveBasicだしソースコード付きです。 http://hira.hopto.org/ab.htm まぁ、このDLLを使うほうが簡単ですけどね。 もうひとつの手はActiveBasicのソースコードとしてインストールファイルのデータを持つ方法です。インストールする全てのファイルをDATA文などに変換してしまうわけです。 当然圧縮を考えないといけませんし、データ化とインストーラでツールが2つも必要になるのとインストーラは毎回コンパイルが必要となります。 この方法の方が簡単ですが毎回手間が掛かりますのでスマートではありません。

if-so-at
質問者

お礼

ご回答ありがとうございます。 ふむふむ・・・ 勉強になります。 確かに、これは難しそうです。 インストーラーは、将来の目標と言うことで一時保留にします。 せっかく紹介していただいたので、 http://www.yaoyorozu-kobo.com/download/DSetup26/help.htm のほうも参考にさせていただきますね。 ありがとうございました

関連するQ&A

  • 自作でインストーラー

    現在、上司に市販ソフトのインストーラを 「自分のプログラムで作れ!」 といわれて困っています。>< なにを困っているかというと、 インストーラー自体の根本の仕組みが具体的にわからないのです。 ファイルをコピーして、レジストリに情報を書き込むというのはわかるのですが、 具体的にレジストリのどの場所に何を書き込めばいいのか、わかりません。 わかる方、よろしくお願いします。

  • 『Windows インストーラー にて

    『Windows インストーラー サービスにアクセスできませんでした。』とエラメッセージがでました。そこで、【http://support.microsoft.com/kb/315346/ja】にある【1: Windows インストーラーを登録する】を終え【方法 2: Windows インストーラーを再インストールする】の4~6 「ren msi.dll msi.old」「ren msiexec.exe msiexec.old」「ren msihnd.dll msihnd.old」を入力すると『重複するファイル名が存在するか、ファイルが見つかりませんでした。』とメッセージが出てきましたので【ファイル名を指定して実行】にて上記3つを入力したところ『"ren"見つかりません。』とメッセージが出てきました。 以前、なにを血迷ったのか上記3つのファイルを消去したような気がします。また、システム復元を試みましたが、上記前の復元ポイントが見当たりませんでした。やはり一度初期設定をしなくてはならないのでしょうか?PCには疎い為、どなたか詳しくご伝授の程お願いします。OSはWindowsXP/HomeEdition2002/SP3です。

  • PSPの自作ゲームとかをつくりたいなと思って仕組みを知るため、他の人の

    PSPの自作ゲームとかをつくりたいなと思って仕組みを知るため、他の人の自作ゲームのEBOOT.PBPを展開してみたのですが、その中に拡張子が.SFOと.PSPのものがありました。ググッた結果.SFOはPSPのゲームのセーブデータのファイルだとか・・・ 中身を知ろうと思ったのですが、調べても両方ともフリーの解凍ツールが見つかりません。 もし、知っているなら教えていただきたいです。

  • Windowsインストーラ不具合

    Windowsインストーラ不具合 まず、OSはWindows XP Pro [32bit] SP3 です。現時点においてWindowsアップデートは全て完了しています。 PC自体は自作(組立)機です。 タイトルの内容ですが、事の発端を辿ると、とあるPCゲームソフト(BFBC2です)を購入し、 インストールを試みると、"VC8が正しくインストールされてないためにインストールを続行できません" というエラーが生じまして、どうやらVC8(VisualC++2005のことらしい)に不具合があるという事らしいです。 それでMicrosoftからVC8再配布パッケージ(無印x86と、SP1 x86)をDLし、インストールを試みるも、ほんの一瞬だけインストール画面?が出ただけで その後何の変化もないので、正しくインストールされたかさえ分かりません。 もしかしたら2005でなくとも、2008または最新版の2010でも入ってたらいいのではと勝手に思い、その両者もインストールを試しました。 VC2008では、インストール後半で"Windowsインストーラにアクセスできなかったため~"というエラーで完了できませんでした。 VC2010においては、"以下のコンポーネントがインストールされませんでした"と表示され、原因等は表記されていませんでした。 いろいろと調べて、まずは"プログラムの追加と削除"から現存する「Microsoft VisualC++2005 Redistributable」(なぜか同名のものが2個表示されています)を削除しようにも 同じく「Windowsインストーラサービスにアクセスできませんでした」と言われ削除ができません。 更に調べると、コントロールパネル→管理ツール→サービスから「Windowsインストーラを有効に~」との指摘がなされてましたが、 しかしながらこのサービス内に、"Windowsインストーラ"なるものは表示されていません。 ファイル名を指定して実行より、msconfigと入力し出したシステム構成ユーティリティ-サービス内にも同じくありません。 よくよく考えると、ここ最近、拡張子「msi」のファイルをインストールすることができませんでした。(エラーすら出ずに、インストーラが起動しない又は続行しない等) exeタイプのファイルは一部を除きインストール可能です。 同様のエラーで調べると、どうやら"Windowsインストーラが破損"という可能性に辿りつきました。 ネット上に似たような症状での質問も幾つかあり、そこに書いてあった方法なども試してみました。 しかし、どれを試しても改善はされません。 参考にして試してみた対処法サイトを掲載します。 http://support.microsoft.com/kb/315346/ja http://support.microsoft.com/kb/319624/ja http://www.tohdamikio.com/2009/04/windows-3d82.html http://kkkon.hp.infoseek.co.jp/tips/VC/Win32VC8_RuntimeError.shtml ちなみに、Windowsインストーラ最新版(?)のver4.5は、問題も発生せずにインストール完了できました。 (3.1をインストールしようとすると、当然ながら最新版が入っているために~と出てインストール不可) しかし、変わらずmsiファイルや、VisualC++などのインストールはできません。 他にはレジストリクリーナーを使用し、エラー削除&最適化も試しました。 ウイルス対策ソフトには、ESET NOD32というのを使用していますが、一時的に終了して各インストールを試してあります。 ここまで来ると、最終的にはOSのクリーンインストールしか残っていないでしょうか? 膨大な時間がかかるために、それしか選択肢がないのであればとりあえずは諦めるつもりでいます。 インストールソフトウェアを無にせずに済むOS上書きインストールだけで済むならば構いませんが・・・ 長くなりましたが、OSのクリーンインストール以外でも可能性のある復旧方法等があれば 是非ともご教示ください。 関係はないと思いますが、PCのハード構成なども必要であればお答え致します。

  • Windowsインストーラのエラー

    以前このような質問をさせていただきました。 http://okwave.jp/qa3702877.html Dell Dimension 4500C Windows XP Home Edition を使っています。 現在の状況を順を追って説明させていただきます。 1.マイミュージックを英語表記にしようとレジストリをいじった。 (直接レジストリをいじったのはここだけなのですが…) 2.その後、ユーザーAにログインしたら初期化されてしまった。 3.システムの復元で数日前に戻す操作を行った。 4.systemファイルが壊れた。 5.起動ディスクを作ってsystemファイルを修復。 6.MSofficeやiTunesが立ち上がらない。 「この操作は現在インストールされている製品にのみ有効です。」というエラーが出ます。 7. iTunesをダウンロードしてインストールしようとするとwindowsインストーラの窓が開いて 「windows インストーラーサービスにアクセスできませんでした。セーフモードでwindowsを実行している場合またはwindowsインストーラーが正しくインストールされていないばあいに発生する可能性があります。サポート担当者に問い合わせてください」 というエラーが出ます。 http://support.microsoft.com/kb/315346/ja や http://oshiete1.goo.ne.jp/kotaeru.php3?q=1722108 を試してもだめでした。 一つ目のサイトの方法2の4でren msi.dll msi.old などを入力するとファイルが存在しませんと出てしまいます。 立ち上がるソフト:ブラウザ系,音・映像プレイヤー,フリーソフト系など 立ち上がらないソフト:MS-office,Adobe Reader, iTunes, Nortonなど Norton Securityを立ち上げようとすると「パラメータが間違っています」と出てしまいます。 どうやったらこの状況を打破できるでしょうか。 ご教授よろしくお願いします。

  • どうやって圧縮するんですか?

    デジタルビデオでとった写真をパソコンに入れておいたんです。(ファイルの種類はJPEGイメージです) ひとつは200から500KBあって、たくさんあるので20MBぐらいになってしますんです。 だから圧縮して小さくしたいんですけど、どうやるんですか? 圧縮のことはまったくしらないので、詳しく教えてください。 それと圧縮したら20MBはどのくらいになりますか? それとこのファイルはシステムリソースが関係ありますか?

  • 3Dゲーム中に、頻繁に起きるようになりました

    3年前から同じゲームをしていますが、ここ一ヶ月の間に、ゲーム中に画面が一瞬ザ~ザ~?みたいな、うまく表現できませんが、ゲーム中の画面じゃない画面になります。時間にして2~4秒なんですが、気になってゲームを終了してみると、デスクトップのアイコンや言語バー、壁紙、文字などが全部大きくなってます。 ゲーム内でのチャットの文字の大きさや、モンスターなどの大きさは変わらないのですが、HPなど見ても、文字が大きくなってます。 パソコンについては、詳しくないので復元を使ってますが、毎回、復元で回避してても、3日ぐらいすると、ゲーム中にまた同じ症状が出ます。デスクトップのアイコンなども、また大きくなってます。 メモリーは、128MBと256MBの計384MBです。が、3年間このメモリーで普通に同じゲームをしています。 メモリーが少ないのは、十分、わかってますが。今回のゲーム中に起きる症状はメモリーと関係があるのでしょうか? 症状について、うまく説明できなくてすみません。 よろしくお願いします。

  • 物理メモリーの空き容量について

    win98を使っています。メモリーは128MBです。インターネット一時ファイルから ファイルを探そうとスクロールしていくと最初のうち(上の方にあるファイル)はコピー ができるのですが下のほうにあるファイルはコピーもできないですし、全てのファイルを 開く事が出来なくなります。画面にはメモリーが足りません、いくつかのアプリケーションを終わらせてくださいとでますが、常駐しているのはウィルスソフトのVIRUS SCANだけで他のアプリケーションは何も使っていません。今これを書いている段階でシステム情報 をみると物理メモリの合計が130100KB、物理メモリの空き容量は0となっています。 システムリソースは60%使用可能となっています。最近よくI.Eのウィンドウを動かすと後をひくようになるときがあります。このまま使っていていいのでしょうか? 普通はどれくらい物理メモリーは空いているものなんでしょうか?お願いします

  • ディスククリーンアップの削除の相談です。

    Windows7で「ディスククリーンアップ」を試みようと今回も考えました。 その中に ◎チェックマークが付いているもの(開くと) 1、ダウンロードされたプログラムファイル「0バイト」 2、インターネット一時ファイル「554KB」 3、縮小表示「8.01MB」 この3つです。 これは、そのままOKかと思うのですが・・。 (1は0バイトなので影響しないと思いますが) ◎チェックマークが無いもの 4、オフラインwebページ「3.63MB」 5、ゲームの統計情報ファイル「18.9KB」 6、ゴミ箱「0バイト」=問題なしと考えています。 7、ログファイルの設定「73.3KB」 8、システムエラーのメモリーダンプファイル「443MB」 9、一時ファイル「1.17MB」 10、縮小表示「8.01MB」 11、ユーザーによってアーカイブされたエラー報告ファイル「9.04MB」 12、しすてむによってアーカイブされたエラー報告ファイル「608KB」 -------- 上記のようになっています。 以前、これもOKかな?・・と思い削除してしまったら「文字の出方」が変わってしまい、 サポートセンターに聞いて、それは削除しないほうが良いもの・・と教えて頂きましたので・・。 ちょっと怖いし、よくわからないのでお聞き致します。 上記の 「4~12(チェックマークが付いていないもの)」 この中で「チェックマーク」をつけて削除しても特に問題ないもの? これが分かりません。 どれが大丈夫かを是非、お教え頂ければと思います。 どうぞよろしくお願い申し上げます。

  • 添付ファイルを分割できるメールソフト

    仕事で支店とデータのやりとりをするのに、メールでやりとりしているのですが、ファイルサイズが大きい時に困っています。 「宅ふぁいる便」を使ったこともあるのですが、急ぎの時に限ってサーバーが混み合って送れなかったり・・・。 フリーの圧縮ソフトをつかって分割したこともありますが、30MBぐらいのファイルだと5MB単位に分割で6回の送信、1MB単位だと30回も送らなければならないんです。 メールソフトは今、Al-mailを使っていて、このソフトは添付ファイルを自動的に50Kb毎に分割してくれます。 受け取る方は、たいていのメールソフトで有れば、自動的に1つに結合してくれるので便利ですが分割単位が50kbだけなので、30MBのファイルだと約60通のメールを受け取ることになり、ちょっといらつくそうです。 Outlookは任意のサイズで分割できるのですが、過去ログを検索するとOutlook以外で受け取ると自動で結合できないようです。 あと、過去にOutlookを使って使いづらい印象もあります。 長くなりましたが、添付ファイルを任意のサイズで分割できるソフトがあったら教えていただきたいのですが。 そのメールソフトの特徴やこんな所が使いやすいなんてこともわかれば、ありがたいです。 よろしくお願いいたします。