April, 2010

  • Jie Li's GeekWorld

    FAQ: SharePoint 2010 RTM Installation


    #Update: Windows 7/Vista  SharePoint install guide link

    #Update: KB979917

    There’re a couple of things you would like to know when deploy SharePoint 2010 RTM.

    Q: Where can I find hardware and software requirements?

    You should check http://technet.microsoft.com/en-us/library/cc262485(office.14).aspx. Also, you can download all the pre-requisites here for offline install.

    Q: How to specify the file locations for Prerequisite Installer?

    You can check the parameters through command line with:

    PrerequisiteInstaller.exe /?

    A dialogue will popup and show all the parameters.


    A typical use of Prerequisite Installer in offline mode (Windows Server 2008 R2):


    Just a note: You don’t need to specify FilterPack parameter. It is included in the installation media.

    Q: Can I manually install those prerequisite before I run Prerequisite Installer?

    Yes. After downloaded all the prerequisites and installed them manually, you can run Prerequisite Installer to setup application server/web server roles for your server box. It will then check if you have installed all the prerequisites correctly.

    Q: Is there anything I should install after the prerequisite installer?

    You also need to install ADO.NET Data Service update. This is used for the services like REST web services.This component is not installed by prerequisite installer because its RTM date is too late to make into the code. The prerequisite installer will be updated at SP1 to include it.

    UPDATE: If you want to use claims, you need to apply KB979917 for ASP.Net. It can be downloiaded here directly: http://code.msdn.microsoft.com/KB979917/Release/ProjectReleases.aspx?ReleaseId=4033

    Q: I want to install SharePoint on Windows 7/Vista but Prerequisite Installer is blocked.

    Yes. Prerequisite Installer is blocked on Windows 7/Vista.  The guidance for developers will be updated on MSDN later.  is here: http://msdn.microsoft.com/en-us/library/ee554869(office.14).aspx

    Q: Does Prerequisite Installer install SQL Server updates for me?

    No. It cannot install SQL Server updates. You need to confirm that the SQL Server meets the requirement: SQL Server 2005 SP3 with CU3, SQL Server 2008 SP1 with CU2, or SQL Server 2008 R2.

    Q: Do you have a Windows PowerShell script to help me to deploy SharePoint 2010 farm?

    Yes. SPModule has been released to the download center. It can be downloaded here: http://www.microsoft.com/downloads/details.aspx?FamilyID=c57556ff-8df0-44fd-aba6-3df01b9f80ce&displaylang=en

    It provides the following commands: Install-SharePoint, New-SharePointFarm, Join-SharePointFarm, and Backup-Logs.

    For more information on this module, please check Zach Rosenfield’s blog.


    Q: When I install SharePoint on a domain controller(DC), Setup doesn’t give me any option to choose from server farm/standalone installation.

    A: This is a designed behavior. SQL Server Express 2008 is not supported on a domain controller, so the standalone mode of SharePoint installation is removed when administrator tries to deploy on a DC. If you really want to override this behavior for demo/dev purpose, you can try:

    setup.exe /config FILES\SETUP\config.xml

    This will install a SingleServer(Standalone).

    A complete list of the parameters can be shown with setup.exe /?

    Q: Where can I download language packs for SharePoint 2010?

    The language packs will be available on download center later. We will also give a update on all language offerings on team blog.

    Q: Do I need to apply language packs of SharePoint Foundation AND SharePoint Server on a server installation?

    No. You only need to apply the server language packs for a SharePoint Server installation. These server language packs cover SharePoint Server, Search Server, Office Web Apps, Project Server and FAST Search Server for SharePoint.

    Q: I only see a English version of FAST Search Server for SharePoint. Where're the localized ones?

    FAST Search Server is provided natively in English SKU. The localization is done by language packs.

    Q: What is the patch/update release cycle for SharePoint 2010? Will you still have those CU packages?

    SharePoint 2010 still uses the same patch/update cycle – we will have cumulative updates for every two months. Server-packages will still include all the components for update. The next CU will be June.

    Q: Can I upgrade pre-RTM SharePoint 2010 installations to RTM? If in-place upgrade is blocked, then can I use database attach?

    No, this is blocked by code. DB attach is also blocked.

    Q: I don't have access to MSDN/TechNet Subscriber download! When can I download the trial bits of SharePoint Server 2010? How about FAST Search Server? Search Server?

    Trial bits will be provided on download center around the time of launch (5/12).

    Q: Can I install Office Web Apps on SharePoint Server Trial?

    No. The installer prevents you from mixing different types of license (retail vs. trial). You can install Office Web Apps on SharePoint Foundation 2010, or licensed SharePoint Server 2010.

    Q: Should I tell my users to use Office 2010 x64 to get better performance?

    No.  Please refer to http://blogs.technet.com/office2010/archive/2010/02/23/understanding-64-bit-office.aspx

    If you’re trying to decide between 32-bit and 64-bit Office, you should ask yourself what your needs are. Are you an Excel power user working with huge amounts of data? Do you need to work with file sizes greater than 2 GB? If so, then you would benefit from 64-bit Office being able to utilize more memory. If not, we’re recommending 32-bit Office 2010 as the default installation on both 32-bit and 64-bit Windows mainly due to compatibility with existing 32-bit controls, add-ins, and VBA.

    Q: When I use Word/PowerPoint Web Apps on a domain controller, I have errors poped out.

    Warning: Office Web Apps should not be installed on a domain controller - this is not supported and may bring security risk to your DC. Your can find the related KB here: [link not live yet]:

    Both the Word Viewing Service Application and the PowerPoint service application sandbox their converter processes. The way by which the sandbox works is incompatible with security restrictions on a domain controller. It is sandboxing converter processes that could potentially cause a successful exploited security vulnerability in SharePoint or Office Web Apps. This security compromise could cause catastrophic results to the Domain Controller.

    The following script can help to enable Office Web Apps on a DC. (with security risk)

    Open SharePoint 2010 Management Shell, then run:

    #Enable Word Web App:

    $e = Get-SPServiceApplication | where {$_.TypeName.Equals("Word Viewing Service Application")}
    $e.WordServerIsSandboxed = $false

    #Enable PowerPoint Web App - you need to answer "Y" for each command:

    Get-SPPowerPointServiceApplication | Set-SPPowerPointServiceApplication -EnableSandboxedViewing $false
    Get-SPPowerPointServiceApplication | Set-SPPowerPointServiceApplication -EnableSandboxedEditing $false

    On the server, use Notepad to open c:\windows\system32\inetsrv\config\applicationHost.config.  Add the line below at the end of the dynamicTypes section.
    <add mimeType="application/zip" enabled="false" />

    Then do a IISRESET /NOFORCE. Please note all files viewed (already have cache created) before these commands need to be re-upload again to make sure them work with Office Web Apps. Please note the service application name could be different if you are working on a SKU that's not English. 中文版的尤其要记得把Word Viewing Service Application改名!!!

    I’ll continue to update this post when more questions come.


  • Jie Li's GeekWorld

    SharePoint 2010 Search Engine Optimization (SEO) Tips


    When you want to build a Internet facing site, Search Engine Optimization(SEO) is always very important. Who doesn’t want their sites to be visited by more people? However, SEO is not a very simple task, it needs to be planned at the very beginning of the site construction.  I worked on many sites before, different topics, but they all landed into the first page of search engine results for certain keywords. I didn’t use any black hat tricks in my work, they might have better result at the beginning, but they would get punished when search engines improves. Of course – always make sure you have awesome content in the sites, that is the key. Remember, by following the right way, even a site with all hand-crafted static HTML pages could get much more traffic than a complex WCM system.

    Let’s take a look at my quick check list of SEO:

    1. Use meaningful site names and page names to create “friendly” URLs.
      Think about these examples:
      Which one would be more likely to get traffic? Definitely that’s not the first one. How about the second and the third? Most of the time the second one will get more traffic, depending on the keywords. Pages with a very deep URL (sites1/sites2/sites3/sites4/page1.html) is unlikely to get a better ranking.  In SharePoint 2010, you need to carefully plan your site infrastructure and page names so it can be more meaningful to the crawlers and the users.
    2. Great Page Titles
      Do give the pages better title, it’s one of the important factor for search, from the query algorithm to user experience.  For example, “Untitled” “New-Page-1” does not make sense. Even if it can be shown in the result, very few people will likely to click on it. Good page title would be something like the site intro page title for example: “SharePoint is Awesome – Trainings, Demos, Hands on Labs” or a sub site page title: “SharePoint is Awesome – Search Engines Optimization Explained”.
    3. Accurate Meta Elements.
      Search Engines uses meta elements like <description> , <language> and <robots> to crawl the pages. <keywords> is no longer used. Within the three, <description> has more influence on the ranking.  You can customize these meta elements with SharePoint Designer.
    4. Up-to-date Sitemap.xml and Robots.txt, and even a HTML sitemap page that provides all the links.
      Sitemaps can be submitted to search engines, and they can also be picked up with the reference from Robots.txt.  For SharePoint 2010, you can use my script here:  Generate SharePoint 2010 Sitemap with Windows PowerShell to create the sitemap file. And then use Task Scheduler to run it everyday. Robots.txt can be used to point search engines to the sitemap files, and prevent some of the folders from being crawled.
    5. Search Engine Friendly Redirects
      Some search engines, prefer 301 (Permanent) redirects to 302 (Temporary) redirects. Out of the box SharePoint uses 302 redirects to maintain flexibility of site creations and variations.  But you can override this behavior by different methods. For example this and this are achieved by using URL Rewrite Module in IIS SEO Kit.
    6. Search Engine Friendly Menus and Navigations
      Use Text! Avoid from using Flash/Silverlight/Javascripts for navigation menus because they are hard to be picked up by the crawlers. If you have to use technologies for menus , provide an alternative if possible. Don’t forget accessibility is also very important, although not quite related with SEO.
    7. Faster Page Response Time.
      Recently Google put site speed into their ranking calculation algorithms. This is not a very important factor, but worth considering. Something can be put into consideration are caching, load balancing, network infrastructure optimization. In SharePoint 2010, Developer Dashboard is a great feature to help to analyze page loading time – for example webpart loading time.  In this way you will know if some webparts should fixed or removed.

    8. Better anchor text for links, alt text for images.
      Anchor text can give search engines better understanding for the pages pointed to. You can take it as “another title” for the target pages. Alt text for images are also good to have.
    9. Always provides text based content for rich media.
      Think about a video file, a Flash/Silverlight application or a podcast on your website, how can it be indexed and showed in search result? Title and tags are important. But more importantly, you can improve the result by providing transcript to the video/audio, or text alternatives to your Flash/Silverlight applications. Certain features in Silverlight can also help. For more information on Silverlight SEO, please check http://www.silverlight.net/learn/whitepapers/seo-for-silverlight/.
    10. Use Webmaster Tools to submit sitemap, check results.
      Search Engines provide webmaster tools to help people to submit and optimize their sites.
      Bing: http://www.bing.com/webmaster
      Google: http://www.google.com/webmasters/tools/

    This checklist can help you to start with your project. But don’t forget to promote your site as much as you can. More links coming from important websites can bring up your ranks significantly. And don’t use spamlinks or hidden text – these can get your site a very low score in the long time.


  • Jie Li's GeekWorld

    Don’t Miss SharePoint 2010 Capacity Management Center!


    If you are looking for SharePoint 2010 capacity planning guidance, the first stop should be the Capacity Management Center on TechNet.

    Some of the best bets there:

  • Capacity management and sizing overview
  • Software boundaries and limits <- Everyone should get this!
  • Storage and SQL Server capacity planning and configuration
  • Topologies for SharePoint Server 2010 (model) <- Great Visio diagram – I’m considering to print out some of that and give out to people Smile
  • Hardware and software requirements (updated for RTM)
  • Designing large lists and maximizing list performance

    We will have more and more coming in the following days…



  • Jie Li's GeekWorld

    Track SharePoint 2010 Installations by Service Connection Point (AD Marker)


    A new improvement in SharePoint 2010 is the support of Service Connection Point (Active Directory Marker). This can help IT Professionals to track SharePoint 2010 installations in their environment.

    To use this new feature, administrator needs to create a container in Active Directory then set the right permission to the container before they implement SharePoint 2010 products in their environment. This can be done through ADSI Edit. Here’re the steps:

    1. Start ADSI Edit on your domain controller, or use remote administration tool to connect to it from another machine.

    2. Expand System.


    3. Right click in the white area then choose New, Object…


    4. Create a container.


    5. Fill in the container name, by default this should be Microsoft SharePoint Products. You can use other names, but you need to create a group policy for the domain machines to set a string value ContainerDistinguishedName under registry key: HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\SharePoint. In this way PSConfig can detect the new name and change it accordingly.


    6. Click Finish. The container is created.

    snap0080 snap0081

    7. Right click on the container, choose Properties.


    8. Click Security.


    9. Add the users you want to write to this container, and give them Create serviceConnectionPoint objects permission by clicking Advanced, then edit the object. When users who cannot write to this container install SharePoint 2010, no new entry will be created. A wise idea would be give Authenticated Users the permission so to track all the objects.


    10. Install and provision a new SharePoint farm in the environment, and check if the SCP has been created successfully.  If everything works, you can find a new GUID object under Microsoft SharePoint Product Container. Right click it and select Properties, you can find that the server farm’s topology web services is recorded here. In this case it is https://sp2010:32844/Topology/topology.svc


    I will post a script for listing all the SharePoint 2010 server names in Script Center later.

    Update: the script is here: http://gallery.technet.microsoft.com/ScriptCenter/en-us/af31bded-f33f-4c38-a4e8-eaa2fab1c459



  • Jie Li's GeekWorld

    So we got RTM now, what’s next?


    I don’t think any of my blog readers can miss the big announcement today: SharePoint 2010 reaches RTM! so I’m not going to tell you thatSmile

    I was in the Atrium of B16 when the “Big Release Button” was pushed – lots of engineering folks gathered there and looking at sign off process running on the big screen.  People broke into wild cheers when it’s done. You can imagine the happiness at that time.

    But for me, the majority of the works has just been started – we need to make sure with this release, you can get great planning guidance, great documentation, great labs and trainings for all your needs.  If you have any concerns about the materials, just ping me – send me a message through the blog or follow my twitter account at http://www.twitter.com/jiel.

    There’ll be a huge amount of materials coming – for example, TechNet has already started to publish the content for RTM. One of my favorites is the following:

    Plan browser support (SharePoint Server 2010) 

    Instead of the Level 1/2/3 statement for browser support, we listened to the feedback of our partners and customers. In this article we documented all the limitations for the browsers we tested. If you want to know the limitation of Firefox or Safari with SharePoint 2010, this is definitely the place you want to check.

    On the launch day of May 12th, we will release VMs, Eval Guides, HOLs, Virtual Labs, Training Videos… Don’t forget to register for the virtual launch event! We will have live Q&A hosted at that time.


    But for now – I really need to take some restSmile



  • Jie Li's GeekWorld

    The New SharePoint Category in TechNet Script Center


    To help the community to contribute their SharePoint ideas with the power of Windows PowerShell, we created a new SharePoint category in TechNet Script Center Repository. Now you can submit your own scripts and share them with the community!

    This is how it looks…We moved the scripts in the old sub category underneath Office to this new one. Several sub categories are created to help you to find the right script you want.



    The sub categories:


    If you want to contribute the repository, click the “Upload” button on the upper right corner.

    Choose the right category, it should be SharePoint


    Paste your scripts, then fill in the detail descriptions


    Review the result, then publish it!


    My first submission on the script center is done   SmileSmileSmile


    There're only 10 scripts now. Come and share your scripts!


  • Jie Li's GeekWorld

    Generate SharePoint 2010 Sitemap with Windows PowerShell


    #Update: This script has been submitted to SharePoint category in TechNet Script Center Repository. 

    If you are working on SEO project for your internet facing SharePoint site, one of the top thing would be sitemap generation. There’re quite a few sitemap generation tools on the market, including the sitemap tool in SEO Toolkit for IIS. But do you know you can achieve this just by Windows PowerShell script? It is quite flexible, and easy to customize and automate.

    So here is something you can leverage….

    New-SPSiteMap Script

    function New-SPSiteMap
        param($SavePath="C:\inetpub\wwwroot\wss\VirtualDirectories\80\SiteMap.xml", $Url="http://sharepoint")
        $web=Get-SPWeb $url
        $list = $web.Lists | ForEach-Object -Process {$_.Items}| ForEach-Object -Process {$_.url.Replace(" ","%20")}
        #excludes directories you don’t want in sitemap. you can put multiple lines here:
        $list=  $list | ? {$_ -notmatch "_catalogs"} 
        $list=  $list | ? {$_ -notmatch "Reporting%20Templates"} 
        $list=  $list | ? {$_ -notmatch "Reporting%20Metadata"} 
        $list | New-Xml -RootTag urlset -ItemTag url -ChildItems loc -SavePath $SavePath
    function New-Xml
        param($RootTag="urlset",$ItemTag="url", $ChildItems="*", $SavePath="C:\SiteMap.xml")
        Begin {
            $xml="<?xml version=""1.0"" encoding=""UTF-8""?>
            <urlset xmlns=""http://www.sitemaps.org/schemas/sitemap/0.9"">"
        Process {
            $xml += " <$ItemTag>"
            foreach ($child in $_){
            $Name = $child
            $xml += " <$ChildItems>$url/$child</$ChildItems>"
            $xml += " </$ItemTag>"
        End {
            $xml += "</$RootTag>"

    You can download the script here. This script does have some limitations – for example, I didn’t use http encode for the urls so if you have urls in Chinese, they may not be able to be accessed. But certainly one of the best practice of SEO is to avoid using these languages in the url which may cause such encoding. I didn’t implement <lastmod> either.

    Usage: New-SPSiteMap –Url [sitename] –SavePath [yoursiteroot\sitemap.xml]

    For example, I want to create a sitemap for a SharePoint demo site, so I first need to load the functions into my SharePoint Management Shell, then do the following:

    New-SPSiteMap –Url http://www.sharepointisawesome.com –SavePath C:\inetpub\wwwroot\wss\VirtualDirectories\80\sitemap.xml

    Robots.txt Customization

    The next step is to create a robots.txt with the following content, replace yoursitename with domain name:

    Sitemap: http://yoursitename/sitemap.xml

    This is to make sure search engines can pick up your sitemap file directly when they read robots.txt. Save it to the same root directory of your SharePoint site.  For example: C:\inetpub\wwwroot\wss\VirtualDirectories\80\

    Do a iisreset to ensure the new sitemap.xml and robots.txt can be loaded.  Done!

    Search Engine Submission

    You can wait for search engines to read your robots.txt and sitemap, or directly submit the sitemap to them.

    Example: Submit a new site to Bing.com:


    Fill in web address and sitemap address, then follow the validation instructions.


    Automate Sitemap Generation Process

    If your site structure is updated frequently, you can also schedule the script to run everyday. This can be achieved by task scheduler. I will not go into the detail here, but don’t forget to use Add-PSSnapin Microsoft.SharePoint.PowerShell to load the snapin before you load the functions.


  • Page 1 of 1 (7 items)