none
NETFrameworkがインストールされてない場合は自動インストールする方法 RRS feed

  • 質問

  • NETFrameworkがインストールされてない場合は自動インストールする方法を
    [.NET Visual Studio Installerを使ったインストーラの作成]    http://computer.shipweb.jp/soft/dotnettips_wininst.htm
    .でみたのですが、いまひとつ理解できないでいるのですがPCが1台しかないためインストールの実際を確認できない状況です。
    そこには、「起動条件のプロパティ」を

    InstallUrl: Setup.exe
    Message: このソフトを実行するために.NETFrameworkをインストールしますか?
    と、設定すればよいと書かれておりそのとおりに設定したのですが、その前に書かれている説明文、
    Releaseモードでビルドした際に.NET Frameworkのファイル[dotnetfx.exeなど]がインストーラーと共に生成されます。
    できた[setup.exe]を最初に開けば.NET Frameworkのインストール+ソフトのインストールが行えますが、最初にソフトのインストーラー(拡張子.msi)を開いてしまうとBootstrapperを使ってもダウンロードページに飛ばされてしまいます。
    そこで、ダウンロードページをURLでなくて、直接[setup.exe]と、ファイル名を指定することで、ダウンロードページの代わりに同じフォルダにある.NET Frameworkのインストールをはじめられます。
    このことがよく理解できなくPC1台の私の環境では試すこともできません。
    そこで質問ですが、

    1 プロパティを上のように設定すると、上記のことは気にすることはないのでしょうか。
    2 ウィザードをじっこうしているときに、.NETFrameworkを「含めるファイルの選択」の場面で追加する必要はありませんか?

    以上、お尋ねします。また、別の簡便な方法がありましたら、これについてもお教え願います。
    zen73
    • 編集済み zen73 2009年8月19日 19:50
    2009年8月19日 19:36

回答

  • ご覧のサイトは Visual Studio 2003 を使って .NET Framework 1.1 をインストーラーに含めるためのものですね。
    検索キーワードに「Visual Studio 2005」または「Visual Studio 2008」や
    「Framework 3.5」を含めるとお探しの情報が見つけやすいかもしれません。

    例えば、
    DOBON.NET トップページ(http://dobon.net/index.html)内にある
    DOBON.NET トップ>プログラミング>セットアップ(http://dobon.net/vb/dotnet/deployment/index.html
    はとても参考になるとおもいます。

    また、開発環境を示していただければ
    同様な開発環境をお持ちの方から
    良い設定方法を教えていただけるかもしれません。
    • 回答としてマーク zen73 2009年8月21日 13:59
    2009年8月21日 10:31
  • 自動インストールが動作したとのことで、おめでとうございます。
    ア デフォルトで<必須コンポーネント>でWindows インストーラ 3.1にチェックされているのですが、これは必要なのでしょうか。
    基本的には必要です。
    Windows インストーラーは、.msi ファイルを展開・配置するプログラムです。
    作成した Setup.exe を実行すると、その中で Windows インストーラーが実行されます。 

    Setup.exe を実行したとき、 Windows インストーラーがインストールされていなければエラーになります。
     しかし、Windows インストーラーを自動インストールするようになっていれば エラーにならないというわけです。
    イ <Setupのプロパティ>で
    パッケージファイル: セットアップファイルに圧縮
    圧縮:          スピードの最適化
    がデフォルトで選択されているのですが、このままでよいのでしょうか。 
    パッケージファイルについては、
    特別な要件が無い限り「セットアップファイルに圧縮」でよいとおもわれます。
    .msi 1ファイルにいろいろ詰め込む設定ですね。

    圧縮については、
    ふだん、あまり気にせずに「スピードの最適化」を選んでいました。
    とくにそれで問題がおきたことはありませんが、
    例えば、インストーラーを CD に入れようとして収まりきらない場合などは
     「サイズの最適化」を選ぶのかもしれませんね。
     「サイズの最適化」を選ぶと、インストールの速度が遅くなる傾向にあるようです。
    • 回答としてマーク zen73 2009年8月21日 20:27
    2009年8月21日 15:31
  • 私の思い込みですが、
    2.0 と 3.0 はいらないのではないかと思いこれらを削除しようとしたところが誤って 3.5 も削除(削除ツールを使用)してしまったのでまだ確認できていないことなのですが、
    この2.0 と 3.0 を始からインストールしないようにしようと思っています。
    無理です。
    .NET Framework 3.5 は .NET Framework 2.0/3.0 に一部のクラスライブラリを追加したり、既存の部分を更新する形で構成されており、CLR と呼ばれるランタイムや一部のクラスライブラリを .NET Framework 2.0/3.0 と同じものを利用しています。.NET Framework 3.5 を必要とするアプリケーションは、.NET Framework 2.0/3.0 もセットで必要になります。(表現は一部不正確です。3.5 には含まれるバージョンは 2.0SP1 / 3.0SP1 相当になります)

    http://blogs.msdn.com/dd_jpn/archive/2007/11/13/6172535.aspx
    解決した場合は、参考になった返信に「回答としてマーク」のボタンを利用して、回答に設定しましょう(複数に設定できます)。
    • 回答としてマーク zen73 2009年8月22日 0:07
    2009年8月21日 23:54
    モデレータ

すべての返信

  • インストーラーを作成するのにテスト機が無い状況では
    今後もことあるごとに困られてしまうでしょうね。

    仮想マシンの導入を検討されてはいかがでしょうか?
    無料でテスト環境を入手できます。
    便利ですよ。

    ↓Microsoft Virtual PC 2007
    http://www.microsoft.com/japan/windows/products/winfamily/virtualpc/default.mspx
    2009年8月20日 0:40
  • あにんごさん、ありがとうございます。

    Virtual PC ですが、ネットで使用法をみていたのですが「設定がこんなにも面倒なのか」「今ひとつしっくりこない」という思いです。

    Virtual PC の設定/運用について、年寄りにもわかりやすい解説をしているサイトはないでしょうか。


    zen73
    2009年8月20日 1:55
  • 「Microsoft Virtual PC 入門」などで検索し
    各サイトを参考にさせていただきました。
    ↓たとえば、、、
    http://www1.bbiq.jp/beginners_navi/howtofreesoft04/howtofreesoft04.html
    http://hack.velvet.jp/tenjo/virtualpc/

    Virtual PC インストール後に
    Virtual PC へインストールするOSが必要になるかと思います。
    MSDNサブスクリプションがあれば、おそらくいつでもOSが入手できるので問題ありません。
    もし無ければ、Windows 7 RC のダウンロードがちょうど今日までらしいので
    入手しておくといいかもしれませんね。

    ↓Windows 7 製品候補版 (RC)
    http://msdn.microsoft.com/ja-jp/evalcenter/dd353271.aspx
    重要: RC 版のダウンロードは 2009 年 8 月 20 日まで

    • 回答としてマーク zen73 2009年8月20日 7:12
    • 回答としてマークされていない zen73 2009年8月21日 8:22
    2009年8月20日 2:22
  • あんにんごさん、何度もありがとうございました。

    わかりやすいWebサイトのようですね。
    おかげさまで、インストールのテストを自宅でできそうです。


    zen73
    2009年8月20日 7:12
  • Virtual PC インストール後に
    Virtual PC へインストールするOSが必要になるかと思います。
    MSDNサブスクリプションがあれば、おそらくいつでもOSが入手できるので問題ありません。
    もし無ければ、Windows 7 RC のダウンロードがちょうど今日までらしいので
    入手しておくといいかもしれませんね。
    Windows 7 には .NET Framework 3.5 SP1 + α が入っているので、.NET Framework のインストールテストには使えないのでは?
    http://blogs.msdn.com/dd_jpn/archive/2009/01/20/9343774.aspx

    インストーラのテストするためには、対象とする OS が必要でしょう。(対象 OS が Windows XP 以上であれば、Windows XP は少なくとも確認する必要がある)
    解決した場合は、参考になった返信に「回答としてマーク」のボタンを利用して、回答に設定しましょう(複数に設定できます)。
    • 回答としてマーク zen73 2009年8月20日 19:03
    • 回答としてマークされていない zen73 2009年8月21日 8:22
    2009年8月20日 13:41
    モデレータ
  • これからWindows 7 のDVDを作ろうとしていたときに、Azuleanさんの返信を読ませていただきました。
    Windows XP を入れることにします。

    Azuleanさん、ありはとうございました。


    zen73
    2009年8月20日 19:02
  • Windows 7 には .NET Framework 3.5 SP1 + α が入っているので、.NET Framework のインストールテストには使えないのでは?
    .NET Framework 1.1 をインストーラーに含めるなど Windows 7 でも工夫しだいかとおもいますが
    Windows XP が入手できるならそのほうが楽にできそうですね。
    2009年8月20日 23:34
  • 「回答としてマーク」をつけさせていただいていたのですが、<NET Framework 3.5を自動でインストール>ことが自力では解決できませんでしたので、
    引き続き質問として続けさせていただきます。

    Virtual PC に Windows XPを入れて、いろいろやってみた結果として、うかつにも dotNetFx35setup.exe の重要さを見落としていました。
    まず、http://computer.shipweb.jp/soft/dotnettips_wininst.htm には、

    Releaseモードでビルドした際に.NET Frameworkのファイル[dotnetfx.exeなど]がインストーラーと共に生成されます。

    と書かれていましたが生成されたのは、setup.exe と setup.msi の2つだけでした。
    それで、ダウンロードした dotNetFx35setup.exe を追加してリビルドしてみたのですが、状況は変わりませんでした。

    試行錯誤の末に 「起動条件のプロパティ」を

    InstallUrl: dotNetFx35setup.exe 
    Message: このソフトを実行するために.NETFrameworkをインストールしますか?

    と、しても完全にストップしてしまいます。また、ためしに setup.exe を実行してみますと
      「必要なファイルの実行中にエラーが発生しました」
    とのエラーが出てしまいます。

    「自動インストール」のためには、どのような設定が必要なのでしょうか? お教え願います。
     


    zen73
    2009年8月21日 9:02
  • ご覧のサイトは Visual Studio 2003 を使って .NET Framework 1.1 をインストーラーに含めるためのものですね。
    検索キーワードに「Visual Studio 2005」または「Visual Studio 2008」や
    「Framework 3.5」を含めるとお探しの情報が見つけやすいかもしれません。

    例えば、
    DOBON.NET トップページ(http://dobon.net/index.html)内にある
    DOBON.NET トップ>プログラミング>セットアップ(http://dobon.net/vb/dotnet/deployment/index.html
    はとても参考になるとおもいます。

    また、開発環境を示していただければ
    同様な開発環境をお持ちの方から
    良い設定方法を教えていただけるかもしれません。
    • 回答としてマーク zen73 2009年8月21日 13:59
    2009年8月21日 10:31
  • .NET Framework を自動でインストールできることをVirtual PC で確認することができました!!。

    あんにんごさん、何度もアドバイスをいただきましたことをうれしく思います。Virtual PC の便利さを体感することができ、それに何よりもアプリケーションを配布することができるようになりましたことは、あんにんごさんのお陰と感謝します。

    「必須コンポーネント」を調べてみましたら、デフォルトで
       ○必須コンポーネントをコンポーネントの開発元の Web サイトからダウンロードする
    が選択されていましたので、
       ○アプリケーションと同じ場所から必須コンポーネントをダウンロードする
    を選択してリビルドした結果、すべてがうまくいきました。

    これで解決なのですが、初心者ゆえ次の2つのことを知りたくお尋ねします。(私の環境: VS 2008(Pro)・Windows XP(Pro))
       ア デフォルトで<必須コンポーネント>でWindows インストーラ 3.1にチェックされているのですが、これは必要なのでしょうか。
       イ <Setupのプロパティ>で
             パッケージファイル: セットアップファイルに圧縮
             圧縮:          スピードの最適化
         がデフォルトで選択されているのですが、このままでよいのでしょうか。 

    zen73
    2009年8月21日 13:58
  • 自動インストールが動作したとのことで、おめでとうございます。
    ア デフォルトで<必須コンポーネント>でWindows インストーラ 3.1にチェックされているのですが、これは必要なのでしょうか。
    基本的には必要です。
    Windows インストーラーは、.msi ファイルを展開・配置するプログラムです。
    作成した Setup.exe を実行すると、その中で Windows インストーラーが実行されます。 

    Setup.exe を実行したとき、 Windows インストーラーがインストールされていなければエラーになります。
     しかし、Windows インストーラーを自動インストールするようになっていれば エラーにならないというわけです。
    イ <Setupのプロパティ>で
    パッケージファイル: セットアップファイルに圧縮
    圧縮:          スピードの最適化
    がデフォルトで選択されているのですが、このままでよいのでしょうか。 
    パッケージファイルについては、
    特別な要件が無い限り「セットアップファイルに圧縮」でよいとおもわれます。
    .msi 1ファイルにいろいろ詰め込む設定ですね。

    圧縮については、
    ふだん、あまり気にせずに「スピードの最適化」を選んでいました。
    とくにそれで問題がおきたことはありませんが、
    例えば、インストーラーを CD に入れようとして収まりきらない場合などは
     「サイズの最適化」を選ぶのかもしれませんね。
     「サイズの最適化」を選ぶと、インストールの速度が遅くなる傾向にあるようです。
    • 回答としてマーク zen73 2009年8月21日 20:27
    2009年8月21日 15:31
  • あんにんごさん、ありがとうございます。よくわかりした。

    ところで、.NET FrameWork のインストール中のことですが、インストールに要する時間がやけに長いなと思い「プログラムの追加と削除」で見てみましたら、
    2.0 と 3.0 も3.5と一緒にインストールされていることがわかりました。

    私の思い込みですが、
    2.0 と 3.0 はいらないのではないかと思いこれらを削除しようとしたところが誤って 3.5 も削除(削除ツールを使用)してしまったのでまだ確認できていないことなのですが、
    この2.0 と 3.0 を始からインストールしないようにしようと思っています。


    zen73
    2009年8月21日 20:48
  • 私の思い込みですが、
    2.0 と 3.0 はいらないのではないかと思いこれらを削除しようとしたところが誤って 3.5 も削除(削除ツールを使用)してしまったのでまだ確認できていないことなのですが、
    この2.0 と 3.0 を始からインストールしないようにしようと思っています。
    無理です。
    .NET Framework 3.5 は .NET Framework 2.0/3.0 に一部のクラスライブラリを追加したり、既存の部分を更新する形で構成されており、CLR と呼ばれるランタイムや一部のクラスライブラリを .NET Framework 2.0/3.0 と同じものを利用しています。.NET Framework 3.5 を必要とするアプリケーションは、.NET Framework 2.0/3.0 もセットで必要になります。(表現は一部不正確です。3.5 には含まれるバージョンは 2.0SP1 / 3.0SP1 相当になります)

    http://blogs.msdn.com/dd_jpn/archive/2007/11/13/6172535.aspx
    解決した場合は、参考になった返信に「回答としてマーク」のボタンを利用して、回答に設定しましょう(複数に設定できます)。
    • 回答としてマーク zen73 2009年8月22日 0:07
    2009年8月21日 23:54
    モデレータ
  • Azuleanさん、ありがとうございます。
    無理です。 
    おっしゃるとおりでした。とてもよい勉強になりました。

    zen73
    2009年8月22日 0:12