Tuesday, 18 December 2007

Could not start the windows sharepoint services timer service on local computer. The service did not start due to a logon failure

I don't know if any of you have come across this, but it cause the Sharepoint wizard to fail during the upgrade process of the service pack. The problem turned out to be very simple. The Timer Job service was running under an account that had expired. To fix it, go to the service, click Log On, and make sure the account it uses is valid and not locked or disabled.

Thursday, 13 December 2007

SharePoint and MOSS service pack is out!!!!

SP1 for both MOSS and WSS is out now. Go to microsoft.com and download them. Please install WSS service pack before installing MOSS service pack.

Here is the link for WSS 3.0 SP1:

Here is the link for MOSS S1:

It's a bit tricky to install it on a farm with more than one server, so if you have any questions, simply ask me.

Tuesday, 11 December 2007

Content Deployment issues and a new wizard

Im not sure if everyone else has had an issue using the SharePoint content deployment, but most of the time it doesn't do what it's meant to do, deploy the content. A very useful tool I've come across is the Content Deployment Wizard (
http://www.codeplex.com/SPDeploymentWizard). Very simple to use. Let me know what you think of it.

Wednesday, 5 December 2007

Exception from HRESULT: 0x80040E14

If any of you have come across this error "Exception from HRESULT: 0x80040E14" while trying to do a STSADM restore, it's a very simple problem. It means the SQL server has run out of space for either the logs or the data file. Simply delete some un-needed files from the HDD that the SQL server is writting to and it fixes the problem.

Friday, 30 November 2007

Limitations of SharePoint 2007

I've had several people ask me what the limitations of SharePoint 2007 are. Things like the maximum document upload size, maximum number of items per folder per document library and the maximum number of subsites per site collection. These figures must be taken into consideration when designing the SharePoint architrecture:

Site objectGuidelines for acceptable performanceNotesScope of impact when performance degrades
Site collection50,000 per Web applicationTotal farm throughput degrades as the number of site collections increases. Farm

Web site

250,000 per site collection

You can create a very large total number of Web sites by nesting the subsites. For example, 100 sites, each with 1000 subsites, is 100,000 Web sites. The maximum recommended number of sites and subsites is 125 sites with 2,000 subsites each, for a total of 250,000 sites.

Site collection


2,000 per Web site

The interface for enumerating subsites of a given Web site does not perform well as the number of subsites surpasses 2,000.

Site view


5 million per library

You can create very large document libraries by nesting folders, using standard views and site hierarchy. This value may vary depending on how documents and folders are organized, and by the type and size of documents stored.



2,000 per view

Testing indicates a reduction in performance beyond two thousand items. Using indexing on a flat folder view can improve performance.

List view

Document file size

50MB (2GB max*)

File save performance is proportional to the size of the file. The default maximum is 50 MB. This maximum is enforced by the system, but you can change it to any value up to 2 GB.

Library, file save performance


2,000 per Web site

Testing indicates a reduction in list view performance beyond two thousand entries.

List view

Field type

256 per list

This is not a hard limit, but you might experience list view performance degradation as the number of field types in a list increases.

List view


2,000 per document library
4,096 per list

This is not a hard limit, but you might experience library and list view performance degradation as the number of columns in a document library or list increases.

Library and list view

Web Part

50 per page

This figure is an estimate based on simple Web Parts. The complexity of the Web Parts dictates how many Web Parts can be used on a page before performance is affected.


Thursday, 29 November 2007

Accessibility Kit for SharePoint® (AKS)

Accessibility Kit for SharePoint® (AKS) is out now. Go to http://aks.hisoftware.com and download it.

"The AKS will deliver a kit that can significantly reduce the time, knowledge, and effort required to implement a SharePoint-based Web site that conforms to the World Wide Web Consortium’s (W3C) Web Content Accessibility Guidelines 1.0 Priority 1 and 2 checkpoints, which are collectively known as WCAG 1.0 AA. The AKS can also be used to address the exceptions that have been identified in the U.S. government’s Section 508 of the Rehabilitation Act’s Voluntary Product Accessibility Template or VPAT documents for MOSS 2007. "

I will let you know if it delivers what they promise.....

Monday, 5 November 2007

Monitoring Application Pools and Restarting them


I was trying to find an application that would monitor the state of application pool on an IIS server but didn't have any luck. Instead I decided to write a simple .net page that would loop through all the app pools and if it's down, it would restart it and email me to say it's down. I will extent this to actually monitor SharePoint sites and see if they are down and if so, to also notify me.

