C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

ツリー一括表示

インストーラで .NET 3.5 を有効化 /774RR (18/08/02(Thu) 11:51) #88091
Re[1]: インストーラで .NET 3.5 を有効化 /Azulean (18/08/02(Thu) 12:17) #88094
  └ Re[2]: インストーラで .NET 3.5 を有効化 /774RR (18/08/02(Thu) 12:43) #88095
    ├ Re[3]: インストーラで .NET 3.5 を有効化 /774RR (18/08/02(Thu) 14:44) #88099 解決済み
    └ Re[3]: インストーラで .NET 3.5 を有効化 /Azulean (18/08/02(Thu) 21:43) #88105 解決済み


親記事 / ▼[ 88094 ]
■88091 / 親階層)  インストーラで .NET 3.5 を有効化
□投稿者/ 774RR (617回)-(2018/08/02(Thu) 11:51:42)

分類:[インストーラ全般] 

.NET Framework 2.0 で作ったツールが既にあります。これを Windows 10 にインストールさせたいのですが、インストーラで Windows 10 の .NET Framework 3.5 を有効化することができますか?

特に、完全オフライン環境、あるいは WSUS が社外 Windows Update に接続を禁止している状況でこれをやりたい、んです。

Windows 10 DVD があるとき dism で 3.5 の有効化をする方法ならありますが、それをお客さんにやらせるのもアレげなので・・・
[ □ Tree ] 返信 編集キー/

▲[ 88091 ] / ▼[ 88095 ]
■88094 / 1階層)  Re[1]: インストーラで .NET 3.5 を有効化
□投稿者/ Azulean (963回)-(2018/08/02(Thu) 12:17:25)
No88091 (774RR さん) に返信
> インストーラで Windows 10 の .NET Framework 3.5 を有効化することができますか?

残念ながら方法はありません。
Windows 8 の頃からそうなっており、.NET 4 への移行が開発者に求められる状況でした。

よって、現状の前提、要求では答えなしになるので、どこかで妥協が必要です。

・ユーザーに作業を負担してもらう(最近はインストールディスクではなく、Feature On Demand と呼ばれるディスクに収録されているので余計に手間はかかります)
・config 書いて .NET 4 ランタイムで動かしてみて検証する
・.NET 4 で作り直す
・諦めてもらう
[ 親 88091 / □ Tree ] 返信 編集キー/

▲[ 88094 ] / ▼[ 88099 ] ▼[ 88105 ]
■88095 / 2階層)  Re[2]: インストーラで .NET 3.5 を有効化
□投稿者/ 774RR (618回)-(2018/08/02(Thu) 12:43:22)
うむー、やはり作り直すほうが手っ取り早いっすか。

オイラ個人の話ならさっくり新しい Visual Studio に移行しちゃえば良いのですが、社内的にライセンスがどうこう煩いので「政治的に」あるいは「予算的に」困難があるんですよね・・・

ちなみに Feature on Demand に変わったのってどのバージョンだかわかりますか?確かに以前は Install DVD で dism できたのですが、そういや最近試していない(新しいマシンも増えてない)のですよね。
# ... soft on demand ...

config で .NET 4.5 を指定する方法はちょっと探してみます。いや、教えていただけるのならこっちも手抜きできてとてもうれしいです。
[ 親 88091 / □ Tree ] 返信 編集キー/

▲[ 88095 ] / 返信無し
■88099 / 3階層)  Re[3]: インストーラで .NET 3.5 を有効化
□投稿者/ 774RR (619回)-(2018/08/02(Thu) 14:44:25)
単純な WinForms App なので次の手順で .NET 3.5 を有効にしていない Win10 で動かすことができました。

1.既にビルド済み exe があって exe のタイムスタンプ等変えたくないとき
<proj>/bin/Release/foo.exe
<proj>/bin/Release/foo.exe.config
があるはずなので foo.exe.config を編集して配布対象に入れる

xml 中 <configuration> セクション中に <startup> セクションを追記。例えば 4.0 Client Profile で動かしたい(4.0CP があれば動くようにしたい) 場合

<startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0,Profile=Client"/>
    <supportedRuntime version="v2.0.50727"/>
</startup>

seealso
https://docs.microsoft.com/ja-jp/dotnet/framework/configure-apps/file-schema/startup/supportedruntime-element

2.今回再ビルドしてよい場合
<proj>/app.config に対して上記 <startup> を追加する。ビルドすると foo.exe.config 中にも同一内容が書き込まれるので、配布対象にすれば以下同文


1.だとビルドしなおしたら再度 foo.exe.config を編集する必要がある。漏れが出るうえ面倒なので、再ビルドする前提で2.を推奨します。

4.0 が良いのか 4.0CP が良いのか 4.5 が良いのかは今回深く考えずに 4.0CP としてみたテスト

解決済み
[ 親 88091 / □ Tree ] 返信 編集キー/

▲[ 88095 ] / 返信無し
■88105 / 3階層)  Re[3]: インストーラで .NET 3.5 を有効化
□投稿者/ Azulean (964回)-(2018/08/02(Thu) 21:43:03)
No88095 (774RR さん) に返信
> ちなみに Feature on Demand に変わったのってどのバージョンだかわかりますか?確かに以前は Install DVD で dism できたのですが、そういや最近試していない(新しいマシンも増えてない)のですよね。
> # ... soft on demand ...

自宅で改めて確認したところ、私の勘違いでした、すみません。。。
1511-1803 まで sources\sxs にそれらしい cab があることを確認しました。

どうも、XPS Viewer が Features on Demand にいったものを勘違いしていたみたいです。
解決済み
[ 親 88091 / □ Tree ] 返信 編集キー/


管理者用

- Child Tree -