My blog has moved!

My blog has moved to http://www.lamber.info. Click on the redirect button below to be redirected to the blog post.

Please update your bookmarks and use the new url for getting new updates.

Pages

Saturday, January 30, 2010

Download and try the Office 2010 and SharePoint 2010 demo machines

Good morning to everybody.

If you are able to use Hyper-V and want to test a complete Office 2010 and SharePoint 2010 environment, you can do it by downloading directly the virtual disks here.

It consist of two separate virtual machines containing “CONTOSO.COM” demo data and following preconfigured software:

  • machine 1
    • Windows Server 2008 SP2 (Standard)
      • Active Domain Controller
      • DNS
      • WINS
    • Microsoft SQL Server 2008 SP1
    • Microsoft Office Communication Server 2007 R2
    • Visual Studio 2010 Beta (Ultimate Edition)
    • Microsoft SharePoint Server 2010 Enterprise Beta 2
    • Microsoft Office Web Applications Beta 2
    • FAST Search for SharePoint 2010 Beta 2
    • Microsoft Project Server 2010 Beta 2
    • Microsoft Office 2010 Beta 2
    • Microsoft Office Communicator 2007 R2
  • machine 2
    • Windows Server 2008 R2 (Standard)
    • Microsoft Exchange Server 2010

Microsoft already added 200 demo users and indexed the content with the search functionality of SharePoint. Seems to be a pretty complete system demo.

Happy trying

Patrick

Friday, January 29, 2010

Ballmer sells Windows 1.0

Hi all. Today something different and funny. I found a video on YouTube showing Ballmer selling Windows 1.0. Watch it here.

Stay tuned

Patrick

Wednesday, January 27, 2010

PowerShell 2.0: An introduction (Part 3) - Basic variable assignments and .NET code usage in PowerShell

In this post of the post series PowerShell 2.0: An introduction, we are talking about basic variable assignments and .NET class instantiations in your PowerShell code.

Working with variables

You can assign any value to a PowerShell variable by using this syntax. Note that the variables in PowerShell are case insensitive:

$variableName = value

The interesting aspect is that you can assign not only simple values, but you are also able to include complete result sets in your variables. To be able to see this, start PowerShell and instantiate three different notepad instances by typing the command notepad  three times. Afterwards, start the command get-process notepad and see the different instances of notepad listed in your console.


clip_image002


For us this is nothing new. However, you can store the results of a cmdlet by using simply a variable just like this $x = get-process notepad. You can reuse the variable any time after this initialization. In this way you are able to store results of long commands into a single variable and reuse it to refine the commands afterwards. Here you see an example of a object-pipelining executed with the variable $x | select-object –first 2.


 clip_image002[5]


PowerShell does not enforce the variable types of a variable.You can see it in the next example where we mix the values of the variables how we want.


 clip_image002[7]


Nevertheless, if you want, you can enforce the variable types by proceeding the variable with the variable types you want to specify:

[type] $variableName = value

This has the advantage of returning an error message when we accidentally try to assign a value of the wrong type in our variable. You can see it in the next example, which is similar as the previous one, but uses the explicit type definition of the variable.


clip_image002[11]



Note: if you try the example above ensure to start a new PowerShell instance or you will get a strange behavior with your variable.


Working with .NET classes


In this subsection I show you how to instantiate .NET object by using the .NET Framework. You can even use external .NET DLLs and use them in the PowerShell console. We start our first example by using the Random class of the .NET Framework and get some random values. Enter following syntax in your PowerShell console:

$random= new-object System.Random
$random.Next(20)

clip_image002[13]


You see that we instantiated the Random class in the first line and then executed a .NET method later. It is so simple to instantiate .NET objects in PowerShell.

You can also use static methods with following syntax:

[Type]::staticMethod

An example of how using a static method can be done by using the DateTime class of the .NET Framework. Enter following commands:

$currentDate = [System.DateTime]::Now 
$currentDate.Day
$currentDate.Year

clip_image002[19]


There are some assemblies loaded by default in PowerShell. You can see the assemblies loaded in this current PowerShell instance by issuing the command [System:Threading.Thread]::GetDomain().GetAssemblies().


clip_image002[21]


There are several ways of loading an assembly. You can find the different ways to do it here. I find that the most elegant way to do it is by using following syntax:

[Reflection.Assembly]::LoadWithPartialName(“Name”)

You can try doing it for example with the command:

[Reflection.Assembly]::LoadWithPartialName(“System.Windows.Forms”)

After loading the Windows Forms assembly, you could even start


clip_image002[23]


Summary


In this post we saw the real power of PowerShell. You are able to access .NET classes in PowerShell and use them to extend your PowerShell functionalities.


 


Hope this helps,


Patrick

Tuesday, January 26, 2010

STSADM returns access denied in Windows Server 2008 when you are working as a SharePoint Administrator. WTF?

Imagine you installed Windows Server 2008 R2 with SharePoint Server 2007 recently and want to do administrative tasks by using the STSADM command. You login as an administrator, start the command prompt and execute one stsadm command. The execution of the command takes longer as expected and suddenly… BAM… access denied.

image

Just hold on a moment. There is something wrong you might think. We are local machine administrators and SharePoint administrators. How many permissions do we need more?

After searching a while and thinking what happened I discovered that this has to do with the new security features provided in Windows Server 2008. Certain operations are also limited for an administrator when you do not tell Windows Server 2008 to run the application with administrator privileges. You can do it by right-click on the executable and by pressing run as administrator.

image

After running the command prompt as administrator you can execute stsadm without any issues.

In addition, I noticed a light performance degradation during the stsadm commands execution using this mode. This is only an assumption, but I think this has something to do with permissions checks executed in the background. I tried to change the user account control settings and disabled the notifications. You can do it anytime by starting the control panel and jumping in the change user account control settings link.

image

Note: you can insert “uac” in the control panel’s search panel to filter the options.

image

Note: you are disabling this functionality and giving the possibility to potential harmful programs to damage your system.

After this operation, you have to restart your machine. Then, you don’t need to run the application with administrator privileges. In addition, I noted a performance improvement after the execution of the stsadm command. I can’t explain exactly why it is so. This is only a personal feeling.

Please don’t get me wrong. I think that this functionality is very helpful to improve the system security of your machine. However, there are certain situations where you become annoyed from this functionality and you want to disable it (for example in a development environment).

Hope this helps

Patrick

PowerShell 2.0: An introduction (Part 2) - Object pipelining

In the last post of the post series PowerShell 2.0: An introduction, I explained how to use simple PowerShell cmdlets and get information about several things going on on our computer. Today, we are going to learn how the PowerShell object-pipelining functionality is working.

Pipelining is a functionality that permits to use the output of one cmdlet and process it with further actions. This works by providing a “|” between two commands. This is tells PowerShell to get the process output and pass it as input for the next command.  The most important pipelining commands are:

  • sort-object: sort the object by a given property
  • group-object: groups the results by a given property
  • where-object: filters an object with a where clause
  • select-object –first number /-last number: filters the results with the first results or the last results of the list
  • format-table: formats the result in a tabular form and gives you the possibility to filter the columns
  • format-list: a list formatting option
  • get-member: returns the members of an object

Start PowerShell and run three different notepad instances by entering the command notepad three times. You can analyze the running notepad instances by issuing the command get-process notepad. This should look like in the next figure:

image

In the picture above you see three notepad instances with the process ids 4556, 5148, 5184. In your Window you should see something different. Now, we are going to sort the above list by the instance that occupies at most memory on the top. Enter the command get-process notepad | sort-object ws –desc to do this.

image

You can see the processes sorted in a descending order with the instance occupying most memory at the top (it’s occupying a lot of space, heh :) ). Nevertheless, we see a first object-pipelining function. It starts from left to right and does following:

  • executes the get-process cmdlet, which filters the processes with the notepad filter
  • the above result is pipelined to the sort-object, which executes the sorting by in a descending order
  • the result of the sort-object is outputted on the screen

Now, choose a process Id of your list and insert following command: get-process notepad | where-object { ($_.Id –eq yourId) }. In my case I choose the id 5184 and insert get-process notepad | where-object { ($_.Id –eq 5184) } as command. You should see something like this:

image

We filtered our object by using the object property Id and compared it with the id 5184. Probably you are asking where to find the properties of an object. You can do this easily by using the get-member command. Enter get-process notepad | get-member in the console.

image

You see the list of properties, methods, events and alias properties.  This list can help you choosing the desired property of every object that you analyze in PowerShell.

