Thursday, July 19, 2007

Enumssptimerjobs: STSADM operation (Office SharePoint Server)

The primary purpose of this operation is for an administrator to list all timer jobs in the SSP especially if a computer had Microsoft Project Server installed, and then was uninstalled. In this scenario, the Project Server SSP timer jobs still exist in the SSP database even though Project Server is not installed on the computer. To delete these orphan timer jobs, use the Deletessptimerjob operation. For more information about timer jobs, see the Remarks section of this article.


stsadm -o enumssptimerjobs


'stsadm -o canceldeployment' when a solution deployment is already under way

If a SharePoint solution deployment fails, yet the timer job is created and not running, you will be unable to redeploy or retract the solution. The retract / deploy buttons will not be present in Central Admin and stsadm will declare that a "deployment or retraction is already under way for the solution". You can find yourself in this state if the “Windows SharePoint Services Administration” service is stopped when you first attempt to deploy, but even after you realise your mistake and start that service, the solution deployment is still stuck.
The answer is hidden in that long list of stsadm operations:

stsadm –o canceldeployment –id

Saturday, June 23, 2007

Create Page Access Denied

Users need to be in the Readers group for the Master Page Gallery in order to create pages in the portal.

Wednesday, May 16, 2007

Deploying Web Parts using CAB files

  1. For ease of deployment, copy the .cab file to the following location, where Office SharePoint Server 2007 is installed:

    C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\bin

    This should be the same as the location of Stsadm.exe. Ensure that you update the path on your computer if it does not match the default location.

  2. Click Start, click Run, and then type cmd.

  3. Type cd "C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\bin"

  4. Run the following command to deploy your Web Part accross the entire farm:

    stsadm.exe -o addwppack -filename -globalinstall -force

  5. Run the following command to deploy your Web Part to a specific website:

    stsadm.exe -o addwppack -filename -url http://teleport -globalinstall -force

  6. After the command returns with "Operation completed successfully," run the following command:

    iisreset /timeout:0

  7. Check central administration / solution management to see where the solutions are registered as deployed by SharePoint.

Sunday, May 13, 2007

MOSS Site Usage report error (and crash)

This happened today;

The symptom of the problem is that when trying to access the site usage reporting in MOSS the user (who does have access) is prompted to authenticate, upon failing to authenticate the worker process falls over.

The app event reports the following error: .NET Runtime version 2.0.50727.42 - Fatal Execution Engine Error

The SSP1 & Portal application pools both stopped running.

The resolution is the application of a non-public hotfix to 2.0:

Web Application Creation Fails

Recently while creating new web applications, I received the following error:

Application Server Administration job failed for service instance Microsoft.Office.Server.Search.Administration.SearchAdminSharedWebServiceInstance (ae1bb579-16f8-4ad3-9d60-decfb589e3ae).

Reason: The path specified cannot be used at this time. (Exception from HRESULT: 0x80070094)

Techinal Support Details:

System.Runtime.InteropServices.COMException (0x80070094): The path specified cannot be used at this time. (Exception from HRESULT: 0x80070094)

at System.DirectoryServices.DirectoryEntry.CommitChanges()

at Microsoft.SharePoint.Metabase.MetabaseObject.Update()

at Microsoft.SharePoint.Administration.SPProvisioningAssistant.ApplyIisVirtualDirectorySettings(VirtualDirectory virtualDirectory, String path, AccessFlags accessFlags, String applicationName, String applicationPoolId, String[] scriptMaps)

at Microsoft.SharePoint.Administration.SPProvisioningAssistant.ProvisionIisRootVirtualDirectory(WebSite webSite, String path, AccessFlags accessFlags, String applicationName, String applicationPoolId, String[] scriptMaps)

at Microsoft.SharePoint.Administration.SPProvisioningAssistant.ProvisionIisWebSite(String serverComment, String[] serverBindings, String[] secureBindings, AuthenticationMethods authenticationMethods, String[] authenticationProviders, String path, AccessFlags accessFlags, String applicationName, String applicationPoolId, String[] scriptMaps, String sslCertificateSubjectName)

