none
インストーラーのつくり方の初歩の初歩 RRS feed

  • 質問

  • 人から、「プログラムのインストーラーを作っておいて」と気軽に頼まれたのですが、そもそもどういう作業が必要なのかわかりません。どこにそういう解説があるのでしょうか?

    プログラムは、visual studio 2008 MFCダイアログベース(VC++)で作ったプログラムです。デバッグビルドをしたときに作られるexeではなく、インストーラーを作れと言われています。(リリースビルドはなぜか失敗するので、今回のプログラムではデバッグビルドしか使っていません)

    2012年3月14日 13:07

回答

  • Visual Studio のセットアッププロジェクトを使う、InstallShield などのインストーラー作成のための製品を使うというようなアプローチがあります。
    インストーラーの作り方、仕組みを1から10まで解説したページは日本語圏にはないかもしれません。
    (奥が深く、わかりづらい)

    そもそも、リリースビルドが失敗する時点でインストーラーを作る以前の問題があるようにお見受けします。
    デバッグビルドは(ほぼ)他の人に配れません、技術的にではなくライセンス的に。
    なので、リリースビルドがきちんとビルドでき、テストも問題なく行える状態をまず目指すべきです。

    # 適合する事例を探すのは手間だったので、一つの例 だけ。


    質問スレッドで解決した場合は、解決の参考になった投稿に対して「回答としてマーク」のボタンを押すことで、同じ問題に遭遇した別のユーザが役立つ投稿を見つけやすくなります。

    • 回答としてマーク AnalogTerebi 2012年3月14日 14:47
    2012年3月14日 14:09
    モデレータ

すべての返信

  • Visual Studio のセットアッププロジェクトを使う、InstallShield などのインストーラー作成のための製品を使うというようなアプローチがあります。
    インストーラーの作り方、仕組みを1から10まで解説したページは日本語圏にはないかもしれません。
    (奥が深く、わかりづらい)

    そもそも、リリースビルドが失敗する時点でインストーラーを作る以前の問題があるようにお見受けします。
    デバッグビルドは(ほぼ)他の人に配れません、技術的にではなくライセンス的に。
    なので、リリースビルドがきちんとビルドでき、テストも問題なく行える状態をまず目指すべきです。

    # 適合する事例を探すのは手間だったので、一つの例 だけ。


    質問スレッドで解決した場合は、解決の参考になった投稿に対して「回答としてマーク」のボタンを押すことで、同じ問題に遭遇した別のユーザが役立つ投稿を見つけやすくなります。

    • 回答としてマーク AnalogTerebi 2012年3月14日 14:47
    2012年3月14日 14:09
    モデレータ
  • Azuleanさん、ありがとうございます。

    そもそも、リリースビルドが失敗する時点でインストーラーを作る以前の問題があるようにお見受けします。

    おっしゃる通りだと思います。そういう意味でも、インストーラどうのこうのと頼まれて困っています。

    デバッグビルドは(ほぼ)他の人に配れません、技術的にではなくライセンス的に。

    ごく近しい数人に配る程度でも、ダメなんですか?(もちろん、販売目的ではありません)

    リリースビルドがきちんとビルドでき、テストも問題なく行える状態をまず目指すべきです。

    使っているライブラリが出すエラーがあってそれを供給元に問い合わせたりしたのですが回答が得られず、正直言ってどうにもならないのです。

    2012年3月14日 14:47
  • ごく近しい数人に配る程度でも、ダメなんですか?(もちろん、販売目的ではありません)

    使用許諾契約書を読んで、正しい解釈をしてください。
    特定のケースが OK/NG といったことは、明確な判断基準を Microsoft が示していない限り、第三者には判断不可能です。あなたの責任で判断するのは勝手ですが、それが契約に反するかどうかは、私を含め、第三者が関与することではありません。
    契約に関する解釈について確認したいのであれば、Microsoft に問い合わせてください。
    (フォーラムは問い合わせになりません)

    使っているライブラリが出すエラーがあってそれを供給元に問い合わせたりしたのですが回答が得られず、正直言ってどうにもならないのです。

    それはあなた方の事情に過ぎないので、回答がこないのであれば日程を見直してくださいとしかいえません。

    前述のようにライセンスに抵触する可能性がある状態では、リリースできませんよね。
    (デバッグ版ランタイムに依存する形では有償・無償を問わず、再頒布不可能である。理由は使用許諾契約でデバッグ版ランタイムは再頒布可能と指定されていないから。デバッグビルドの再頒布はこれに抵触する可能性が非常に高い。また、MSDN でも「アプリケーションのデバッグバージョンは再配布できません」と記述がある。)


    質問スレッドで解決した場合は、解決の参考になった投稿に対して「回答としてマーク」のボタンを押すことで、同じ問題に遭遇した別のユーザが役立つ投稿を見つけやすくなります。

    2012年3月14日 15:31
    モデレータ
  • ライセンス上の理由があるなら、それを理由に断りやすいのでそうします。人には配らず、自分の作業用に限定します。自分での作業なら、デバッグビルドで十分ですので。(というか、exeを使わず、開発環境を立ち上げた状態からの実行でも良いくらいです。それ以前に、「なんだかわからないけどリリースビルドが通らないもの」を人に配るのは私も良い心持がしないです)

    2012年3月15日 14:58