Let us finish this post with our last example. We will combine different commands and see their results. Start with the first cmdlet and then work you up sequentially command for command. In the next figure you can see an example of result:

  • get-process notepad: return the list of notepad instances
  • get-process | sort-object ws –desc: return the list of notepad instances, sorted by ws in a descending order
  • get-process notepad | sort-object ws –desc | select-object –first 1: get the sorted list and select the first occurrence
  • get-process notepad | sort-object ws –desc | select-object –first 1 | format-table id, processname, ws: get the first occurrence of the sorted list and the show only the object properties id, processname, and ws.

image

Summary

We learned pretty cools stuff until now. You see that with object-pipelining you are able to do a lot of stuff. In the next posts I will tell you how to use classes of the .NET Framework to retrieve information.

 

Hope this helps,

Patrick

Monday, January 25, 2010

News about Visual Studio 2010 performance improvements

I found here an interesting article speaking about some performance improvements made for some SLCTPs (Super Limited Community Technology Preview releases :) ). It’s worth reading

PowerShell 2.0: An introduction (Part 1)

Everybody is talking about PowerShell and how cool it is in conjunction with several Microsoft Products. As you probably already know, PowerShell is an interactive, commando-based scripting environment that simplifies the administrative tasks for system administrators and developers.

With PowerShell you are able to communicate and to automate several Microsoft Products such as Exchange Server, SQL Server, SharePoint Server and even third party tools such as VMWare. If you want to automate SharePoint Server 2010, you have to learn PowerShell! The stsadm.exe command will be replaced soon or later by PowerShell completely. Because of that, I’m going to start a new post series talking about PowerShell basics.

Walkthrough

This post will be subdivided into following sections:

  • What is PowerShell?
  • What are the requirements?
  • A small demo explaining some simple information retrieval commands

What is PowerShell?

As already mentioned before, PowerShell is an interactive, commando-based scripting environment delivered with the latest Windows operating environments. It can be used to automate tasks easily because you are able to…

  • … work with .NET, COM, WMI, XML and more
  • … supports transactions (if one command fails, all other commands fail too and are rolled back)
  • … execute some scripts remotely
  • … use it in your .NET applications and extend them
  • … extend it with your own commands
  • … you can run “old” command prompt command (e.g, dir)
  • … you can run external programs (e.g., notepad)

What are the requirements?

Currently, there are two different PowerShell versions available. The version 1.0 and 2.0. You can find PowerShell 1.0 in Vista SP1 and Windows Server 2008. You have to install the .NET Framework 2.0 if you want to use PowerShell.

PowerShell 2.0 can be installed as addon in the operating systems listed above or is directly delivered with Windows 7 and Windows Server 2008 R2. You must install the .NET Framework 2.0. However, there are some functions that use the .NET Framework 3.5. Therefore, it is recommended to install it on your machine.

A small demo

Basically, you work with commandlets (cmdlets), which are .NET classes, and run them in your PowerShell environment. You can combine their results by using the so called object-pipelining and construct in this way complex automation tasks.

First of all, you need to start the PowerShell console. You should see something similar in the next figure:

image

Note: You can start PowerShell either by pressing the image  icon, running it from the start menu or by entering the command “PowerShell” in the console.

Now, let us start using our first cmdlet by entering get-childitem and pressing enter. You get the directory listing of the current directory. You should see something like this:

image

You can add parameters to your cmdlet and filter the directory listing. Type get-chilitem *.txt. You should get all *.txt files of your current directory.

image

Another interesting variation of the get-childitem is the get-childitem –recurse. This command returns recursively all contents of this and all subdirectory starting from the current directory. You might see something like this.

image Now, you are probably asking if it is possible to get all items of a given extension of the current directory and all subdirectory. Yes we can! Type get-childitem –filter *.txt –recurse and you get an answer like this:

image

Probably, you might already have noticed that the functions listed above are similar as the old command prompt command dir. In fact you can also use the “old” command by typing it in PowerShell. Be warned, this dir has nothing to do with the old command of the old command prompt. This is only an alias of the command get-childitem to simplify the learning phase of Windows administrators and developers.

Note: In our first example you are getting only a list of something. Nothing special, you might say. But you will see how impressive it will become when we will combine such commands with the object-pipelining functionality of PowerShell.

