投稿者 魔界の仮面弁士  (社会人) 投稿日時 2016/11/24 14:39:55
Windows 7 の機能の有効化
 ☑ .NET Framework 3.5.1 (.NET 2.0 および 3.0 を含む)

※3.5.1 とは 3.5 SP1 の事であり、Win8 以降の有効化にある 3.5 と本質的には一緒
※4 および 4.5/4.5.1/4.5.2/4.6/4.6.1/4.6.2 は別途インストールが必要
※1.0/1.1 は導入不可(2.0 ランタイムでの動作は可能)

---

一切、Windows の機能の有効化すら操作させたくない、ということになってくると、.NET Framework 自体がインストールされていない可能性もありえるのでどうにもなりません。

できるだけ触らせたくないという比率的な話なら、無効な環境がどの程度あるのか、実環境への事前調査が必要かと。.NET のインストールまで面倒を見てくれるような高機能なインストーラーを提供できるなら別ですが。


とりあえず CLR4 世代に関して言えば、可能な限り最新版を使うというのが私のお奨めです。
技術的には、CLR4 のインプレース更新を行っても、更新前に使っていたアプリはリビルド無しでそのまま動くというのが一点。
配布にかんしては、最新版はWindows の機能としては提供されていないというデメリットはあるものの、その分、OS ごとの導入手順の違いを考慮せずに済むので説明しやすいですから。

それに Windows 10 の場合、基本的には Windows Update が強制的に行われますしね。


その他、.NET Framework のサポート期限問題も考慮すべき事項でしょうね。
たとえば .NET 4/4.5/4.5.1 は、今年1月をもってサポートを終了していますので、
あえて 3.5 SP1 のままにしているケースもしばしば見かけます。


Windows 7 の場合:
 既にサポート期限切れ
  → 4
  → 4.5
  → 4.5.1
 2020年1月(OS のサポート期限)
  → 同梱の 2.0/3.0/3.5 SP1
  → 4.5.2
  → 4.6
  → 4.6.1
  → 4.6.2

Windows 8 の場合
 OS 自体がサポート期限切れなので .NET も期限切れ
  → 同梱の 2.0/3.0/3.5 SP1
  → 同梱の 4.5
  → 4.5.1
  → 4.5.2
  → 4.6
  → 4.6.1

Windows 8.1 の場合
 既にサポート期限切れ
  → 同梱の 4.5.1
 2023年1月(OS のサポート期限)
  → 4.5.2
  → 4.6
  → 4.6.1
  → 4.6.2

Windows 10 の場合
 2025年10月(OS のサポート期限)
  → 同梱の 4.5.1
  → 4.6
  → 4.6.1
  → 4.6.2