情况:
Win7卸载了.Net Framework 3.5后, 做了些盘符的Symlink操作, 将一些大文件从C盘移到D盘.
再次安装.Net 3.5时, 怎么都装不上, 直接下载离线安装包, 一装就说必须用Windows Feature来装, 不能直接安装, 真是服了微软的这个脑残限制. .Net 2.0, 4.0都没这限制.
那就用Windows Feature装, 结果也是一装就报错. 没啥提示. 有些Log可以看, 不过不怎么友好, 不好找.
找到这个命令行可以在线安装, 内部机制同上:
dism /online /enable-feature /featurename:NetFx3
结果还是报错, 这次有个提示 "The system cannot move the file to a different disk drive".
实在不想重装系统, 找了n久解决办法, 还好用微软的东西, 各种问题大家都会碰到. 终于翻到个老外的帖子试了下成功了, 改下注册表即可.
https://social.technet.microsoft.com/forums/windows/en-US/8a864e4f-9e18-435b-9404-2feab9057f15/cannot-install-net-framework-on-symlinked-drive
估计这个不同盘符的错误是Symlink方式导致的, 我的是link到D盘了. 所以改下面的注册表
Regedit -> HKLM/Software/Microsoft/Windows/CurrentVersion
修改ProgramFilesDir 或
ProgramFilesDIr (x86) 或
ProgramW6432Dir 至 D:\Program Files
这个时候重新开个命令行, 运行 dism /online /enable-feature /featurename:NetFx3 即可安装成功.
改完后可以改回来ProgramFilesDir, 重起电脑即可.