Here's the code:

Partial Class _Default
Inherits System.Web.UI.Page
Dim LogDir = "C:\AppPoolLog"
Dim ToAddress = "notify@someemailaddress.com"
Dim FromAddress = "system@someemailaddress.com"

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
showAppPools() 'Runs showAppPools Sub
End Sub

Sub showAppPools()
Dim obj, apool
obj = GetObject("IIS://localhost/W3SVC/apppools")
For Each apool In obj
obj = Nothing
End Sub

' This will get the status of the app pool
Sub apppoolStatus(ByVal apppool)
Dim obj
obj = GetObject("IIS://localhost/W3SVC/apppools/" & apppool)
Select Case obj.apppoolstate
Case 0
writetoLog(apppool, "0") 'Do not know what this status is
Case 1
writetoLog(apppool, "1") 'Do not know what this status is
Case 2
writetoLog(apppool, "Up")
Case 3
writetoLog(apppool, "3") 'Do not know what this status is
Case 4
writetoLog(apppool, "DOWN")
writetoLog(apppool, "Restarted")
End Select
obj = Nothing
End Sub

' This will write information to a log file
Sub writetoLog(ByVal apppool, ByVal response)
Dim fso
Dim lday = DatePart("d", Now())
Dim lmonth = DatePart("m", Now())
Dim lyear = DatePart("yyyy", Now())
Dim logdate = lmonth & lday & lyear
fso = CreateObject("Scripting.FileSystemObject")
Dim objFSOwriteline = fso.OpenTextFile(LogDir & "\" & logdate & ".log", 8, True)
objFSOwriteline.WriteLine(response & "," & apppool & "," & now())
objFSOwriteline = Nothing
fso = Nothing
End Sub

' This starts the down app pool
Sub startapppool(ByVal apppool)
Dim obj
obj = GetObject("IIS://localhost/W3SVC/apppools/" & apppool)
obj = Nothing
End Sub

' This send a email regarding the down/restarted app pool
Sub emailSendCDOSYS(ByVal apppool)
Dim Mailer
Dim sch = "http://schemas.microsoft.com/cdo/configuration/"
Dim cdoConfig = Server.CreateObject("CDO.Configuration")
With cdoConfig.Fields
.Item(sch & "sendusing") = 2 ' cdoSendUsingPort
.Item(sch & "smtpserver") = "smtp.someemailaddress.com"
End With
Mailer = CreateObject("CDO.Message")
Mailer.Configuration = cdoConfig
Dim Message = "===============================================" & vbCrLf
Message = Message & "Application Pool: " & apppool & " has been restarted" & VbCrLf
Message = Message & "Date/Time: " & now() & "" & VbCrLf
Message = Message & "===============================================" & VbCrLf
Dim Subject = "Application Pool: " & apppool & " has been restarted"
Mailer.TextBody = Message
Mailer.Subject = Subject
Mailer.To = ToAddress
Mailer.From = FromAddress
Mailer = Nothing
End Sub

End Class


Once I modify it to monitor SharePoint sites, I will upload the code.

Wednesday, 31 October 2007

InfoPath Forms not deleting/Updating/Installing

I was investigating a problem where InfoPath forms were hanging when deployed or uploaded. It would say "Installing" or "Deleting" or "Updating" but hang there for days.

After hours of testing and using stsadm to delete and install features realised what the problem was. Someone had installed the daylight savings hotfix for WSS and didn't install it on all the servers in the farm. After installing it on the last server, it started to work.

Hotfixes HAVE TO be installed on EVERY server in the farm, even if it's a Reporting Server. Even though this issue was due to daylight savings, you MUST install ALL hotfixes on ALL servers in the farm.

Thursday, 4 October 2007

Creating Features and Event Handlers

I had a new SharePoint developer ask me 2 simple questions:

1, How do I create simple Features?
2, How do I create simple Event Handlers?

I sent him these 2 links from Microsoft's MSDN and within an hour he was able to do both.


Thursday, 27 September 2007

'75a0fea7-8d3c-455d-89d3-4ece8739402d' error

If you've come accross this error before, you will realise there is NO help anyway. I came across it after doing a backup of a site and restoring it on a new farm. When you went to a site, and clicked Site Actions/Manage Content and Structure, you would have got the error:

Feature '75a0fea7-8d3c-455d-89d3-4ece8739402d' for list template '420' is not installed in this farm. The operation could not be completed.

After careful examination, we realised what the problem was. The original farm had the "Microsoft Application Core Template" installed. After installing it, the problem went away.

Microsoft's Important change to licensing for Internet Sites (MOSSFIS)

Microsoft has changed their licensing for Internet Sites in SharePoint. Please read this:


Tuesday, 25 September 2007

Microsoft Project Server 2007 with SharePoint

I have just installed MS Project Server 2007 with SharePoint. It is one of the easiest setups you will come across. Once it's setup, you create a PWA (project web access) site, and you're up and running.

If anyone needs step by step instructions on how to set it up, simply email me. I will update this post once I have finished the documentation.

Monday, 10 September 2007

Changing the location of Microsoft SQL Embedded Edition (MSEE) files

Windows SharePoint Services v3 uses Microsoft SQL Embedded Edition (MSEE) for its data store. When MSEE is installed, the data files are installed to your C: drive by default. Well, like any good admin - we don't want data (that can grow exponentially) living on our system partition. However, you can't successfully move the data files for an MSEE instance using your normal SQL tools (most notably SQL 2005 Management Studio). Yep, you've got to resort to the command line . . .

First, you will need to have the Microsoft SQL Server Native Client and Microsoft SQL Server 2005 Command Line Query Utility installed.
1) Identify the Sharepoint DB you want to move (look under SystemRoot%\SYSMSI\SSEE\MSSQL.2005\MSSQL\Data)