Finally, I conclude this post by listing some commands that I find helpful to begin with. Play around with these commands to feel comfortable with the new environment. In the next postings I will tell more about the PowerShell functionalities and features:

  • get-commands: returns all commands (tip: use it with filtering parameters).
  • get-help [commandLetName]: returns the help of the specified commandlet (use get-help [commandLetName] –full to get a full help description).
  • get-date: returns the current date
  • get-process: returns all running processes of the machine
  • get-service: returns all Windows Services of the machine. It becomes an interesting command when you combine it with parameters functions. (e.g., get-service *sql* returns all services with SQL in their name, i.e. SQL Server services).
  • stop-service –name [ServiceName] -verbose: stops a service with the passed name
  • start-service –name [ServiceName] -verbose: starts a service with the passed name
  • get-hotfix: returns all installed hotfixes and the corresponding knowledgebase number of this machine

Summary

In this post I explained what PowerShell is and what are the requirements to start with PowerShell. Afterwards, I made a small demonstration of some commands and listed useful commands to start with.

 

Hope this helps,

Patrick

Sunday, January 24, 2010

SharePoint Server 2007 on Windows Server 2008 – Basic SharePoint Farm Configuration

In this final post of the post series SharePoint Server 2007 on Windows Server 2008, I’m explaining how to do basic farm configurations of our SharePoint 2007 installation. You can manage this in a modular and elegant way. SharePoint, gives you the possibility to move roles and configure services in your farm in a flexible way. You do this management in the central administration that we installed in the last post. Please note that this explanation gives you only a fast overview on how configuring the server farm. This explanation is not complete and should not be used for a production environment.

Walkthrough

Today, we are going to define the configuration of our SharePoint installation. You need to do this every time you create a new SharePoint farm. Our steps are going to be the following:

  1. start the central administration and configure the farm services such as search
  2. create a web application needed by the Shared Service Provider
  3. create the Shared Service Provider for your SharePoint web applications
  4. create as many web applications as you want

After the steps listed above you configured the farm and you are able to start creating your SharePoint web applications.

Note: SharePoint consists of several services that can be used by different web applications. Most applications share the same service configurations and service definitions. A Shared Service Provider defines and groups common services used by your SharePoint web applications. You must have at least one Shared Service Provider before starting with a SharePoint web application.

Step 1: start the central administration and configure the farm services

  • Start the central administration. You can do it either by typing the central administration URL in your browser or by starting it under Start –> Microsoft Office Server –> Central Administration.

Note: After the installation, the URL has the pattern http://yourComputerName:ThePortYouSpecifiedDuringInstall (if you followed our installation guide your URL should be  http://yourComputerName:21000) .

  • if necessary, login with your farm account
  • the central administration loaded successfully. You should see three tabs (home, operations, application management).
  • first, we define the services of our server. Go under the Operations tab and Services on Server
    • Start
      • the Excel Calculation Services
      • Windows SharePoint Services Search
        • You should define the service account with a different user. If you want you can also use the farm administrator. For the content access account its better to define a separate user.
      • Office SharePoint Server Search
        • use this server for indexing content
        • use this server for serving search queries
        • set an email
        • for the farm search service account you can define the content access account used before

Note: if you don’t see the Services on Server tab you probably don’t have enough permissions to do it. Login in as your farm administrator to see them.

Note: SharePoint must know which email server it should use to send emails. You can configure the outgoing email settings under “Operations”->”Outgoing eMail Settings”.

With the steps above you defined that the front-end server takes the responsibility for the Excel Calculation Services and the SharePoint indexing and searching activities.

Step 2: create an application for the Shared Service Provider

Our last step is to create the Shared Service Provider. But before we can do this, we have to create a hosting web application and the Shared Service Provider on it.

  • go under the Application Management tab and press Create or Extend Web Application and create there your web application.

Note: every time you create a new web application or define some services, try to give consistent names to the databases you create or you will end up in a jungle of databases with strange names in your SQL Server. If you have only some services, never mind. But it becomes a mess if you have to manage a lot of web applications.

Step 3: create the Shared Service Provider

In step 2 we created the web application that will host our Shared Service Provder. Now, we can finish our basic configuration by creating a new Shared Service Provider.

  • go under the Application Management tab and press Create or configure this farm’s shared services. Choose the web application that you created before and create your Shared Service Provider.

Step 4: create as much web applications as you want

After the creation of our Shared Service Provider you are able to start creating new SharePoint web applications. You can do it by following those steps:

  • create a new web application or use an existing one (we created a web application for the Shared Service Provider)
  • Associate to this web application a site collection with some predefined SharePoint features. You can do it by using the Create Site Collection option under the  Application Management tab.

Note: a SharePoint site collection is a set of features providing the look and feel and functionalities to the end user. You can create more than one site collection in a web application.

Summary

In this post we saw the very basic configurations needed in our farm to function properly. With these steps you can start creating your first SharePoint 2007 web applications and do some testing.

 

Hope this helps,

Patrick

Monday, January 18, 2010

Installing SharePoint Server 2010 (Beta)

Update 24.01.2010: Added a new exception during the installation of Beta 2.

The installation of SharePoint 2010 Beta is an easy task. However, sometimes you might encounter small hurdles. This post tries to guide you through the installation. Start by registering and downloading your SharePoint 2010 Beta here.

Note: the related product key to your SharePoint 2010 Beta can be found in the Microsoft download page at the bottom. If for any case you are not able to locate your key, you might use these alternative product keys in this forum.

As you probably know, you have to use Windows Server 2008 x64 as your operating system. You can find the missing software requirements und this official link (“Installing software prerequisites” section).

Note: you can simplify the installation of your SharePoint 2010 by using the “Software prerequisites” option of the SharePoint 2010 setup. This enables you the required server roles and tells you which software requirements are missing. You can download the missing software packages here.

After you the prerequisites download and installation, you can start with the SharePoint 2010 installation. Similar as SharePoint 2007, the installation is subdivided into two steps. First, you install the binary files of SharePoint. Second, you start the SharePoint configuration Wizard” and create the corresponding central administration and configuration databases. Follow those easy steps:

  • enter your product key: enter the product key that you got during the installation. If you don’t have one, use following link.
  • read the Microsoft software license terms: accept the terms.
  • choose the installation you want: choose the standalone installation. The standalone installation installs automatically SQL Server 2008 Express on your local machine.
  • run configuration wizard: run the wizard and wait until the configuration finished. The configuration wizard creates the central administration and the configuration databases. Since you selected the standalone installation of SharePoint 2010, you don’t need to provide any additional information.

Possible exceptions you might encounter during the installation of Beta 2:

Exception 1: “Failed to create sample data. An exception of type Microsoft.Office.Server.UserProfiles.UserProfileException was thrown. Additional exception information: Unrecognized attribute ‘allowInsecureTransport’. Note that attribute names are case sensitive”.

You can solve this issue by removing the “allowInsecureTransport” from the configuration file that you can find under “C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\WebClients\Profile\client.config”. You should remove two occurrences of the “allowInsecureTransport” attribute.

exception2010

Exception 2: An exception of type Microsoft.Office.Server.UserProfileException was thrown. Additional exception information: The request channel timed out while waiting for a reply after xxx. Increase the timeout value passed to the call to Request or increase the SendTimeout value on the Binding. The time allotted to this operations may have been a portion of a longer timeout.

Restart IIS with an IIS reset (Type iisreset in the command line) and then go under the ASP.NET temporary folder (you might find it under C:\Windows\Microsoft.NET\Framework64\v2.0.50727\Temporary ASP.NET Files). You should delete the temporary folder composed as a GUID and rerun the SharePoint Products Configuration Wizard. You can find a better explanation about this issue here.

image

If you still get this issue after the above changes, try to modify the sendTimeOut attribute in the “C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\WebClients\Profile\client.config” file from 00:00:20 to 00:01:20. Afterwards, execute the above steps and run the Wizard again.

Saturday, January 16, 2010

SharePoint PowerShell for Beginners

Martin, a friend of mine, send me an interesting blog entry from Karine Bosh that is announcing a SharePoint PowerShell for beginners post series. You can check it here.

Note: I recommend to read the comments of the posting. There are some nice questions and solutions for additional topics regarding the usage of PowerShell in conjunction with SharePoint.

Friday, January 15, 2010

New release date for Visual Studio 2010

The Visual Studio 2010 beta period was extended. The planned date of march 22, 2010 was posponed to april 12, 2010. You can find the motivations and additional information here.

SharePoint Server 2007 on Windows Server 2008 – Part 5: Installing SharePoint Server

In this post of the post series SharePoint Server 2007 on Windows Server 2008, I’m going to setup SharePoint Server 2007 on the front-end server.

Walkthrough

Setting it up is quite straightforward and can be summarized as follows:

  1. install the SharePoint Server 2007 binary files on the target server(s), i.e., in our case the front-end server
  2. launch the SharePoint Products and Technologies Configuration Wizard and install the central administration and configuration databases
  3. Use the Central administration to configure the SharePoint configuration and farm

In this post we are proceeding with step 1 and 2. The last step will be explained in the last post of this post series.

Note: if you want to install an older version of SharePoint (pre SP2), you have to slipstream this version before, or it won’t be possible to install it on your machine. Se a related post here.

Step 1: Install the binary files

Now, let’s begin with the binary file installation. You can accomplish this task easily:

  • login with the setup user (in our case the SPSAdmin)
  • execute the SharePoint Server 2007 SP2 installer. If you have not SP2 integrated you can create your own slipstream installation. Check it here.

Note: if you are using Windows Server 2008 (as in our case), you are not able to install SharePoint Server 2007 without SP1. Make your own slipstream before proceeding with the installation. Watch out that Microsoft will soon only support SP2 installations of SharePoint 2007. Check here for more information.

  • Enter your Product Key: enter the product key and press enter.

Note: the standard and enterprise versions of SharePoint 2007 have different feature sets. There is no standard or enterprise installation disc. You choose the version of SharePoint 2007 by entering your product key (standard or enterprise). If you want to change your versioning from standard to enterprise, you don’t need to reinstall SharePoint again. You can do it simply by using an option in the Central Administration of SharePoint.

  • Read the Microsoft Software License Terms: accept the terms and press next
  • Choose the installation you want: press advanced and choose the complete server type and press install now.   
  • Run the SharePoint Configuration Wizard

Step 2: Launch the SharePoint Configuration Wizard

The first part is completed with the above steps. Now, we are going to finish this post by explaining the second step of the SharePoint 2007 setup. We need to run the SharePoint Configuration Wizard (we already started it automatically with the last option). With this wizard we are going to setup the central administration and configuration databases.

  • Welcome to SharePoint Products and Technologies: press next
  • Connect to a server farm: press “No, I want to create a new server farm” and press next
  • Specify Configuration Database Settings and then click next:
    • Database Server: the back-end machine
    • Database Name: SharePoint_Config
    • Username: DOMAIN\SPSAdmin
    • Password: the password of SPSAdmin

Note: SPSAdmin is used as farm administrator and machine administrator. You don’t need to assign at any case to SPSAdmin administrative rights. Check here for more information.

Note: if you are not able to connect to the database you might have forgotten one of following points:

    1. SPSAdmin (seen as setup account) is not administrator of the SQL Server instance.
    2. A Firewall blocks the communication between the front-end and back-end. So please open the SQL ports between the back-end and front-end. 
    3. You forgot to start the SQL Browser service of SQL Server.
  • Configure SharePoint Central Administration Web Application: specify a port number of the central administration (choose the port that you prefer) and press next
  • Completing the SharePoint Products and Technologies Configuration Wizard: press next and you have finished the first two steps of our installation

Summary

In this post we installed the SharePoint 2007 binary files and started the configuration wizard. In the next post of this series we are going to make basic SharePoint 2007 configurations.

 

Hope this helps,

Patrick

Thursday, January 14, 2010

SharePoint Server 2007 on Windows Server 2008 - Part 4: Installing SQL Server 2008

In this post of the post series SharePoint Server 2007 on Windows Server 2008, I’m going to explain how we install a SQL Server 2008 instance on our back-end server. I’m using SQL Server 2008 standard, but feel free to use any 2008 version that you prefer. You have only to consider the limitations of the different SQL versions and that you have to install at least SP1 on SQL Server 2008.

We already prepared our back-end server in this post. Now proceed with the SQL Server 2008 installation and follow those steps: In the SQL Server Installation Center go under Installation and execute New SQL Server stand-alone installation or add features to an existing installation:

  • Product Key: enter here your product key if necessary
  • License Terms: Accept the license terms and press next
    Setup Support Files: press install
  • Support Setup Rules: the support rules should light up green. In our case we have two warnings that should be solved. Follow the instructions for the warnings that presumably light up yellow under firewall rules should be added and .net application security
  • Feature selection: select the database engine node and its children   
  • Instance Configuration: press next
  • Disk Space Requirements: you should have enough disk space to install SQL Server 2008. Everything should light up green and press next
  • Server Configuration: use the same account for all SQL Server services (e.g., NT AUTHORITY\NETWORK SERVICES). Change the startup type of the SQL Server Browser from disabled to automatic
    • switch to the collation tab and press customize in the database engine section a new window opens. Change the settings as illustrated in the screen below and then press ok:

sqlserver collation

Note: don’t forget to setup the collation settings correctly. If one of those settings is not correctly set, you might not be able to install SharePoint Server 2007 using this SQL Server instance.

  • Database Engine Configuration: press add current user and add additionally SPSAdmin. Then click next

Note: you can add as many administration accounts as you want. During this step you can do it easily using this wizard window.

  • Installation Rules: the installation rules should be fine and press next
  • Ready to install: press install
  • Installation Progress: press next

And we are done.We installed our SQL Server 2008 on Windows Server 2008 R2.

 

Hope this helps,

Patrick

Saturday, January 9, 2010

SharePoint 2010: Professional Developer Evaluation Guide and Walkthroughs

During my daily blog readings I found an interesting article speaking about a developer guide for SharePoint 2010. This guide gives an overview of the new key features of Microsoft SharePoint 2010 from a developer perspective. The content is subdivided into two parts; First, it gives a general overview of the key features provided by the new system. Second, it ends with 6 interesting developer walkthroughs for SharePoint 2010. If you are interested you can  download it directly here.

Friday, January 8, 2010

SharePoint Server 2007 on Windows Server 2008 – Part 3: Preparing Windows Server 2008

In this post of the post series SharePoint Server 2007 on Windows Server 2008, I’m going to prepare the back-end server (server 1) and front-end server (server 2) that we mentioned in post 2 of this post series. In order to install SQL Server 2008 on server 1 and SharePoint Server 2007 on server 2 we need to install some prerequisites.

Let’s begin with the back-end server (server 1). I’m assuming that you are working with a fresh installation of Windows Server 2008 R2:

  • add SQLAdmin (your SQL Server service account) to the “Administrators” group
  • add the “.NET Framework 3.5” feature by using the server manager

The next requirements are installed on the front-end server (server 2). Again, I’m assuming that you are using a fresh installation of Windows Server 2008 R2:

  • add SPSAdmin (your SharePoint farm account) to the “Administrators” group.
  • add the “Web Server (IIS)” role by using the server manager
    • under the tab “role services” choose following
      • “Application development”
      • “Logging Tools”
      • “Tracing”
      • “Basic Authentication”
      • “Windows Authentication”
      • “Digest Authentication”
      • “Dynamic Content Compression”
      • IIS6 Management Compatibility”
    • finish the role installation
  • add the “.NET Framework 3.5” feature by using the server manager

Note: you don’t have to add the SQL Server and SharePoint Server service account to the “Administrator” group at any cost. In our case we are using those accounts as administrative accounts and not only service accounts. My motivation is to avoid creating too many accounts for the final installation (see also this blog entry). However, if you are interested in the creation of a system that is more restrictive, you can start reading this.

Thursday, January 7, 2010

Install SP2 for SharePoint Server 2007 as soon as possible (if not yet installed)!

Stefan Goßner writes here that the support for the SharePoint Server 2007 installation without expires on April 2010. It’s time to plan SP2 upgrades if you did not already installed them.

Sunday, January 3, 2010

How do I slipstream updates into an installation of SharePoint Server 2007 or Project Server 2007?

Slipstreaming updates into an existing installation disc means to integrate updates, patches or service packs, that where created after the installation disc. This gives you the possibility to create installation discs with the latest service packs and use them in your future installations, avoiding repetitive installation tasks. This post explains how to create a slipstreamed installation of SharePoint Server 2007 or Project Server 2007.

WALKTHROUGH

Slipstreaming SharePoint Server 2007 or Project Server 2007 is more or less the same task. This is because the service packs titled Office Servers include hot fixes for SharePoint Server 2007 and Project Server 2007. You can slipstream your installation disc by following three simple steps:

STEP 1: in your installation disc of SharePoint Server 2007 you can find either a folder x86 or x64. Copy you desired version to your local hard drive. The copied folder contains a subfolder called “Updates”.

STEP 2: depending of your installation disc you need to download the service packs. If you already posses a installation disc with SP1, you only need to download the SP2. Copy your downloaded service packs to a local folder:

STEP 3: Go to the service packs via command line and for each service pack execute following command:

    • “service pack name” /extract
    • a new window opens asking you the destination folder of your extraction. Now, select the “Updated” folder of your previously copied installation disc folder.

The difference between the slipstreamed version and the original disc version is the addition of the service packs or cumulative updates. When you start the installation of SharePoint 2007 or Project 2007, you will notice at the end the installation of these updates at the end of the setup.

Summary

