我的环境是 Win server 2003,作为农场的应用服务器。
我需要安装 .NET 3.5,以便各种应用程序可以在 SharePoint 站点上运行。不幸的是,事实证明这是不可能的,我认为解决此问题的唯一方法是删除/重新安装所有 .NET。
我的问题是这是否会以任何方式“损害”我的 SharePoint 安装。我需要它是一个快速而轻松的过程,以便服务器可以在最短的停机时间内恢复运行。
对于那些好奇的人来说,安装程序 GUI 或 EventViewer 没有留下任何错误消息 - 但是 VSSWMSIFailInfo.txt 留下了以下内容:
DDSet_Error: CConfigEntry::RefreshConfigFile could not load _spConfigDoc path=C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\config\WSF30.tmp isSuccessful=0 Error code: 0x1
DDSet_Error: CFxInstaller::SetupExtensions extensionElement.Initialize failed. cswMachineConfigPath=C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\config\WSF30.tmp. Error code: 0x80004005
DDSet_Error: CFxInstaller::SetupBaseComponents SetupExtensions failed. Error code: 0x80004005
DDSet_Error: Setup failed. Error code: 0x80004005
我能找到的唯一相关信息是 msdn 上的这篇文章:http://social.msdn.microsoft.com/Forums/en-US/netfxsetup/thread/7bc9797b-10ec-42c5-a21e-99c2b45b83ad/。不幸的是,建议的解决方案对我来说不起作用。因此,我只能采用散弹枪式解决方案……
答案1
简短的回答是:它会毁了你的一天。
诚然,我是使用删除工具删除 .net 的,而不是通过控制面板。SharePoint 不喜欢将 .NET 从其下方拉出。
以下是我在不重新安装 SharePoint 或 IIS 的情况下修复此问题的方法: (这发生在 .NET 被删除并且 SharePoint 陷入困境之后)
- 从微软下载/安装了 .NET 3.5,同时安装了以前的版本
- 从 Windows 更新安装 .NET 更新(重新启动)
- 从 Windows 更新安装了更多 .NET 更新/服务包(重新启动)
- 修复 machine.config (%WINDIR%\microsoft.net\Framework64\v2.0.50727\machine.config) 在我的例子中,节点中有无效标记
<processModel>
(无效引号)。我建议备份它,这样您就可以覆盖整个文件——我使用 procmon 来找出 psconfigui.exe 出错时正在读取哪个文件。这可能是也可能不是您遇到的问题,因为它看起来相当随机。 - 运行 SharePoint 配置向导
- 在 IIS 管理器中将 ASP.NET_2.0.50727 ISAPI 过滤器添加到“网站”
- 为 IIS 中的每个 SHAREPOINT 站点添加通配符应用程序映射(站点属性、主目录、配置),以使 C:\WINDOWS\microsoft.net\Framework64\v2.0.50727\aspnet_isapi.dll 和“取消选中验证文件是否存在”
- 确保 IIS 管理器中的 Web 服务扩展部分允许 ASP.NET 和 Windows SharePoint 服务
完成所有这些步骤(可能还需要重置 iis)后,SharePoint 终于可以正常工作了!真是一场噩梦
答案2
SharePoint 将会大发雷霆,事情将从此每况愈下。
在接触任何其他内容之前,请先备份您的网站,然后查看重新安装 .NET 框架的能力,因为它们是 SP 的骨干。