2) Stop SharePoint services.

3) Open a command prompt

4) Go to the Microsoft SQL Server 2005 Command Line Query Utility folder (under C:\Program Files\Microsoft SQL Server\90\Tools\binn)

5) Enter the following command & hit enter:
sqlcmd -S \\.\pipe\mssql$microsoft##ssee\sql\query -E

6) Enter the following commands & hit Enter after each:
EXEC sp_detach_db GO

7) Repeat step 6 for each database you want to move.

8) Move the individual .mdf & ldf files for the detached databases to the new location.

9) Attach moved databases. Return to your command prompt and enter the following command then press Enter:

EXEC sp_attach_db @dbname = N'',
@filename1 = N'\.mdf',
@filename2 = N'\.ldf'

The line breaks above are for ease of reading. When entering the command, don't use line breaks, just the the lines wrap. E.g.:

EXEC sp_attach_db @dbname = N'WSS_Content',
@filename1 = N'D:\SharePointDB\WSS_Content.mdf',
@filename2 = N'D:\SharePointDB\WSS_Content_Log.ldf'

10) Type GO and press Enter.

11) Repeat steps 9 & 10 for each database you moved.

12) Type Exit to exit from SQLCMD

13) Type Exit to close Command Prompt

14) Start SharePoint services you stopped previously.

15) Verify access to SharePoint sites.

Friday, 7 September 2007

SharePoint Server 2007 SDK: Software Development Kit

Download the lasted SharePoint Server 2007 SDK (1.2). I've played around with it a bit, and one feature that I really like is the BDC Editor.


New tools and samples included with the MOSS SDK: Developer tools and samples for the following areas of MOSS development (new items in bold):
  • Business Data Catalog Samples and Utilities

    • Microsoft Business Data Catalog Definition Editor

    • Sample Pluggable SSO Provider

    • WSHelloWorld Web Service

    • WSOrders Web Service

    • Excel Services User Defined Function Sample

    • WSOrders Custom Proxy Sample

    • Amazon Web Service Sample

    • AdventureWorks Metadata Samples

    • SAP Sample

  • Document Management and Content Processing Samples
    • Comment Scrub Document Converter

    • Term Replacement Document Inspector

  • Search Samples

    • Sample Protocol Handler

    • Custom Content Source

  • Records Management and Policy Samples
    • De-Duplication Router

    • Document Integrity Verifier

    • Records Center Web Service Console Application

    • Search, Collect, and Hold Tool

    • Sample Custom Barcode Generator

    • IRM Document Protector

  • Workflow Samples
    • Custom Workflow Report Query Generator

    • Custom Workflow Report XLSX Injector

    • Visual Studio Workflow Templates

    • Enterprise Content Management Workflow Activities

    • List Item Activities

    • Hello World Sequential Workflow

    • State Based Approval Workflow

    • Modification Workflow

    • Replication and Contact Selector Workflow

    • Intersystem Purchase Order

    • Confidential Approval Workflow

    • Group Approval Workflow

    • Approval Workflow Sample

    • Multi-Stage Workflow

    • Server-side Collect Signatures Workflow