This post explained what slipstreaming SharePoint means and how you can do it with SharePoint Server 2007 and Project Server 2007.

 

Hope this helps,

Patrick

Saturday, January 2, 2010

SharePoint Server 2007 on Windows Server 2008 – Part 2: The software requirements

In this post of the post series SharePoint Server 2007 on Windows Server 2008, I’m going to write about the software and user requirements needed by our environment.

SharePoint Server 2007 can run on different platforms such as Windows Server 2003 and above and SQL Server 2K and above. If you want, you are also able to install SharePoint 2007 on a SQL Server Express edition.  The software requirements of our system are listed below:

  • 2 x Windows Server 2008 R2 – x64
  • 1 x SharePoint Server 2007 Standard or Enterprise - x64
  • 1x SQL Server 2008 SP1 – x64

If you want to use different Windows or SQL Server software, the final installation changes only slightly. However, it should be possible to follow the steps of this tutorial and create our final environment.

As you probably already know, SharePoint Server 2007 can be installed either on x32 or x64 architectures. It is strongly recommended to install it now on x64 architectures for the following reasons:

  • x64 systems can manage better the so called memory pressure issue (more information on Stefan Goßner’s blog or search in your preferred search engine by using keywords “memory pressure of moss 2007” or “memory leak of moss 2007"”)
  • x64 manages more RAM and the machine can be extended any time. Depending on your usage, RAM could become a bottleneck of your system
  • x64 is a requirement for SharePoint Server 2010. Please note that this is one of the different requirements of the new version of SharePoint. If you plan to migrate this system to 2010, please consider the other software requirements (Windows Server 2008 x64 and above, SQL Server 2005 x64 and above).

SharePoint Server 2007 can run with a single user account. Nevertheless, it’s recommended to create more uses for security reasons. Each user has it’s own roles and rights needed to run SharePoint. For new SharePoint Server 2007 installations I'm going to use the following list of users:

  • SPSAdmin: an account for the SharePoint farm administrator. We will also use this account as installation account of SharePoint.
  • SPSApp: an account to manage the Shared Service Providers
  • SPSSearch: an account for the search in SharePoint
  • SQLAdmin: the SQL Server administrator

Please note that after the installation of the system you probably need to create more users. A rule of thumb is to use a user for each web application that is created in SharePoint 2007. This user manages the application pool of the web application.

In addition, it’s strongly recommended to use Active Directory users for a multi-server installation. If for any reasons you can’t do that, you can create local users, but you have to stick on a single-server solution.

Friday, January 1, 2010

SharePoint Server 2007 on Windows Server 2008 – Part 1: The architecture

In this post of the post series SharePoint Server 2007 on Windows Server 2008, I’m going to give a general overview about the system architecture we are going to implement.

Microsoft SharePoint Server 2007 is organized modularly in server roles and can either installed as a single-server or multi-server solution. The multi-server solutions in SharePoint are called server farms, while the single-server solution is called standalone installation. The server farm is very flexible and scalable, because you can start creating a small farm consisting of two machines. When needed, you are able to expand this farm with additional servers (front-ends or back-ends) without any issues.

This blog series describes the installation of two different servers with following roles:

  • Server 1 (back-end): is our SQL Server 2008 installation, which is not directly accessed by our customers. Therefore, it should be secured by your firewall respectively. This server stores all information needed by SharePoint 200 to run (SharePoint configuration and data itself).
  • Server 2 (front-end): has the SharePoint 2007 binaries and support files installed. It is directly accessed by our customers and serves them with the services enabled in SharePoint (Querying, Web Content, Application Server, etc.). SharePoint itself communicates with the SQL Server on server 1. So its important to remember to open the SQL ports needed for the communication between server 2 and server 1.

Both servers are member of Active Directory and need a couple of users before we start the installation. There is also a way to install SharePoint 2007 with local users. Please note that you can’t create a multi-server solution if you are going to us local users. The list of users needed for this installation can be found in the second part of this post series.

SharePoint Server 2007 on Windows Server 2008 – Introduction

For the new year I want to start a small blog series talking about an installation of SharePoint Server 2007 on Windows Server 2008. This 6 part post series explains how to setup a dual server environment consisting of a front-end with SharePoint 2007 and Windows Server 2008 and a back-end with SQL Server 2008 and Windows Server 2008. This guide also holds for single server or developer installations with slightly modifications.

Contents

 

Enjoy,

Patrick