Installing Windows SharePoint Services 3.0 on the Windows Server 2008 June CTP (includes command-line)

P.S.: WSS 3.0 will no longer be included in the box with Windows Server 2008, but as a separate download. The information in this post is no longer current. Check annoucement at https://blogs.msdn.com/sharepoint/archive/2007/10/29/wss-3-0-to-be-download-in-windows-server-2008.aspx


Windows Server 2008 includes Windows SharePoint Server 3.0 and all its dependencies in the DVD. As documented on TechNet at https://technet2.microsoft.com/windowsserver/WSS/en/library/21e4cc2f-5f0e-4d49-98ed-4e1d1fc852e21033.mspx, explained in a previous blog post from Joel Oleson at https://blogs.msdn.com/sharepoint/archive/2007/07/20/installing-windows-server-2008-with-windows-sharepoint-services-3-0.aspx and detailed with screenshots by Rob Fox at https://bobfox.net/spblog/Lists/Posts/Post.aspx?List=08b611f0%2D15a1%2D4708%2Da0c6%2D874f34da277d&ID=58, you can use the Server Manager MMC to get it installed in just a few steps. After you confirm you want to install all dependencies, you only need to specify the type of install (farm or single server) and the language for the Central Admin site. There are options for the e-mail integration part, but you can leave those blank and configure later.

However, none of these include the command-line interface to install WSS 3.0. Server Manager is a GUI-based management tool, but there’s also a ServerManagerCmd.exe tool that uses the same information about roles, role services and features to install Windows Server 2008 components. I described the syntax for this tool in a previous post at https://blogs.technet.com/josebda/archive/2007/07/24/server-manager-roles-and-features-in-windows-server-2008-beta-3.aspx. You initially think that the command would be too complex, but you will be surprised. I played a little with the command-line options and it’s simpler than you imagine.

Just checking things…

You can start by using ServerManagerCmd just to verify your install after you use the MMC. For instance, I installed the Windows Server 2008 June CTP (Enterprise, Full), used the MMC to perform the SharePoint Installation with the single-server option and later used the “ServerManagerCmd –query” command to get the resulting configuration. You get a full list of all roles and the ones installed are marked with an [X]. If you want to see just the installed ones, here’s the command and output:

 C:\Users\Administrator>ServerManagerCmd –query | Find “[X]”

[X] Web Server (IIS)  [Web-Server]
    [X] Web Server  [Web-WebServer]
        [X] Common HTTP Features  [Web-Common-Http]
            [X] Static Content  [Web-Static-Content]
            [X] Default Document  [Web-Default-Doc]
            [X] Directory Browsing  [Web-Dir-Browsing]
            [X] HTTP Errors  [Web-Http-Errors]
        [X] Application Development  [Web-App-Dev]
            [X] ASP.NET  [Web-Asp-Net]
            [X] .NET Extensibility  [Web-Net-Ext]
            [X] ISAPI Extensions  [Web-ISAPI-Ext]
            [X] ISAPI Filters  [Web-ISAPI-Filter]
        [X] Health and Diagnostics  [Web-Health]
            [X] HTTP Logging  [Web-Http-Logging]
            [X] Logging Tools  [Web-Log-Libraries]
            [X] Request Monitor  [Web-Request-Monitor]
            [X] Tracing  [Web-Http-Tracing]
        [X] Security  [Web-Security]
            [X] Basic Authentication  [Web-Basic-Auth]
            [X] Windows Authentication  [Web-Windows-Auth]
            [X] Digest Authentication  [Web-Digest-Auth]
            [X] Request Filtering  [Web-Filtering]
        [X] Performance  [Web-Performance]
            [X] Static Content Compression  [Web-Stat-Compression]
            [X] Dynamic Content Compression  [Web-Dyn-Compression]
    [X] Management Tools  [Web-Mgmt-Tools]
        [X] IIS Management Console  [Web-Mgmt-Console]
        [X] IIS 6 Management Compatibility  [Web-Mgmt-Compat]
            [X] IIS 6 Metabase Compatibility  [Web-Metabase]
[X] Windows SharePoint Services  [Windows-SharePoint]
[X] .NET Framework 3.0 Features  [NET-Framework]
    [X] .NET Framework 3.0  [NET-Framework-Core]
[X] Remote Differential Compression  [RDC]
[X] Remote Server Administration Tools  [RSAT]
    [X] Role Administration Tools  [RSAT-Role-Tools]
        [X] Web Server (IIS) Tools  [RSAT-Web-Server]
[X] Windows Internal Database  [Windows-Internal-DB]
[X] Windows Process Activation Service  [WAS]
    [X] Process Model  [WAS-Process-Model]
    [X] .NET Environment  [WAS-NET-Environment]
    [X] Configuration APIs  [WAS-Config-APIs]

