Editing SharePoint documents (WSS 3.0 or MOSS 2007) in Microsoft Windows Vista/Office 2007

Users of Microsoft Windows Vista and Office 2007 might have encountered an error "Unknown error trying to lock file" when they click Edit Document. This error however didn't occur for users of Microsoft XP with Office 2007. As far as I know the problem occurred because of the changes made in the Web Client service in Vista and the way Office was communicating with Sharepoint. Installing Microsoft hotfix 943280 and patching your Web Folders with 907306 didn't resolve the problem. Trying numerous workarounds described on the web didn't resolve the problem either. The only workaround that worked setting the office applications to run in "Windows XP SP2 compatibility mode", but then why would you run Windows Vista. You could say this is another reason to go back old Windows XP.

Luckily with the release of SP1 for Vista this problem disappears! So, thank you Microsoft for solving this problem, although I hope such problems will be resolved faster and more efficiently. I would wish that those problems will not exist in the first place, but then I start thinking that if all software would run smoothly, it will make a life of IT guys pretty boring. So, thank you Microsoft for keeping IT guys busy/employed! J

Note: Don't forget to upgrade your SharePoint servers to SP1.



Related resources:

SharePoint search and anonymous users

If you have a public Sharepoint site (MOSS 2007 or WSS 3.0) that is accessible to anonymous users and you’re not using custom scopes, you probably already noticed that every time users try to search they get a user prompt. To get pass this prompt you must enter valid username, otherwise you’ll get famous “Access Denied” page. So much for anonymous access, right?

Anyway, the problem is with OSSSearchResults.aspx page, specifically with one of the inheritance reference that ASPX page. I’m talking about the part of the code that sets the inheritance of the page from the generic application page base class, which is not really required for this page to function properly.  

To allow anonymous users to search your publicly available sites you need to remove that inheritance from the code, so find part of the code inside the <Page>  tag that states “Inherits="Microsoft.SharePoint.WebControls.LayoutsPageBase"  and remove that part of the code (not the whole line, just the part that inhertis the application page base.) OSSSearchResults.aspx page is usually stored at C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\LAYOUTS on your SharePoint server. Make sure you backup the file before making any changes!

Making those changes will not only allow anonymous users to search the SharePoint content, but also will keep the SharePoint search secure, meaning that anonymous users will only be able to search the part of the SharePoint they have permissions to view.



Related resources:

Installing Service Pack 1 on your WSS3/MOSS2007 server(s)

First of all, you must backup SharePoint. Upgrading to SP1 should not break your WSS3/MOSS2007 install, but it's always better to be safe than sorry.

In my case we have 32-bit installation of SharePoint server, so these guidelines will refer to 32-bit version of SP1 for WSS3/MOSS2007, but as far as I know the guidelines can also be used for installation of SP1 on 64-bit instances of SharePoint server (just make sure you download 64-bit version of Service Pack file). You can download Service Pack 1 from Microsoft website (For MOSS installations, Service Pack 1 for both WSS3 and MOSS2007 must be installed):

  1. Windows SharePoint Services 3.0 Service Pack 1 (27.3Mb)
  2. Microsoft Office SharePoint Server 2007 Service Pack 1 (78.9Mb)

Now that you've backed up your SharePoint install and downloaded the updates, you're ready to install the service pack. First, let's install Service Pack 1 for WSS3:

  1. Stop the World Wide Web Publishing Services
    1. Go to Start >> Administrative Tools >> Services
    2. Select World Wide Web Publishing Service and click Stop
  2. Install the Windows SharePoint Services Service Pack 1
    1. Run the downloaded executable file WSS3 SP1 (wssv3sp1-kb936988-x86-fullfile-en-us.exe)
    2. Accept the licensing terms. Technically you should read the EULA terms before accepting, but nobody I know actually does it, so...
    3. Click Continue and click OK when prompted to remind the administrator to update all SharePoint servers.
    4. Click OK when the installation completes.
  3. If you have MOSS2007 installed then skip SharePoint Configuration Wizard (i.e. close it, if prompted) and proceed to installing SP1 for MOSS 2007. If, however, you only have WSS3 installed, then run SharePoint Configuration Wizard, start World Wide Web Publishing Service and that's it.

