日期:2014-05-16  浏览次数:20969 次

在 Windows 2012 上安装 Sharepoint 2010
在 Windows 2012 上安装 Sharepoint 2010

Sharepoint,应该是个好东西。还是好些年前测试过,因没有实际的需求,也就放下了。winos 上有缘来网友说到《owa安装之后配置sharepoint时出错》,也就再次关注 Sharepoint,尤其是 OWA,以前还没有用过。

测试环境:
DC:2012
OWA:2012,SQL 2008 R2
另外,还测试了使用 Windows 内部数据库的情况。
以下是安装设置过程的一些记录,但是,并未碰到网友说到这个错误。

网上有说是由于使用了测试版本的原因,而正式版就不会出现这个问题了。大概是吧。

安装 Sharepoint 2010(当然也是所有的软件者是如此),要通过先决条件的检查。
在 Windows 2008 和 R2 时代,通过命令安装服务器功能角色的是 ServerManagetCmd.exe。到了 Windows 2012 时代,改成使用 PowerShell 的 Install-WindowsFeature 命令了。但是,已经出厂的 Sharepoint 2010 不知道后面有这么大的变化。因此,即使已经安装并设置好 IIS 及相关功能,也无法通过检查,致使安装无法进行。

好在网上好人多,提供了变通的办法。

搜集整理在此,便于使用。

1、通过命令行安装 IIS
start  /w  pkgmgr /iu:IIS-WebServerRole;IIS-WebServer;IIS-CommonHttpFeatures;IIS-StaticContent;IIS-DefaultDocument;IIS-DirectoryBrowsing;IIS-HttpErrors;IIS-ApplicationDevelopment;IIS-ASPNET;IIS-NetFxExtensibility;IIS-ISAPIExtensions;IIS-ISAPIFilter;IIS-HealthAndDiagnostics;IIS-HttpLogging;IIS-LoggingLibraries;IIS-RequestMonitor;IIS-HttpTracing;IIS-CustomLogging;IIS-Security;IIS-BasicAuthentication;IIS-WindowsAuthentication;IIS-DigestAuthentication;IIS-RequestFiltering;IIS-Performance;IIS-HttpCompressionStatic;IIS-HttpCompressionDynamic;IIS-WebServerManagementTools;IIS-ManagementConsole;IIS-IIS6ManagementCompatibility;IIS-Metabase;IIS-WMICompatibility;WAS-WindowsActivationService;WAS-ProcessModel;WAS-NetFxEnvironment;WAS-ConfigurationAPI;WCF-HTTP-Activation;WCF-NonHTTP-Activation

在 Windows 2012 和 8 上安装
因为 ASPNET 和 NetFxExtensibility 都分为 3.5 和 4.5 两个版本。
3.5  还是原名,4.5 在后面加上 45。
start  /w  pkgmgr /iu:IIS-ASPNET45;IIS-NetFxExtensibility45
不过这个应该不要。


2、创建 ServerManagerCmd.exe
下面是 ServerManagerCmd.cs
namespace Hand.ServerManagerCmdEmul {
   class Program {
        static void Main(string[] args) {
              System.Environment.ExitCode = 1003;
         }
    }
}

为什么要返回 1003?不清楚。

编译:
csc ServerManagerCmd.cs
把生成的文件 ServerManagerCmd.exe 复制到 \Windows\System32。

以下 F# 代码:
[<EntryPoint>]
let main argv =
    0
返回 0 好像也能通过检查。

3、创建 IISExt.vbs
空文件就行了。也复制到 \Windows\System32。
这个过程,可能就是在 C:\Windows\Microsoft.NET\Framework64\v2.0.50727 下,执行一下 aspnet_regiis.exe -i -enable。


4、Windows 7 和 8 上安装
修改 \Files\Setup\Config.xml。
在 <configuration> 节点下加入:

<Setting Id="AllowWindowsClientInstall" Value="True"/>


但是,光盘是不能修改的。因此,就把 Config.xml 放在桌面上,就要指定配置文件:
D:\Setup /config %userprofile%\desktop\Config.xml"

在 Windows 8 上安装好像不检查,直接就进行安装界面了。

5、安装 .NET Framework 3.5 和 Windows Identity Foundation
 .NET Framework 3.5 的安装中途还需要 Windows 的光盘。


6、集中安装 Windows Feature
既然 IIS 要安装,.NET Framework 3.5 和 Windows Identity Foundation 也要安装,而这些都是 Windows Feature,何不一起安装呢?
况且,pkgmgr 需要知道包的名字,但是,我无法知道。

于是在参考机上安装好所有的 Windows Feature,然后,一起导出:
get-windowsfeature | where InstallState -like "Installed*" | select name
按说这一句与该主题并无关系,但是,字段名中的空格困扰了许久,最后,也没搞清楚,居然可以不要空格了。

Install-WindowsFeature -Name Web-Server, Web-WebServer, Web-Security, Web-Filtering, Web-Windows-Auth, Web-Basic-Auth, Web-Digest-Auth, Web-Common-Http, Web-Http-Errors, Web-Static-Content, Web-Default-Doc, Web-Dir-Browsing, Web-Performance, Web-Stat-Compression, Web-Dyn-Compression, Web-Health, Web-Http-Logging, Web-Http-Tracing, Web-Request-Monitor, Web-Log-Libraries, Web-Custom-Logging, Web-App-Dev, Web-Net-Ext, Web-Asp-Net, Web-ISAPI-Ext, Web-ISAPI-Filter, Web-Mgmt-Tools, Web-Mgmt-Console, Web-Mgmt-Compat, Web-Metabase, Web-WMI, FileAndStorage-Services, Storage-Services, NET-Framework-Features, NET-Fram