Let me know what you think of it.

Wednesday, 5 September 2007

Microsoft Templates for SharePoint

Just a quick one, before rushing to develop a SharePoint site, check out Microsoft's free templates.


I've used a couple of them and modified them to meet my clients needs. Another useful list is Microsoft's Fantastic 40.


They're all free and work under WSS.

Wednesday, 29 August 2007

SharePoint 2007 Maximum Limitations

The following is a list of names and other parameters with the maximum allowable size on each.

Entity Max Permissible Size
Site Name 128 characters
Site URL 255 characters
Display name 128 characters
Connection string 384 characters
Email address 128 characters
Version numbers 064 characters
Virtual Server Friendly Name 064 characters
SQL Database Name 123 characters
SQL Database Column 128 characters
SQL Database Table Name 128 characters
SQL Role Name 128 characters
Server Name 128 characters
Windows User Name 300 characters
Windows Password 300 characters
Dependencies per object 032 objects
Zone enumeration value 004 zones
Default SQL command timeout 300 seconds
Number of simultaneousworkflows that can be run* 015

If during your course of using the product, you inadvertently cross these limits, then you would end up with errors. These are hard limits.

* This is the maximum number of simultaneous workflows that can be in memory executing code. (NOTE: there is no limit to the number of workflow instances in progress in the database)

To Raid or not to Raid, that is the question!!!!

I was doing some research on best practices for hardware for a SQL box. Some people say to use Raid, some people say not to. Here's some articles from Microsoft for the SQL version and hardware configuration.



I'll try to dig up some articles that don't recommend using Raid.

Tuesday, 28 August 2007

Configuring Multiple Authentication Providers for SharePoint 2007

Have you ever tried to configuring multiple authentication providers for SharePoint 2007 and had a problem? Here is an interesting article that could just solve your problem.


It's pretty helpful and has saved me hours of research.

Monday, 27 August 2007

Pricing for SharePoint 2007

If you've ever wonders how much SharePoint will cost your organisation, here's a useful site:


After you choose your region, the product you are after and answer some questions about your organisation, you will get the details of pricing. Here is the pricing based on a 1,000 seat corporate deployment with Software Assurance, access to upgrades and internet access.

  • SharePoint 2007 Server - $11,572
  • SharePoint 2007 Server for Internet Access - $107,115 (AUD) - for hosting public websites. This license does not require Client Access Licenses (CALS)
  • Standard Client Access License - $243 (AUD)
  • Enterprise Client Access License - an additional $195 (AUD) - this provides access to the BDC, Excel Services and InfoPath web forms

If you have any questions regarding licencing and which licence is best for your organisation, either contact me or contact Microsoft.

SharePoint Service Pack 1

Just head that service pack 1 for Microsoft SharePoint is to be release in the next couple of months. If you're interested in knowing when it's out, subscribe to this blog and Ill send everyone an email the day its out.

Wednesday, 22 August 2007

WSS Visual Studio 2005 Extensions

For development, please fwd to any other sharpeoint developers...
v1.1 of the extensions is out:

  • What's New in VSeWSS 1.1?
  • WSP View, aka "Solution Package editing"
  • New Item Templates: "List Instance" project item, "List Event Handler" project item, "_layout file" project item
  • Faster F5 speed
  • Many bug fixes
Download it have let me know what you think.

Sunday, 19 August 2007

Search query default row limit to 50 rows

If you don't specify a RowLimit to the query object, the default is 50. You can change it by setting the RowLimit property to the number that you want:

Visual Basic (Declaration)
Public Property RowLimit As Integer

Visual Basic (Usage)
Dim instance As Query
Dim value As Integer
value = instance.RowLimit
instance.RowLimit = value

public int RowLimit { get; set; }

If you require any further details, please contact me with any specific questions and Ill try my best to answer them.

Import User Profile Information of Enabled User Accounts from Active Directory to SharePoint Portal Server 2003

To import user profile information of user accounts that are enabled in Active Directory to SharePoint Portal Server, follow these steps:

1. On the Site Settings page of the portal site, on the User Profile, Audiences, and Personal Sites page, click Manage profile database.

2. On the Manage Profile Database page, click Configure profile import.

