Visual Studio 2008では、プロジェクトのプロパティ画面で対象のプラットフォームの設定として.NET Frameworkのバージョンが選べる。これを指定することで動作に必要な.NET Frameworkが指定できるのだが、セットアッププロジェクトでは同じ画面にその設定項目がない。では、セットアップに含めるファイルの状況をみて自動的に必要なバージョンを検出してくれるのか?というとそういうわけではなく、標準のままセットアップファイルを作成すると、.NET Framework3.5が必要なものが出来上がる。そういう状況で少し悩んだ。
いろんな所を触ったりヘルプで解決方法を探している間は、全く分からず、UIではなく直接vdprojファイルを書き換えるしかないか。。とあきらめかけていたが、結局MicrosoftのVisualStudio&.NETFrameworkのフィードバックページで他の人の質問を検索して答が得られた。
分かってみれば簡単なことで、セットアッププロジェクトでは別の場所にこの設定があり、そこで設定すればきちんと.NET Frameworkのバージョンが指定できる。
設定の場所は、セットアッププロジェクトの各エディタのなかにある起動条件エディタという画面。その"起動条件"のなかに".NET Framework"という項目があり、その項目の"Version"プロパティで指定したいバージョンを選べばよい。これに加えて、セットアッププロジェクトのプロパティ画面の"必須コンポーネント"設定で、必要に応じた設定をすれば、思った通りのセットアップファイルが生成できる。
この設定の場所、他にも気がつかない人いるだろうな。確かに論理的にはここにあってしかるべき項目ではあるけれど。。他のプロジェクトと同じ目的に使う設定項目が異なる場所にしかないというのはいかがなものかな。。と思った。