As you can see, the Windows SharePoint Server [Windows-SharePoint] has quite a few dependencies, including the .NET Framework 3.0, IIS 7 and some IIS 6 Compatibility components. Now the really nice thing is that you really don’t need to know any of that. All I had to do was to select the Windows SharePoint Server roles on the “Add Role…” wizard.

Avoiding the MMC completely

Now if you’re following the idea of having roles and dependencies managed by Server Manager, you can just completely avoid the MMC and go fully command-line. So I reverted my Virtual Machine (using the powers of Virtual PC Undo disk) to the state right after the initial install and simply went straight for CMD.EXE. Here’s the output:

 C:\Users\Administrator>ServerManagerCmd -i Windows-SharePoint
.....
Start Installation...
[Installation] Succeeded: [Windows Internal Database].
[Installation] Succeeded: [Web Server (IIS)] Management Tools.
[Installation] Succeeded: [Web Server (IIS)] Web Server.
[Installation] Succeeded: [Web Server (IIS)] Security.
[Installation] Succeeded: [Web Server (IIS)] Application Development.
[Installation] Succeeded: [Web Server (IIS)] Performance.
[Installation] Succeeded: [Web Server (IIS)] IIS 6 Management Compatibility.
[Installation] Succeeded: [Web Server (IIS)] Health and Diagnostics.
[Installation] Succeeded: [Web Server (IIS)] Common HTTP Features.
[Installation] Succeeded: [.NET Framework 3.0 Features] .NET Framework 3.0.
[Installation] Succeeded: [Windows Process Activation Service] .NET Environment.
[Installation] Succeeded: [Windows Process Activation Service] Configuration APIs.
[Installation] Succeeded: [Windows Process Activation Service] Process Model.
[Installation] Succeeded: [Web Server (IIS)] IIS 6 Metabase Compatibility.
[Installation] Succeeded: [Web Server (IIS)] IIS Management Console.
[Installation] Succeeded: [Web Server (IIS)] Tracing.
[Installation] Succeeded: [Web Server (IIS)] Default Document.
[Installation] Succeeded: [Web Server (IIS)] Static Content.
[Installation] Succeeded: [Web Server (IIS)] Directory Browsing.
[Installation] Succeeded: [Web Server (IIS)] HTTP Errors.
[Installation] Succeeded: [Web Server (IIS)] ISAPI Filters.
[Installation] Succeeded: [Web Server (IIS)] Basic Authentication.
[Installation] Succeeded: [Web Server (IIS)] Windows Authentication.
[Installation] Succeeded: [Web Server (IIS)] HTTP Logging.
[Installation] Succeeded: [Web Server (IIS)] Logging Tools.
[Installation] Succeeded: [Web Server (IIS)] Request Monitor.
[Installation] Succeeded: [Web Server (IIS)] Digest Authentication.
[Installation] Succeeded: [Web Server (IIS)] Static Content Compression.
[Installation] Succeeded: [Web Server (IIS)] Dynamic Content Compression.
[Installation] Succeeded: [Web Server (IIS)] ISAPI Extensions.
[Installation] Succeeded: [Web Server (IIS)] Request Filtering.
[Installation] Succeeded: [Web Server (IIS)] .NET Extensibility.
[Installation] Succeeded: [Web Server (IIS)] ASP.NET.
[Installation] Succeeded: [Windows SharePoint Services].
<100/100>

Success: Installation succeeded.

Then I had to confirm that it actually had worked. So I opened Central Admin and it was all there. I opened the default web site and simply confirmed that my SharePoint site was already up and running. Then I finally opened the Server Manager MMC just to verify that it too reflected the installed roles and again everything was exactly as expected. Also note that the installation sequence has a lot to do with the dependencies. The Windows Internal Database comes first, then the main Web Server components, etc. Take some time to compare the install sequence with the sequence from the tree list created by the ServerManagerCmd –query command.

How about some parameters?

Now you probably know that you really won’t be installing WSS with the single-server option very often. Most people will install a full version of SQL Server somewhere, use the farm option and then point the WSS server to that SQL instance using Central Admin. You also might want to install it in another language. You already know you that you can easily do that with the MMC, but how about a little command line? ServerManagerCmd takes the “-settings” parameter to specify options for roles, but you need to know what the settings’ names are and what parameters are expected. These parameters are documented at https://technet2.microsoft.com/windowsserver2008/en/library/e7edce1d-442c-4ec3-b324-c748e4f937551033.mspx.

