スキップしてメイン コンテンツに移動

Visual Studioのセットアッププロジェクトで必須コンポーネントをアプリケーションと同じ場所からインストールする場合の設定

つい最近、開発用のPCを変更した時に「あぁこれメモっておけば良かった」と思ったことがあったので。
Visual Studio 2008でアプリのインストーラを作る(セットアッププロジェクト)がありました。
この際、以下の通り注意しなければならない要件がありました。

  • .NET Framework 3.5などを使うアプリをインストールする
  • インストール対象PCは.NET Frameworkもネット環境もない

つまりアプリと同時に.NET Framework 3.5もインストールする必要があります。
この場合Visual Studioのセットアッププロジェクト内の「プロジェクトのプロパティ」の「必須コンポーネント」のところにある「アプリケーションと同じ場所から必須コンポーネントをダウンロードする」というオプションをチェックすれば良いだけなんですが、デフォルト環境のVisual Studioの場合

「エラー 7 必須コンポーネントのインストール場所が、'コンポーネントの開発元の Web サイト' に設定されていません。項目 [コンポーネント名] のファイル [ファイル名] がディスクに見つかりません。詳細については、ヘルプを参照してください。...
というエラーが出てしまいます。


で、この解決方法。Microsoftのサイトに掲載されています。
http://connect.microsoft.com/VisualStudioJapan/feedback/details/388475/visual-studio-sp1-net-framework-3-5sp1

[S] --- 上記urlを一部引用
この問題を解決する方法としましては、Visual Studio 2008 SP1 の Readme で説明されている手順に従って、.NET Framework 3.5 用の Samesite オプションを有効にすることです。 この解決方法は、Readme の 2.3.1.1 に記載されており、オンラインの Readme は、こちらで見つけることができます: http://download.microsoft.com/download/A/2/8/A2807F78-C861-4B66-9B31-9205C3F22252/VS2008SP1Readme.htm

(翻訳者注: 日本語版はこちらになります。 http://download.microsoft.com/download/1/b/e/1be78474-c7f8-427a-8c6c-330e1c5db7d5/VS2008SP1Readme.htm

[E] --- 上記urlを一部引用

というわけで、上記引用文からReadmeをダウンロードして眺めてみます。
↓これ
http://download.microsoft.com/download/1/b/e/1be78474-c7f8-427a-8c6c-330e1c5db7d5/VS2008SP1Readme.htm

・・・ただのリリースノートじゃん。エラーのほか色々と書いてあるのでわかりにくいですが、今回の事象への対処方法は
2.3.1. 一般的な問題
にあります。

  1. まずはこのReadmeに書かれている通りProduct.xmlを編集。
  2. 次に.NET Frameworkのパッケージ(?)をダウンロード。urlは↓
    http://go.microsoft.com/fwlink?LinkID=118080
  3. コマンドプロンプトからダウンロードしたフォルダへ移動し、解凍。
  4. 解凍コマンドは↓



    dotNetFx35.exe /x:.
  5. そうするとdotNetFx35.exeのあるフォルダにwcuというフォルダが作られる。
    wcuの中にはdotNetFrameworkというフォルダが作られ、更にその中に以下が展開。
    dotNetFX20
    dotNetFX30
    dotNetFX35
    dotNetMSP
    TOOLS
    dotNetFx35setup.exe
  6. これら5つのフォルダと1つのファイルを以下のフォルダにコピー。
    %Program Files%Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\DotNetFX35SP1

更に以下のサイトからx86とx64用のLanguage Packをダウンロードします。
http://www.microsoft.com/downloads/details.aspx?familyid=C78987B9-97F4-455F-BEE7-F6BFA4AD774E&displaylang=ja#filelist

ダウンロードしたファイルは
%Program Files%Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\DotNetFX35SP1\ja
の中の
DotNetFX35\x86またはx64にそれぞれコピーします。
DotNetFX35フォルダがない場合は手動で作成して問題ないです。

この状態でVisual Studioのセットアッププロジェクトをビルドしたところ、正常にsetup.msiが作成されるようになります。

ネットがない環境にインストールすることって多いのかどうかわかりませんが、ちょっとこの方法はわかりにくいかもしれませんね。
というわけで、参考にしてください。

コメント