つい最近、開発用のPCを変更した時に「あぁこれメモっておけば良かった」と思ったことがあったので。
Visual Studio 2008でアプリのインストーラを作る(セットアッププロジェクト)がありました。
この際、以下の通り注意しなければならない要件がありました。
つまりアプリと同時に.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. 一般的な問題
にあります。
更に以下のサイトから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が作成されるようになります。
ネットがない環境にインストールすることって多いのかどうかわかりませんが、ちょっとこの方法はわかりにくいかもしれませんね。
というわけで、参考にしてください。
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. 一般的な問題
にあります。
- まずはこのReadmeに書かれている通りProduct.xmlを編集。
- 次に.NET Frameworkのパッケージ(?)をダウンロード。urlは↓
http://go.microsoft.com/fwlink?LinkID=118080 - コマンドプロンプトからダウンロードしたフォルダへ移動し、解凍。
- 解凍コマンドは↓
dotNetFx35.exe /x:.
- そうするとdotNetFx35.exeのあるフォルダにwcuというフォルダが作られる。
wcuの中にはdotNetFrameworkというフォルダが作られ、更にその中に以下が展開。
dotNetFX20
dotNetFX30
dotNetFX35
dotNetMSP
TOOLS
dotNetFx35setup.exe - これら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が作成されるようになります。
ネットがない環境にインストールすることって多いのかどうかわかりませんが、ちょっとこの方法はわかりにくいかもしれませんね。
というわけで、参考にしてください。
コメント