3. On the Configure Profile Import page, in the Source area, click Custom source.

4. In the Access Account area, type the user account name and password of the user account that has appropriate permissions to access Active Directory.

5. In the Full Import Schedule area, click to select the Schedule full import check box, and then specify the full import schedule that you want.

6. In the Incremental Import Schedule area, click to select the Schedule incremental import check box, and then specify the incremental import schedule that you want.

Note If the Schedule incremental import option is not available (appears dimmed), click to select the Import from Active Directory by using the incremental method check box in the Source area.

Important To perform incremental imports for Microsoft Windows 2000 Server Active Directory, the user account that you use to perform the import operation must have the Replicating Directory Changes permission. This permission is not required to perform incremental imports for Microsoft Windows Server 2003 Active Directory. To assign the Replicating Directory Changes permission to the user account that you use to perform the import operation, follow these steps:
a. Start Active Directory Users and Computers.
b. On the View menu, click Advanced Features.
c. Right-click the domain object, and then click Properties.
d. Click the Security tab.
e. In the Group or user names list, click the user account that you want to use to perform the import operation.

If the user account is not displayed in the list, click Add, type the name of the user who you want to add, and then click OK.
f. In the Permissions for UserName list, click to select the Allow check box next to the Replicating Directory Changes permission, and then click OK.

7. Click OK.

8. On the Manage Connections page, do one of the following as appropriate to your situation:

• Click the name of the domain that you want to edit, and then click Edit.
• Click New connection to add a new domain controller that contains the user profiles that you want to import.

9. On the Edit Connection or Add Connection page (as appropriate to your situation), in the Search Settings area, do the following:

a. In the Search base box, type the distinguished name (DN) of the Active Directory object from where you want to import the user profiles.

The DN of the search base object defines the location in Active Directory where you want to start your search. The following are examples of DNs:
• DC=DomainName, DC=com
• CN=Users, DC=DomainName, DC=com
• OU=OrganizationalUnit, DC=DomainName, DC=com

b. In the User filter box, type the following LDAP search filter:
(&(objectCategory=person)(objectClass=user)( !(userAccountControl:1.2.840.113556.1.4.803:=2)))
c. Under Scope, specify the scope level, page size, and page time-out options that you want.

10. Click OK.

Windows SharePoint Services 3.0 Tools: Visual Studio 2005 Extensions.

Creating complex SharePoint solutions and deploying those solutions has always been sub optimal in the old versions of SharePoint. In SharePoint 2007 (Wss3, MOSS 2007) our trouble is over. We now have powerful deployment capabilities in the form of features and SharePoint solutions.

But creating SharePoint 2007 solutions and creating the feature and solution configuration files was still something for the experts only, until today...

Rumors have been around for a while that Microsoft would provide Visual Studio 2005 extension to help us create SharePoint solutions. In the mean time people had their own shot at making development and deployment easier. A good example is this blog post by Tony Bierman.
Tonight I got a pointer from Mark Arend (thanks Mark!) to the Novermber CTP version of the Windows SharePoint Services 3.0 Tools: Visual Studio 2005 Extensions.

I directly downloaded the stuff, and must say I was impressed. It does a lot of the things I was currently working on in the construction of a SharePoint Software Factory, and a lot more.
From the download page:

This Community Technology Preview (CTP) of the Visual Studio 2005 Extensions for Windows SharePoint Services contains the following tools to aid developers in building SharePoint applications: Visual Studio 2005 Project Templates
Web Part
Team Site Definition
Blank Site Definition
List Definition Visual Studio 2005 Item Templates (items that can be added into an existing project)

Web Part
Custom Field
List Definition (with optional Event Receiver)
Content Type (with optional Event Receiver)
Module SharePoint Solution Generator
This stand-alone program generates a Site Definition project from an existing SharePoint site. The program enables developers to use the browser and Microsoft Office SharePoint Designer to customize the content of their sites before creating code by using Visual Studio.
Based on the elements in your project web part manifests, features and a solution file are automatically created and published when you do an explicit publish, or when you do F5 debugging.

If you have questions or want to discuss this new stuff: http://www.microsoft.com/technet/community/newsgroups/dgbrowser/en-us/default.mspx?dg=microsoft.public.sharepoint.development_and_programming

The next days I will blog a lot more on my experiences with these extensions, I already did some deep-diving. But now it is time to get some sleep.

One small teaser, the SharePoint Solution Generator in action:

Tuesday, 14 August 2007

Team-Based Development in Microsoft Office SharePoint Server 2007

If you work in a team-based development for MOSS, this article might be of interest to you


Using STSADM to backup and restore sites

To perform a simple backup of a site, use the following syntax:
stsadm.exe -o backup -url http://server_name/site -filename file_name.dat
To back up a site and overwrite an existing backup file, use the following syntax:
stsadm.exe -o backup -url http://server_name/site -filename local_drive:\path_name\file_name.dat -overwrite

Simply follow the following steps to restore the site:

1. Goto to Central Administration on the server the site is to be restored to.
2. Create a new web application to restore the site to (note the url for step 5)
3. Copy the backup file from where ever you saved it to the server
4. At the command prompt goto "c:\Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN"
5. run the following command:stsadm -o restore "http://url" -filename "C:\backupup.bak"
6. Go back to central adminsistration.
7. Goto "Site Collection Administrators"
8. Click on "change site collection" & choose the web application based on http://url
9. Add the approprate administrator accounts based on the domain (eg. in username)
10. Reset IIS
11. Visit the site http://url

STSAdm Problems

Many clients I've helped have had various issues using the STSADM account and the most common problem is insufficient rights. Make sure that you have the relevant rights in SQL to be able to perform the commands you are trying to execute.

Thursday, 2 August 2007

Failed to connect to an IPC Port: Access is denied.

While trying to deploy an Infopath form, we came across this error:

Failed to connect to an IPC Port: Access is denied.

The code built and deployed locally without any issues, but when I tried to associate the workflow to list, I was seeing an error:

C:\>stsadm -o execadmsvcjobs
Executing .Executing SharePoint Worker Process Group Update2849f6c6-fdb5-48a1-a1b1-f3cab0bd3e76.The SharePoint Worker Process Group Update2849f6c6-fdb5-48a1-a1b1-f3cab0bd3e76 job failed with the following error. This job will be skipped. Failed to connect to an IPC Port: Access is denied.
Operation completed successfully.

It turned out that the system account who is accessing the database needed to be marked as a sysadmin in SQL2005 on all system and SharePoint/WSS databases. Once marked, everything worked fine.

Monday, 30 July 2007

NLB (Network Load Balancing) and SharePoint... Troubleshooting and Configuration tips.

For those of you who have had issues with NLB (Network Load Balancing) and SharePoint, I would recommend you read this article.


It's helped me out with NLB and SharePoint.

Classic Office 2003 menus for Office 2007

If you know anyone who hasn't got used to the ribbon in Office 2007 yet then this is for them. This add-in for Office 2007 gives you a new 'Menu' ribbon which contains all the standard Office 2003 menus and toolbars.

You can download it from Addintools

Changing Authentication Modes

I had a client who accidentally chose Kerberos instead of NTLM and wanted to change it. It's pretty basic.

Go into Central Admin, then Application Management, and then click "Authentication providers".

Then simply choose the web application you want to change, and click on the specific zone you are after modifying.

From there, simply choose the authentication mode from "IIS Authentication Settings" that you are after.

You can also go to a command prompt and change it by using stsadm -o authentication -url -type but that's mostly used to change from basic to integrated authentication.

Thursday, 26 July 2007

Add/remove a shared assembly to/from the .NET GAC

Each computer that .NET is installed on has a Global Assembly Cache (GAC) located in the Assembly folder in the Windows directory (usually: C:\WinNT\Assembly). The GAC contains information about shared assemblies which are components that can be shared among several applications (Ex. a DLL).

Shared assemblies must have globally unique names derived from their strong names (public keys generated to distinguish assemblies from other assemblies that may have the same names) which is Microsoft's solution to DLL hell. The GAC, not the registry, is the store for this information. When an application loads the GAC is examined by the Common Language Runtime to determine if the version of a shared component exists that is compatible with the one referenced by the application.

The gacutil.exe that ships with .NET can be used to add or remove a shared assembly from the GAC.

To add a shared assembly, from the command line enter:

gacutil.exe /i myassembly.dll

To remove a shared assembly, from the command line enter:

gacutil.exe /u myassembly.dll

When viewing the GAC in Windows Explorer shfusion.dll is used to provide the user interface. You can locate and rename this DLL to view the GAC like any other folder.

Tuesday, 24 July 2007

To setup SSL on multiple Sharepoint 2007 web applications using host headers under IIS 6.0