Second, if you have MOSS2007, we need to install SP1 for MOSS2007:

  1. Install the Microsoft Office SharePoint Server Service Pack 1
    1. Run the downloaded executable file (officeserver2007sp1-kb936984-x86-fullfile-en-us.exe)
    2. Accept the licensing terms. Technically you should read the EULA terms before accepting, but nobody I know actually does it, so...
    3. Click Continue and click OK when prompted to remind administrator that you update all SharePoint servers.
    4. Click OK when the installation completes.
  2. Run SharePoint Configuration Wizard
    1. If SharePoint Configuration Wizard won't run automatically after SP1 install go to Start >> All Programs >> Microsoft Office Server >> SharePoint Product and Technologies Configuration Wizard
    2. Click Next at the Welcome screen and click Yes when prompted with the warning about restarting services
    3. Click Next at the Completing the SharePoint Product and Technologies Configuration Wizard and click OK when prompted to remind the administrator to update all SharePoint servers
    4. Go get a cup of coffee because the wizard might take a while to complete
    5. Click Finish after the configuration completed
  3. Start World Wide Web Publishing Service to make your SharePoint server accessible by users again
    1. Go to Start >> Administrative Tools >> Services
    2. Select World Wide Web Publishing Service and click Start

If you want to make sure that you have successfully updated your WSS3 or MOSS2007 to Service Pack 1 you can do that through SharePoint Central Administration or Add/Remove Programs. To verify the SharePoint version through SharePoint Central Administration:

  1. Open SharePoint Central Administration, go to Operations tab
  2. Under Topologies and Services section click Servers in farm to list your SharePoint server(s)
  3. If you see "Version: 12.0.0.6219" next to your SharePoint server, then you have successfully upgraded that server to Service Pack 1.

Alternatively, you can verify the SharePoint version through Add/Remove Programs in Control Panel:

  1. Go to Start >> Control Panel >> Add/Remove Programs
  2. Select Microsoft Office SharePoint Server and click on "Click here for support information"
  3. If you see "Version: 12.0.0.6219", then you have successfully upgraded that server to Service Pack 1.

Please note that if you have multiple SharePoint Servers (WSS3 and/or MOSS2007) you need to update all of them to Service Pack 1!!!



Related resources:

Fixing MSSQL Reporting Services add-in after the migration of SharePoint site to a new server (WSS 3.0 or MOSS 2007)

 

If you're thinking about migrating WSS 3.0 or MOSS 2007 sites to a new server, you need to remember to reinstall any third-party webparts you have installed on the old Sharepoint server. So if your Sharepoint instance have Reporting Services webpart installed you will have to re-install it, but before you do that make sure you remove old webpart from the Web Part Gallery and remove (or comment out) any references to the old RS webpart from web.config file in the Sharepoint's virtual directory.

 

<SafeControl Assembly="Microsoft.ReportingServices.SharePoint.UI.ServerPages, Version=9.0.242.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" Namespace="Microsoft.ReportingServices.SharePoint.UI" TypeName="*" Safe="True" />
<SafeControl Assembly="Microsoft.ReportingServices.SharePoint.UI.WebParts, Version=9.0.242.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" Namespace="Microsoft.ReportingServices.SharePoint.UI.WebParts" TypeName="*" Safe="True" />
<SafeControl Assembly="RSWebParts, Version=8.0.242.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" Namespace="Microsoft.ReportingServices.SharePoint.UI.WebParts" TypeName="*" Safe="True" />

 

<add verb="*" path="Reserved.ReportViewerWebControl.axd" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<add verb="*" path="_vti_bin/ReportServer" type="Microsoft.ReportingServices.SharePoint.Soap.RSProxyHttpHandler, RSSharePointSoapProxy, Version=9.0.242.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
<add verb="*" path="Reserved.ReportViewerWebPart.axd" type="Microsoft.ReportingServices.SharePoint.UI.WebParts.WebPartHttpHandler, Microsoft.ReportingServices.SharePoint.UI.WebParts, Version=9.0.242.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />

 

<location path="_vti_bin/ReportServer/ReportServiceAuthentication.asmx">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>

 

Note: If you don't remove the references to the old RS webparts, you won't be able to get reports to display properly no matter how many times you re-install the webpart.

 

TFS and Sharepoint

To install TFS you must have Sharepoint Services 2.0 installed on the same server. Even though there hacks that allow you to integrate TFS with Sharepoint 3.0 that could be installed on another server, there still certain restrictions in place. One of them is Sharepoint naming conventions for when you install TFS:

Application Pool Name: TFSWSS (use TFSSERVICE account)

Application Pool Name: TFSWSSADMIN (use TFSSERVICE account)

Configuration Database Name: STS_Config_TFS

Content Database Name: STS_Content_TFS

Username to use: TFSSERVICE account

 

You can change those names later on though. Hopefully this issue will be addressed in Orcas…

How to uninstall SQL 2005 Express Edition / MSDE / SSEE

If you use SQL 2005 Express Edition/MSDE/SSEE with your installation of Sharepoint, CRM or whatever, when you decide to uninstall those products SQL 2005 Express Edition will not be uninstalled. So, you will end up with "orphaned" copy SQL 2005 Express Edition, which will prevent you from installing any other applications that use it.

To uninstall SQL 2005 Express Edition:

  1. Open Registry and go to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall.
  2. Browse through the entries and find the one that says "Microsoft SQL Server 2005 Express Edition" or something like that
  3. Copy the value of UninstallString into clipboard (Ctrl-C). Example of UninstallString value is "MsiExec.exe /X{6E740973-8E71-42F9-A910-C18452E60450}"
  4. Open Command Prompt

Paste the command from clipboard and add "CALLERID=OCSETUP" at the end of the command and hit Enter. This will run an Uninstall Wizard, which will help you to uninstall SQL Server 2005 Express Edition
Example of the uninstall command:    MsiExec.exe /X{6E740973-8E71-42F9-A910-C18452E60450} CALLERID=OCSETUP

Uploading large files to TFS

We used to get a timeout error every time we tried to upload files larger than 48Kb to TFS. The timeout error was caused by one of numerous IIS hidden settings, i.e. UploadReadAheadSize parameter in IIS. Because this parameter is not set by default, IIS uses the default schema value of 48Kb. 

To allow larger files to be uploaded to TFS, we had to change this parameter to a larger value (in our case I've set it to 10Mb). Here is how it's done:

  1. Open Command Prompt
  2. Go to your Inetpub\adminscripts folder
  3. Type in adsutil get w3svc/UploadReadAheadSize to check your current setting
  4. To change this parameter, type in adsutil set w3svc/UploadReadAheadSize SIZE_IN_BYTES. For example to set this parameter to 10Mb use "10000000" as the size
  5. Type in adsutil get w3svc/UploadReadAheadSize again to make sure that the parameter has been changed

   

TFS authentication and time synchronization

Since, it's my first post I thought that I should start with something simple yet very frustrating. For about a week we had a problem with our TFS server. Occasionally users were not able to login to TFS server using Team Explorer for no apparent reason. After numerous attempts to find the cause of all this problems, the solution turned out to be pretty simple. There was a time synchronization problem between TFS server and Time Server on the network (which in our case was one of domain controllers).

To resolve I have set up TFS server to sync time with the domain controller and set a domain controller to sync time with one of the public time servers on the Internet. To me, it's always better to have all your servers to synchronize their time settings with one of the internal server and only that internal server would synchronize with external time servers, instead of all servers synchronizing with external servers. Here is how it can be done:

ON TFS SERVER:

  1. Make sure that you have Windows Time service running and set to Automatic start-up on TFS Server
  2. To check whether your time service is set, type NET TIME in Command Prompt:
    net time /domain:DOMAINNAME
  3. If no time servers have been set, use NET TIME command to set up the time server:
    net time /setsntp:DOMAINCONTROLLER

ON DOMAIN CONTROLLER:

  1. Make sure that you have Windows Time service running and set to Automatic start-up on Domain Controller
  2. To check whether your time service is set, type NET TIME in Command Prompt:
    net time /domain:DOMAINNAME
  3. If no time servers have been set, use NET TIME command to set up the time server for Domain Controller:
    net time /setsntp:PUBLICTIMESERVER
    For the list of the Simple Network Time Protocol (SNTP) time servers that are available on the Internet go to http://support.microsoft.com/default.aspx/kb/262680

After I have set up the time synchronization, our TFS server has been running smoothly ever since (knocking-on-the-wood)...