at Microsoft.SharePoint.Administration.SPMetabaseManager.ProvisionIisWebSite(String serverComment, String[] serverBindings, String[] secureBindings, Int32 authenticationMethods, String[] authenticationProviders, String path, Int32 accessFlags, String applicationName, String applicationPoolId, String[] scriptMaps, String sslCertificateSubjectName)

at Microsoft.Office.Server.Administration.SharedWebServiceInstance.Synchronize()

at Microsoft.Office.Server.Administration.ApplicationServerJob.ProvisionLocalSharedServiceInstances(Boolean isAdministrationServiceJob)


Restart the WSS Timer service

the WSS Timer service leaks memory

MOSS Content Deployment Settings

The Content Deployment Settings are configured via Central Administration under Operations


  1. The site you deploy content to should use a separate content database from the source site.
  2. The site you deploy to must be initially created as a blank site.
  3. You can deploy content to sites with all relationships - ie: within a farm, between 2 web apps or between separate farms.

To set up content deployment between farms:

  1. Configure content deployment settings
    1. Enable content deployment jobs in Central Administration by setting CDS to Accept incoming content deployment jobs.
    2. Set the import & export servers
    3. Set the connection security to Do not require encryption
    4. Create a new blank site in the destination farm.

  2. Create a new Content Deployment Path
    1. Assign a name & description
    2. Select the source web application & site collection.
    3. Assign the URL for the destination Central Administration Server eg: http://dev01w2k3:11111
    4. Click on the Connect button.
    5. Select the desitination web application & site collection.
    6. Select whether you want to deploy user names & security information.

  3. Create a test one time deployment job
    1. Assign a name & description
    2. Select the content deployment path
    3. Specify whether the job should be site specific or accross an entire site collection.
    4. Leave the frequency & options as their default values.
    5. Click Ok.

  4. Run the one time test deployment job
    1. Open the One time deployment job drop down list and select Run Job.
    2. Refresh the page so that Running is displayed in the status column. Click on running to view the deployment process report page.
    3. If successful the status will change to Successful on completion.

  5. Schedule the Quick Deploy job
    1. Assign the frequency of the schedule.
    2. Check the quick deploy users.
    3. Set up notifiaction if required.

  6. Assign Quick Deploy content in the source website
    1. Go to your source website and edit a page.
    2. Publish your changes.
    3. From the Tools drop down list select Quick Deploy.
    4. The changes will be updated at the next scheduled job.

MOSS webpart errors due to log file storage issue

The webparts on MOSS bombed out yesterday morning with the following error message:

Web Part Error: One of the properties of the Web Part has an incorrect format. Windows Sharepoint Services cannot deserialize the Web Part. Check the format of the properties and try again.

The cause turned out to be the log files generated by MOSS which had increased in size to 5Gig and clogged up the c:drive

The log files are set up to be stored on the d:drive not the c:drive as are Indexes & Queries.

Each was originally configured as follows:

  • Indexing: D:\MOSS\12.0\Data\Office Server\Applications
  • Queries: D:\MOSS\12.0\Data\Office Server\Applications

Diagnostic Logging -

  • Error Reports: Collect
  • Event Throttling: Warnings / High
  • Trace Log: 72 - 30

Usage Analysis Processing -

  • Logging Settings: Enabled to create 1 log located at d:\MOSS\12.0\Logs\Usage
  • Process Settings: Enabled between 10pm & 12am daily

This is still being investigated by reducing the amount & frequency of log files generated while monitoring the situation over the next 4 weeks

Thursday, April 12, 2007

User access to MOSS blocked

This is so far unresolved

A user is unable to access the portal.

They changed their password 3 weeks ago. The error msg they get is as follows:

The local security authority cannot be contacted.

They can access the portal when logging in as themselves through someone elses PC, but not their own.

Their profile has been reset and we can access using a runas cmd.

Google suggested this...

See link for full details:

When a student changes his/her Windows password after being prompted, they are unable to access their Sharepoint sites (ERROR: "The local security authority cannot be contacted") although they can still log in to Windows. Our workaround to this at the moment is to temporarily make the student an administrator (the command prompt is blocked for students), log them in to Windows and use the command prompt to run "control keymgr.dll" and delete any stored usernames and passwords for Sharepoint. Once that is done we can remove the admin privileges and they can log in OK. The only time this is not a problem is when the user changes their password at the end of the day because some sort of synching is set to run overnight that resolves the issue.

Wednesday, April 04, 2007

Site Security

Site security proved to be a bit of a nightmare - needless to say once we figured it out it turned out to be really straight forward.

Each site collection in the farm has been secured using new & existing Active Directory (AD) groups in the domain.

The Intranet portal site collection has one SharePoint security group called Viewers which contains the AD group: DOMAIN\adm dl u portal domain users and which is set to Read, Restricted Read & View Only. This enables all domain users to access and view unsecured content across the site collection.

Each site within the portal site collection either inherits the top level or is set up with individual permissions. In most cases the permissions are individual with AD groups specified as required to grant access & visibility to specific user groups.

Monday, April 02, 2007

How to set a custom default master page for all site definitions in WSS 3.0

In WSS3 you can set the masterpage of a site using SharePoint designer, just rightclick the new masterpage and set it to default.

This method however, does not set all the new created sites with the new masterpage. So, how can we deploy the new masterpage?

  • Put the new masterpage in the following directory: C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\GLOBAL
  • Go to C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\GLOBAL\XML and open de ONET.XML.
  • At the bottom of the page add a new masterpage entry so it will look something like this:


<Module Name="DefaultMasterPage" List="116" Url="_catalogs/masterpage" RootWebOnly="FALSE">

<File Url="[any name].master" Type="GhostableInLibrary" IgnoreIfAlreadyExists="TRUE" />

<File Url="default.master" Type="GhostableInLibrary" IgnoreIfAlreadyExists="TRUE" />



This code will automatically put your custom masterpage into the masterpage gallery when a new site is created.

  • Change the default masterpage to the new one. Look for the following line: <Configuration ID="0" Name="Default" MasterUrl="_catalogs/masterpage/default.master"> and change it to your new masterpage.
  • Hit save, and do an IISRESET.

Now create a new site and the new master page is set automatically.

Beware that when you create a master page with SharePoint designer you cannot just export the master page to the filesystem, because it will mess up your master page code. You can better copy the master page code to notepad, and save it as your master page on the filesystem.

Daylight Saving Delay

Since the clocks went back timer jobs are delayed by 1 hour

So far there is no MS hotfix for this.

Error when trying to delete a page layout in MOSS: This item cannot be deleted because it is still referenced by other pages

This info comes from:

After deactivating & uninstalling a feature (CustomMasterPages) and reinstalling it again the original page layouts & masterpages still remain in the "Master Page and Page Layout Gallery".

Trying to manually delete the files from the gallery gives the following error:

"This item cannot be deleted because it is still referenced by other pages"

The problem is mentioned in the following KB article:

The KB proposes changing the master page properties to Hidden.

Alternative workaround:

  • Create a new sub-folder in the master page gallery
  • Move the page layout to the new folder using SharePoint Designer
  • Delete the complete folder

Setting the master page for My Site (half way there)

Well it works for me so time for a pint then ;)

Actually there's a small breakthrough; it also works for everyone else, but only on the My Profile page.

To do this open My Site in SharePoint Designer and open the Person.aspx file.

At the top of the page change the master page reference to point to your custom master file:

  • MasterPageFile="_catalogs/masterpage/CustomMaster.master"

This should update all My Sites

Creating a Custom Master Page & Deploying it as a Feature

First of all thanks to Heather Soloman who posted a great article about this Create a Feature: Master Pages for Site Collections.

Here's how i set up the Custom Masterpages and depoyed them as a feature:

Create the Feature

  1. Create a folder called CustomMasterPages under the Features directory on the web server.
  2. Inside the CustomMasterPages folder create the folders:
    • en-us
    • Images
    • Styles
    • MasterPages
    • PageLayouts
    • JavaScript
  3. Copy these two files from the Features directory PublishingLayouts:
    • Feature.xml, and
    • ProvisionedFiles.xml
  4. Create a file in the MasterPages folder called CustomMaster.master
  5. Open CustomMaster.master in notepad and paste the following minimal master page code from Microsoft.
  6. Alternatively Heather Soloman has created another version of the minimal master page which is the version I used in the end. The reason for this is that Heather's version is a stripped out version of the default.master master page which includes all the functionality available. The Microsoft version has only the minimal elements included.
  7. Format the master page with XHTML tags & CSS.
  8. Change the doc type to XHTML transitional.

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "">

  9. Edit the ProvisionedFiles.xml file to provision the master page, CSS files & images etc.

    <!-- _lcid="1033" _version="12.0.4407" _dal="1" -->
    <!-- _LocalBinding -->
    <Elements xmlns="">

    <Module Name="OSGMasterPages" Url="_catalogs/masterpage" Path="MasterPages" RootWebOnly="TRUE">
    <File Url="tr_portalMaster.master" Type="GhostableInLibrary">
    <Property Name="ContentType" Value="Teleport Master Page - DEFAULT PORTAL LAYOUT" />
    <Property Name="PublishingPreviewImage" Value="~SiteCollection/_catalogs/masterpage/$Resources:core,Culture;/Preview Images/tr_teleportLogo100.gif, ~SiteCollection/_catalogs/masterpage/$Resources:core,Culture;/Preview Images/tr_teleportLogo100.gif" />
    <Property Name="MasterPageDescription" Value="This is the TelePort master page (DEFAULT CSS LAYOUT) for use with collaboration or publishing sites." />
    <Module Name="PublishingLayoutsPreviewImages" Url="_catalogs/masterpage" IncludeFolders="??-??" Path="" RootWebOnly="TRUE">
    <File Url="tr_teleportLogo100.gif" Name="Preview Images/tr_teleportLogo100.gif" Type="GhostableInLibrary">
    <Module Name="Images" Url="Style Library/Images" Path="Images" RootWebOnly="TRUE">
    <File Url="tr_telerealLogo102.gif" Name="tr_telerealLogo102.gif" Type="GhostableInLibrary" />
    <Module Name="OSGStyles" Url="Style Library" Path="Styles" RootWebOnly="TRUE">
    <File Url="tr_core.css" Type="GhostableInLibrary" />
    <File Url="tr_portalMaster.css" Type="GhostableInLibrary" />
    <File Url="tr_portalMaster_IE6.css" Type="GhostableInLibrary" />
    <File Url="tr_portalMaster_IE55.css" Type="GhostableInLibrary" />

  10. Add a preview image to the language folder (en-us).
  11. Create a unique GUID
  12. In the Feature.xml file:
    • Change the feature ID to the unique GUID
    • Change the title to Custom Master Pages
    • Change the Hidden state to False
  13. Recycle the app pool on the WFE website

Deploying the Feature

  1. On the web server (DEV02) launch command prompt and change dir to:

    cd C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN

  2. Install the feature using STSADM:

    stsadm -o installfeature -name CustomMasterPages

  3. Go to Site Collection Features on the portal top level site and activate the feature.

    To use the master page select from the drop down list on Site Settings / Site Master Page Settings

Redeploying a Feature

Changes made to the feature require that the feature is redeployed. For example; adding new master pages, css files etc. To do this:

  1. On the web server (DEV02) launch command prompt and change dir to:

    cd C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN

  2. Reinstall the feature using STSADM:

    stsadm -o installfeature -name CustomMasterPages -force

  3. Reactivate the feature in Site Collection Features by deavctivating and the activating it.

Saturday, March 31, 2007

Wednesday, March 21, 2007

Add icon to pdf document types

  1. Copy the pdf image icon file to the “Common Files\Microsoft Shared\web server extensions\60\TEMPLATE\IMAGES” folder, maintain the size of the image.
  2. Open the “DOCICON.XML” file which will be in “Program Files\Common Files\Microsoft Shared\web server extensions\60\TEMPLATE\XML”
  3. Type inside the tag.
  4. Restart IIS this to take effect.
  5. Now all uploaded pdf document will be shown with pdf image