I am frequently required to setup several web applications on my development box and for convenience almost without fail will use host headers to distinguish between them rather than configure and maintain multiple IPs.

This approach serves well until secure http is required and I need to assign SSL certificates to my web applications.

If you have ever tried this you will know that the IIS Manager does not have anywhere to allow you to specify a host header when configuring the SSL for the web application.

The solution I use goes as follows:

1) Install the IIS Resource Kit for IIS 6.0 - it comes packaged with a selfssl utility to generate self-signed certificates. (Of course, feel free to generate them with Perl scripts or any other method since they are not from trusted sources they're only useful for dev and testing purposes anyways.)

2) Create/extend the required web applications using the Administration interface of MOSS (ensuring to select 'Use SSL').

3) Use the selfssl utility to generate and assign a certificate to the first of your web applications as follows:

selfssl /N:CN=*.mydomain.com /K:1024 /V:3650 /S: /P:443

This will generate a 3650 day certificate with a 1024 bit key and assign it to the web application with the site id supplied.

4) Use IIS Manager to assign the same certificate to the other web applications.

5) If you restart IIS at this point only 1 of your sites will actually start - you still need to manually configure the secure bindings for the remaining sites:

cscript.exe C:\Inetpub\AdminScripts\adsutil.vbs set /w3svc//SecureBindings ":443:"

This will set the secure bindings for the site identified on the supplied host header.

6) If you wish you can also now configure the web applications in IIS Manager to require SSL.

7) iisreset and you're done....

Monday, 23 July 2007

Reporting Services not showing up in SharePoint Central Administration 2007

Several people have installed Reporting Services 2005 sp2, SharePoint 2007 and the RS Add-In for SharePoint. After configuring it, they realise that Reporting Services does not showing up in SharePoint Central Administration.

After carefully examing the system, and checking that it's all configured properply, I asked the simple question "did you use the same account to install the RS Add-In as you did to install Sharepoint?". I got a dumb look by the person I asked and they said "should it matter?".

The answer to that is in theory it shouldn't matter. Although in the Central Admin, the links weren't there, RS seems to be there and you could activate it as a Site Feature. But even if you activate it, it won't work as it hasn't been configured from Central Admin. So even though "in theory" it should work, it doesn't.

The easiest way to fix this is to un-install RS Add-in, log in to the server using the same account you used to install sharepoint, then re-install RS Add-in.

Thursday, 12 July 2007

How To Add a New Managed Path to Windows SharePoint Services

If you have used WSS and SPS before, then you have probaby created a "Team Site" or something under the "sites" folder. When you do that you get a URL like this:


But what if you want something different, like?


It turns out this is fairly simple. To get started, open Windows SharePoint Services Central Admin. In the "Virtual Server Configuration" section click the "Configure virtual server settings" link. In the virtual server list, click the server that you want to configure. (Most people only have "Default Web Site" here.)

Now you are on the "Virtual Server Settings" page. In the section called "Virtual Server Management", click on "Define managed paths".

You should see this screen:

Scroll down to the bottom of the screen to the "Add a New Path" section and type "/teamsites".Click OK and you are done. You should now be able to create sites under /teamsites (or whatever other path you defined.)

Monday, 9 July 2007

Working offline is easy with Outlook 2007

It is possible to have your work with you when you are offline or have a slow connection to the SharePoint site. Often times it is faster to work with a local copy of a document rather than editing directly on the server. This is the case when using a dial-up connection or when network latency is a known issue.

Outlook 2007 make this procedure easy. You can check out the documents that you will be working on and copy them to your local disk. When you are ready to return the documents to the library, simply connect back to the server and check the content in. The following instructions are provided below from Microsoft Office Help.

This option is available for document libraries only.
1. If the library is not already open, click its name on the Quick Launch.
If the name of your library does not appear, click View All Site Content, and then click the name of your library.

2. Point to a file name in the library to display a down arrow.

3. Click the down arrow, and then click Check Out.

4. In the dialog box, select the Use my local drafts folder check box.

Note If you are checking out a file that was created by a program that isn't compatible with Windows SharePoint Services 3.0, the Use my local drafts folder check box does not appear, and you cannot work with the file offline.

5. Edit the file, and then check the file back in when you finish.
Welcome to my new blog. In here I hope to put some of the problems and possible solutions I've faced while developing in Sharepoint 07. Please email me if you have any questions or problems you've had and Ill try my hardest to solve them for you.