So I reverted my Virtual Machine again and tried a WSS 3.0 farm install with Central Administration in Brazilian Portuguese (my native language, by the way). Here’s the command line I used (note that –i is short for –install and –s is short for –setting) and the output I got:

 C:\Users\Administrator>ServerManagerCmd -i Windows-SharePoint -s InstallAsPartofServerFarm=True -s Language=pt-br
.....
Start Installation...
[Installation] Succeeded: [Web Server (IIS)] Management Tools.
[Installation] Succeeded: [Web Server (IIS)] Web Server.
[Installation] Succeeded: [Web Server (IIS)] Performance.
[Installation] Succeeded: [Web Server (IIS)] IIS 6 Management Compatibility.
[Installation] Succeeded: [Web Server (IIS)] Security.
[Installation] Succeeded: [Web Server (IIS)] Health and Diagnostics.
[Installation] Succeeded: [Web Server (IIS)] Application Development.
[Installation] Succeeded: [Web Server (IIS)] Common HTTP Features.
[Installation] Succeeded: [.NET Framework 3.0 Features] .NET Framework 3.0.
[Installation] Succeeded: [Windows Process Activation Service] .NET Environment.
[Installation] Succeeded: [Windows Process Activation Service] Configuration APIs.
[Installation] Succeeded: [Windows Process Activation Service] Process Model.
[Installation] Succeeded: [Web Server (IIS)] IIS 6 Metabase Compatibility.
[Installation] Succeeded: [Web Server (IIS)] IIS Management Console.
[Installation] Succeeded: [Web Server (IIS)] Request Monitor.
[Installation] Succeeded: [Web Server (IIS)] Default Document.
[Installation] Succeeded: [Web Server (IIS)] Static Content.
[Installation] Succeeded: [Web Server (IIS)] HTTP Errors.
[Installation] Succeeded: [Web Server (IIS)] Directory Browsing.
[Installation] Succeeded: [Web Server (IIS)] Dynamic Content Compression.
[Installation] Succeeded: [Web Server (IIS)] ISAPI Extensions.
[Installation] Succeeded: [Web Server (IIS)] Basic Authentication.
[Installation] Succeeded: [Web Server (IIS)] Logging Tools.
[Installation] Succeeded: [Web Server (IIS)] ISAPI Filters.
[Installation] Succeeded: [Web Server (IIS)] HTTP Logging.
[Installation] Succeeded: [Web Server (IIS)] Request Filtering.
[Installation] Succeeded: [Web Server (IIS)] Static Content Compression.
[Installation] Succeeded: [Web Server (IIS)] Tracing.
[Installation] Succeeded: [Web Server (IIS)] Digest Authentication.
[Installation] Succeeded: [Web Server (IIS)] Windows Authentication.
[Installation] Succeeded: [Web Server (IIS)] .NET Extensibility.
[Installation] Succeeded: [Web Server (IIS)] ASP.NET.
[Installation] Succeeded: [Windows SharePoint Services].
<100/100>

Success: Installation succeeded.

Once again, the result was the installation of the required components, Central Administration available (in Portuguese, including the name of the shortcut under Administrative Tools) and no default web application (when you select the farm install you need to set up the web applications in Central Administration for the first server in the farm and then add additional servers, but that is no different than what we have today for WSS 3.0 running on Windows Server 2003). Also note that, this time, ServerManagerCmd did not install the Windows Internal Database, as you would expect in a farm install.

Remove and Re-install

In the end, I was a lot more comfortable with the whole idea of dependencies being handled automatically by Server Manager. I even tried installing WSS with the farm option, then removing WSS and installing WSS again with the single-server option. The removal actually uninstalled only WSS itself but left behind all the dependencies (which is the expected behavior). Because of that, the second install needed to add only one missing dependency (the Windows Internal Database) and WSS itself. You do get a warning after the removal instructing you to restart the server, which I did. Here are the commands and their output:

 C:\Users\Administrator>servermanagercmd -remove Windows-SharePoint
...................................
Start Removal...
Warning: [Removal] Succeeded: [Windows SharePoint Services]. You must restart this server to finish the removal process.
<100/100>
Success: A restart is required to complete the removal.

C:\Users\Administrator>Shutdown /r /t 0

System restarts...

 C:\Users\Administrator>servermanagercmd -install Windows-SharePoint
.....
Start Installation...
[Installation] Succeeded: [Windows Internal Database].
[Installation] Succeeded: [Windows SharePoint Services].
<100/100>
Success: Installation succeeded.

Conclusion

Installing Windows SharePoint Services is probably one of the scenarios with the most dependencies in Windows Server 2008. For me, this proved the whole point around roles, role services, features and dependencies managed by Server Manager. And it’s nice to know that all the WSS components will be right there on the Windows Server 2008 DVD.