none
Visual Studio2008のセットアッププロジェクトで、.NET Framework 3.5 SP1を配布する方法は? RRS feed

  • 質問

  • Visual Studio 2008 SP1を使っているのですが、プログラムを配布するために、セットアッププロジェクトを作成して、インストーラを作ってみました。
    ところが、.NET Framework 3.5のインストールは自動的に行われるのですが、SP1のインストールは行われません。

    これを、.NET Framework3.5 SP1がインストールされるようにしたいのですが、方法がわかりません。

    また、プログラムの必須コンポーネントの一覧には、.NET Framework 3.5はあるのですが、SP1の項目はありません。
    これが問題のような気もしますが、いまいちわかりません。

    リリースノーティスに記述のある、Samesite for .NET Framework 3.5 SP1 ブートストラップパッケージを有効にする
    は、実行してみました。


    どなたかわかる方お教えください。
    2009年6月29日 11:14

回答

  • VS2008 のリリース ノートにある「Samesite 云々」の設定は、必須コンポーネントの .NET Framework 3.5 SP1 チェックした状態で「アプリケーションと同じ場所から必須コンポーネントをダウンロードする」を選択した場合にビルド エラーが発生する、という状況への対策です。
    ですので、設定する以前に VS2008 SP1 を当てると、必須コンポーネントに  .NET Framework 3.5 SP1 は表示されるはずです。

    product.xml と package.xml の中をよく見直してください。(IE 開いて、XML を正しく表示できるか、とか)
    今回の現象には直接影響しないはずですが、文字コードは UTF-8 にすることをお忘れなく。

    • 回答としてマーク 吉村好廣 2009年6月30日 3:37
    2009年6月30日 2:54

すべての返信

  • リリースノーティスに記述のある、Samesite for .NET Framework 3.5 SP1 ブートストラップパッケージを有効にする
    は、実行してみました。
    とのことですが、具体的にどんな作業をしたのでしょう?これが出来ていれば必須コンポーネントに項目が並んでいるはずなんですが。。。?
    あ、もしかしたら、表示名が 3.5 SP1 になっていないままなのかな?


    わんくま同盟,Microsoft MVP for Visual C++(Oct 2005-) http://blogs.wankuma.com/tocchann/
    2009年6月30日 2:15
  • リリースノーティスに記述のある、Samesite for .NET Framework 3.5 SP1 ブートストラップパッケージを有効にする
    は、実行してみました。
    この時に、product.xml を壊したとか名前を変えてしまったとかかもしれません。バックアップが残っていれば回復できるかもしれません。
    必須コンポーネントに手作業で追加するには、次の URL の記事が参考になると思います。

     カスタムの必須コンポーネントの追加
     http://msdn.microsoft.com/ja-jp/library/ms165429.aspx

     Visual Studio 2005 Bootstrapper: Start-Kick Your Installation
     http://msdn.microsoft.com/ja-jp/magazine/cc163899(en-us).aspx
    2009年6月30日 2:26
  • ふと思い出した。。。
    開発環境が書かれていないので違うかもしれませんが、Vista/2008 だと、UACがあるので必須コンポーネントの作成先フォルダへのアクセスに管理者権限が必要です。

    何を使って作ったか?によっては、VirtualStore に保存されてしまっていて、見えないということはあるかもしれません。

    確実ではありませんが。


    わんくま同盟,Microsoft MVP for Visual C++(Oct 2005-) http://blogs.wankuma.com/tocchann/
    2009年6月30日 2:30
  • 使用しているのは、VIsta x64でVisual Studio2008 SP1です。

    Product.xmlの編集には、管理者権限でのメモ帳を使いました。

    必須コンポーネントの一覧には、3.5SP1が表示されていません。

    ちなみに、正しく設定ができると、必須コンポーネントに、3.5SP1も表示されるようになるのでしょうか??

    2009年6月30日 2:38
  • ちょっと見なおしてみましたが、表示されるはずですね。

    もともと、メディアに同梱の形がないだけで、実行時ダウンロード形式での配布は出来るようになっています。<SP1適用時点で

    ですので、その状況で実行時ではなくあらかじめ落としておくということが、リリースノートに書かれています。
    http://download.microsoft.com/download/1/b/e/1be78474-c7f8-427a-8c6c-330e1c5db7d5/VS2008SP1Readme.htm#General Issues
    で見れますので、もう一度ご自身で行ったの操作手順と照らし合わせて、確認してみてください。


    わんくま同盟,Microsoft MVP for Visual C++(Oct 2005-) http://blogs.wankuma.com/tocchann/
    2009年6月30日 2:45
  • VS2008 のリリース ノートにある「Samesite 云々」の設定は、必須コンポーネントの .NET Framework 3.5 SP1 チェックした状態で「アプリケーションと同じ場所から必須コンポーネントをダウンロードする」を選択した場合にビルド エラーが発生する、という状況への対策です。
    ですので、設定する以前に VS2008 SP1 を当てると、必須コンポーネントに  .NET Framework 3.5 SP1 は表示されるはずです。

    product.xml と package.xml の中をよく見直してください。(IE 開いて、XML を正しく表示できるか、とか)
    今回の現象には直接影響しないはずですが、文字コードは UTF-8 にすることをお忘れなく。

    • 回答としてマーク 吉村好廣 2009年6月30日 3:37
    2009年6月30日 2:54
  • 再度確認してい見ましたが、SP1の項目はスクロールすると出てきていました。
    ただし、「ブートストラップの必須コンポーネントが見つかりません」と警告が出ていますので、
    何かファイルが足りないのかもしれません。

    再度確認してみます。

    もう少し親切なメッセージを出してくれるといいのですが・・・・( TДT)
    2009年6月30日 3:24
  • とりあえず、もう一台あった開発マシンから、Product.xmlをコピーしたら、正しく表示されるようになりました。
    多分、編集したときにファイルを壊してしまったのかもしれません。

    何はともかく解決しましたのでご報告いたします。

    吉村
    2009年6月30日 3:38