none
Visual Studio 2005で作ったSetupについて RRS feed

  • 質問

  • いつもお世話になっております。
    VS2005で開発しています。

    詳しいバージョン情報は次の通りです。
    Visual Studio 2005 Version 8.0.50727.762
    .NET Framework 2.0.50727 SP2

    VB2005のプログラムを作り、
    そのプログラムを配布するためのSetupプロジェクトを
    作っています。

    そこで必須コンポーネントに
    .NET Framework 2.0を選択しています。
    イントラネット環境でのインストールを考慮して、
    必須コンポーネントのインストール場所は、
    「アプリケーションと同じ場所から必須コンポーネントをダウンロードする」
    にしています。

    Setupプロジェクトをビルドして出来上がるファイルをみると
    「dotnetfx.exe」が作成されています。

    ファイル名を見る限り、次のものになるのですが、
    Microsoft .NET Framework Version 2.0 再頒布可能パッケージ (x86)
    http://www.microsoft.com/downloads/details.aspx?FamilyID=0856eacb-4362-4b0d-8edd-aab15c5e04f5&displayLang=ja
    これを.NET Framework 2.0 SP2にすることはできませんか?

    Setupを作成する手順に間違いがあるのであれば、
    教えて頂きたいです。
    ぜひ、よろしくお願い致します。

    2010年4月8日 0:50

回答

  • やろうと思えばできないことはないのかもしれませんが、
    ライセンス的な問題がでるかもしれませんね。

    Visual Studio 2008 向けには .NET 2.0 SP2 あるいは .NET 3.0 SP2 の Bootstrapper Packages を含めることができるように
    更新パッケージがでてるようですが(今初めて知ってダウンロード中)、
    Visual Studio 2005 向けは見つかりませんね。

    ちなみに、Visual Studio 2008 向けはこちらにあります。
    Bootstrapper Packages to Redistribute Components
    http://msdn.microsoft.com/en-us/vstudio/bb898654.aspx

    これによると、2.0 SP2 は Vista へのインストールに失敗するということで、
    .NET 3.5 SP1 のパッケージを使うべきだというようなことが書いてあることですし、
    .NET 3.5 SP1 (include .NET 2.0 SP2) をつけることを考えてはどうでしょうか。

    Visual Studio 2005 で .NET 3.5 SP1 を含めることができるかどうかはわかりませんが。
    (Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1 を入れていれば再頒布のライセンスは問題ないのかな)

    • 回答としてマーク コンドル 2010年4月9日 2:09
    2010年4月8日 2:12
  • 2005だとC:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packagesにあるファイルがセットアッププロジェクトの必須コンポーネントの一覧に認識されます。
    2008だとC:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packagesにあるファイルが認識されます。

    2008用の場所にあるファイルを2005の場所にコピーすると普通に認識します。

    SP無しのフォルダをコピーしてSP有りにして、そこにSP有りdotnetfx.exeを放り込むだけだとPublicKeyが違うと警告が出たりしますが、セットアップファイルは出来上がります。
    #product.xmlのProductCodeは変更しないと重複してしまいますが。

    これでも駄目な場合、product.xmlを編集してやるとうまいったりします。

    #SPありなしのBootstrapperをつくって利用してます

    • 回答としてマーク コンドル 2010年4月9日 2:08
    2010年4月8日 3:56

すべての返信

  • やろうと思えばできないことはないのかもしれませんが、
    ライセンス的な問題がでるかもしれませんね。

    Visual Studio 2008 向けには .NET 2.0 SP2 あるいは .NET 3.0 SP2 の Bootstrapper Packages を含めることができるように
    更新パッケージがでてるようですが(今初めて知ってダウンロード中)、
    Visual Studio 2005 向けは見つかりませんね。

    ちなみに、Visual Studio 2008 向けはこちらにあります。
    Bootstrapper Packages to Redistribute Components
    http://msdn.microsoft.com/en-us/vstudio/bb898654.aspx

    これによると、2.0 SP2 は Vista へのインストールに失敗するということで、
    .NET 3.5 SP1 のパッケージを使うべきだというようなことが書いてあることですし、
    .NET 3.5 SP1 (include .NET 2.0 SP2) をつけることを考えてはどうでしょうか。

    Visual Studio 2005 で .NET 3.5 SP1 を含めることができるかどうかはわかりませんが。
    (Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1 を入れていれば再頒布のライセンスは問題ないのかな)

    • 回答としてマーク コンドル 2010年4月9日 2:09
    2010年4月8日 2:12
  • 2005だとC:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packagesにあるファイルがセットアッププロジェクトの必須コンポーネントの一覧に認識されます。
    2008だとC:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packagesにあるファイルが認識されます。

    2008用の場所にあるファイルを2005の場所にコピーすると普通に認識します。

    SP無しのフォルダをコピーしてSP有りにして、そこにSP有りdotnetfx.exeを放り込むだけだとPublicKeyが違うと警告が出たりしますが、セットアップファイルは出来上がります。
    #product.xmlのProductCodeは変更しないと重複してしまいますが。

    これでも駄目な場合、product.xmlを編集してやるとうまいったりします。

    #SPありなしのBootstrapperをつくって利用してます

    • 回答としてマーク コンドル 2010年4月9日 2:08
    2010年4月8日 3:56
  • SweetSmile様

    ご回答ありがとうございます。

    やり方はイメージできました。
    大変参考になりました。

    >やろうと思えばできないことはないのかもしれませんが、
    >ライセンス的な問題がでるかもしれませんね。

    ただ、ライセンスの問題を考えないといけないとなると、
    ちょっと対応すべきか消極的になってしまいます。。。

    .NET Framework 2.0 SP2をインストールするだけなら、
    再配布可能なファイルをダウンロードしておいて、
    それを実行すれば良いだけですからね。

    >Visual Studio 2005 で .NET 3.5 SP1 を含めることができるかどうかはわかりませんが。
    標準のままではできなそうです。

    とても参考になりました。
    ありがとうございます。

    2010年4月9日 2:04
  • gekka様

    ご回答ありがとうございます。

    具体的にご説明頂き、ありがとうございます。
    対応手順は分かりました。

    手順が分かれば、それほど大変ではなさそうですが、
    Visual Studioの設定ファイルを勝手に修正して良いのだろうか?
    という疑問が残りますので、対応は回避させて頂くかもしれません。

    セットアップに含めなくても.NET Framework2.0 SP2をインストールするだけなら、
    簡単ですから。。。

    ただ大変勉強になりました。
    ご回答ありがとうございます。

    2010年4月9日 2:08