Saturday, March 10, 2007

Getting your search service from starting to started

This may have been partly down to the SQL issues posted earlier (Databases created on SQL 2000 instead of SQL 2005); however i am not the only person to have come accross this so its definately worth a mention.

Microsoft recommend that in a farm environment you first start the Office Server Search Service on the Index server; in our case DEV02. Once up and running start the Query service on the Query server, DEV01.

When i started the Search Index service on DEV02 it hung on 'Starting' and after forcing a refresh gave the messgae 'Error Starting'.

To fix this:

I cannot definately say what fixed this or if it won't happen again but here's two ways in which i got it working:

Solution 1

  1. Temporally enable Central Administration on the server running the search service (DEV02). (Central Admin is in our case then briefly running simultaneously on both the Office App & WFE Servers)
  2. Start the Search Index service on the Index server (DEV02)
  3. Start the Search Query service on the Query server (DEV01)
  4. Disable Central Administration on the Index server (DEV02)

Solution 2

This was the solution that worked once the SQL issues had been resolved:

  1. Start the Search Query service on the Query server (DEV01)
  2. Start the Search Index service on the Index server (DEV02)

How to point your web applications to the WFE server

Should be obvious you would have thought, but alas no.

I set up the farm (3 servers as described in previous posts), and started creating the web applications for the SSPs & websites.

Note: I have a directory set up on the DEV02 (WFE) under E:\MOSS\Webs to store all Web Apps.

When creating the app pool I could not point my web app path at DEV02 E:\MOSS\Webs; SP would only accept DEV01 F:\MOSS\Webs.

Checking on the file systems and IIS app pools all the apps i created were sitting on DEV01 (App Server) rather than DEV02 (WFE).

To fix this:

  1. Turn off the WSS Web Application Service on all servers other than WFE servers.
    Note: If you turn off the web app service on a server, the web apps you have already created that reside on that server will be deleted.
  2. Select Create New Web Application.
  3. Assign a description; port 80 & host header.
  4. Set the path to DEV02 E:\MOSS\Webs
  5. Assign App Pool name & DB name etc
  6. Create.
  7. Check IIS & files in DEV02 & E:\MOSS\Webs

The app should now be hosted on DEV02 the WFE.

Thursday, March 01, 2007

Databases created on SQL 2000 instead of SQL 2005

When i started installing MOSS across our three server farm everything initially appeared to have gone well and i was ready to start creating the SSPs & web apps when Central Administration completely disappeared.

The issue:

SQL server was running both SQL 2000 as well as SQL 2005 and for some reason all the DBs had been created in SQL 2000.

I can't find a reason why this happened - all the previous installations had used the same SQL Server and had by default created the DBs on SQL 2005.

To fix it:

Use a SQL Server with only SQL 2005 installed on it!

Deploying MOSS 2007 on a Medium sized Farm (3 Servers)

This has not been without the normal issues but here's how i installed MOSS over a 3 server farm environment.

To install MOSS i have pretty much followed the Microsoft Technet documentation Deploy in a simple server farm (Online Technet webpage).

This is a pretty typical medium sized farm consisting of a database server running SQL Server 2005, one front end web server also running the Search Indexing service and one Office application server also running the Search Query service & Central Administration.

Some points MS note before starting:

  • You must install MOSS on the same drive on all load balanced front end server computers
  • You must install MOSS on a clean installation of MS Windows Server 2003 SP1 or later. If you uninstall and then reinstall MOSS may fail to create the config DBs. (This is not always the case - i have tried out both on clean and 'dirty' servers).
  • You must use the Complete installation option on all servers you want to be index, query or Excel Calc servers.
  • Each index server in a farm requires its own SSP.
  • If you uninstall Office SharePoint Server 2007 from the first server on which you installed it, your farm might experience problems. It is not recommended that you install Office SharePoint Server 2007 on an index server first.
  • Setup installs the Central Administration Web site on the first server on which you run Setup. Therefore, we recommend that the first server on which you install Office SharePoint Server 2007 is a server from which you want to run the Central Administration Web site.
What I Did:

Using clean servers running Windows Server 2003 SP1

The admin & service accounts used are listed in the document MOSS Admin & Service Accounts (access is restricted)

  1. Set up SQL Server with SQL 2005 only
    • Add the SQL Service account via SQL Management Studio.
  2. Install .NET Framework 3 onto both DEV01 & 2
  3. Enable ASP.NET 2.0 on both DEV01 & 2
  4. Install MOSS on to DEV01
  5. Run SP Configuration Wizard on DEV01 to create a new server farm.
  6. Install MOSS on to DEV02
  7. Run SP Configuration Wizard on DEV02 to connect to the existing server farm.
  8. Stop the WSS Web Application service on DEV01 (this server is not serving any content). If you dont do this then the web apps will be hosted on the wrong server. See my post about this: How to point your web applications to the WFE server
  9. Start the Office SP Server Search service (Query) on DEV01 - MS says to do this after starting the Index service, however I found that it did not like starting the Index server and hung on service startup. See my post about this: Getting your search service from starting to started.
  10. Start the Office SP Server Search service (Index) on DEV02.
  11. Create the Web Applications to host the SSPs
    • MOSS SSP1 Admin
    • MOSS SSP2 Admin
    • MOSS SSP3 Admin
  12. Create the Web Applications to host the Portals & My Sites using port 80 & host headers.
    • MOSS 1
    • MOSS 2
    • MOSS 3
  13. Create the three Shared Service Providers using port 80 & host headers.
    • MOSS SSP1
    • MOSS SSP2
    • MOSS SSP3
  14. Create the top level site collections
    • Portal 1
    • Portal 2
    • Portal 3

MS Server Topology Recommendations

In addition to the many sources of information we discovered a great document from Microsoft full of recommendations, and not a moment too soon to get through the 741 pages of very small print. For a marvelous read check out the full document Planning & Architecture for Office SharePoint Server 2007

With regards topology MS point out the following:

We recommend that you configure Office SharePoint Server 2007 in the order listed below. This order makes configuration easier and ensures that services and applications are in place before they are required by server types.

Recommended Order of installation

  1. We recommend that the Central Administration Web application be installed on an application server, such as a query server or a server that runs Excel Calculation Services, but not an index server (for performance reasons). If your farm will have an application server, install Office SharePoint Server 2007 on that server first. This also installs the Central Administration site.

  2. All your front-end Web servers.

  3. The index server (if using a separate server for search queries and indexing).

  4. The query servers, if separate from the index server. (To configure more than one query server in your farm, you cannot configure your index server as a query server.)

  5. Other application servers (optional).

Because the SSP configuration requires an index server, you must start the Office SharePoint Server Search service on the computer that you want to be the index server, and configure it as an index server before you can create an SSP. Because of this, you must deploy and configure an index server before other servers. You can choose any server to be the first server on which you install Office SharePoint Server 2007. However, the Central Administration Web site is automatically installed on the first server on which you install Office SharePoint Server 2007.

Monday, February 26, 2007

Sharepoint Install Failed - Unable to locate hosts file

This is a similar one to the server language reg file disappearing. After uninstalling MOSS the hosts file sometimes uninstalls as well and therefore cannot be found when you try to reinstall MOSS.

To fix it:

Either copy a hosts file from your computer or make one in notepad. Save it on the SP server in the Windows / System 32 / drivers / etc / hosts directory.

Run the SP Configuration Wizard again.

Failed to create the configuration database. Reason: The language is not supported on the server.

This may occur if MOSS Beta 2 uninstall removes the server language registry file. The error will occur when you try to install a new instance of MOSS (RTM).

To fix it:

  • Open notepad and paste the following:

    Windows Registry Editor Version 5.00
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\Web Server Extensions\12.0\ServerLanguage]

  • Save this file as fixlanguage.reg on the server desktop and double click to run selecting yes when prompted.
  • Run the SharePoint configuration wizard.

Configuring MOSS 2007 Beta 2 SSP & Web Apps

Setting up MOSS RTM using the V-PC Beta 2 image supplied by Microsoft

Quick Start Guide to Installing MOSS Beta 2