为何会发生无法通过在线安装 Microsoft .NET Framework XXX 基础环境库?

2023-11-16 21:31:35 +08:00
 bclerdx
情况一:
一些第三方产品在安装他们的软件期间,程序本身可能需要检测计算机本地是否具备有某个版本的 Microsoft .NET Framework ,如果不存在,则会通过.dat 内的配置代码 或 命令在线下载并静默安装 Microsoft .NET Framework 。然后,在中国大陆的网络环境下(三大 ISP 及二级和中小 ISP ),未有任何其它技术加持的情况下(比如走机场、全局 VPN ),可能不会下载或安装成功!!

情况二:
基于情况一的情况,如果使用者主动下载 Microsoft .NET Framework 的 Web 安装程序,来执行在线下载和安装,也可能会失败或不成功;

那么,基于情况一和情况二的情况下,这可能 DNS 服务器解析问题 或 是国内运营商网络、区域网络环境 或 GFW 的屏蔽造成的吗?谢谢。
1085 次点击
所在节点    Windows
11 条回复
yyzh
2023-11-16 21:51:00 +08:00
难说.M$现在交不起给三大的带宽费,流量全给丢日本新加坡了.所以也有可能是速度实在太卡的原因而下载失败.
另外装旧版.net 不用那么麻烦,在启用和关闭 windows 功能里就有装旧版.net 的选项
yinmin
2023-11-16 22:12:43 +08:00
微软有完整的离线安装包的,不用在线安装即可。

net4.8 离线安装包的下载地址:
https://dotnet.microsoft.com/zh-cn/download/dotnet-framework/thank-you/net48-offline-installer

这个最新的 4.8 安装包完全兼容.net 4.0-4.8 的所有版本。
yinmin
2023-11-16 22:16:13 +08:00
Microsoft .NET Framework 只有 3.5 和 4.8 这 2 个版本。
3.5 完全兼容 2.0-3.5 的所有版本。
4.8 完全兼容 4.0-4.8 的所有版本。

2.0 之前的版本基本没人用了,4.8 之后就不是.net framework 了。
yinmin
2023-11-16 22:25:23 +08:00
最新版本是 4.8.1 ,兼容 4.0-4.8.1 的所有版本,离线包下载这个:
https://dotnet.microsoft.com/zh-cn/download/dotnet-framework/thank-you/net481-offline-installer
yinmin
2023-11-16 22:28:26 +08:00
@yyzh 微软是有国内下载服务器的。从国内下载 4 楼地址,会自动用到深圳 CDN 节点下载。
ragnaroks
2023-11-16 22:31:04 +08:00
msedge 这个域名对应的 IP 在大陆绝大部分地区是不通的
bclerdx
2023-11-16 22:44:28 +08:00
@yinmin 离线安装包的方式不考虑的情况下。
NewYear
2023-11-17 01:27:15 +08:00
系统打补丁后,可能就再也安装不上 .net 运行库了,要卸载相关的补丁包。
yueji
2023-11-17 16:44:56 +08:00
Function net6
SetDetailsPrint textonly
DetailPrint "$(net6a)"
IfFileExists "$PROGRAMFILES64\dotnet\shared\Microsoft.WindowsDesktop.App\6.0.13\PresentationFramework.dll" Skip 0
GetFunctionAddress $0 DownloadNetFramework6
; 等待下载.NET Framework 6.0.10...
BgWorker::CallAndWait
Skip:
Sleep 1000
FunctionEnd


;下载 .NET Framework 6
Function DownloadNetFramework6
inetc::get /WEAKSECURITY /CAPTION "$(DownloadNetFramework6a)" /BANNER "$(DownloadNetFramework6b)" "${NET_PACK_DL_URL}" "$TEMP\${NET_PACK_NAME}" /END $R9
Pop $0
StrCmp $0 "OK" dlok
MessageBox MB_OK|MB_ICONEXCLAMATION "$(DownloadNetFramework6c)" /SD IDOK
ExecShell "open" "https://dotnet.microsoft.com/zh-cn/download/dotnet/thank-you/runtime-desktop-6.0.13-windows-x64-installer"
Abort
dlok:
ExecWait '$TEMP\${NET_PACK_NAME} /quiet /norestart'
FunctionEnd
yueji
2023-11-17 16:48:07 +08:00
nsis 安装脚本
bclerdx
2023-11-17 18:17:15 +08:00
@yueji 脚本对小白来说,可就是要了他们的命了的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/992579

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX