Develop your own Windows Service

Writing a Windows Service is very easy. Deploying it with a Setup is an easy task as well. But be careful what option you set for the failure behavior! In my case I installed the service with “Windows Installer XML (WiX) toolset”. Do not use critical as ErrorControl value. It will force a reboot of the server, if the services fails to start. Fortunately booting with “Last known good configuration” worked for me and I could uninstall the service…

Disable Loopback Check?

A while ago Microsoft released an update, which prevents that you can log on locally to a website which has a FQDN. To resolve issues with e.g. the crawling a KB article has been published. You receive error 401.1 when you browse a Web site that uses Integrated Authentication and is hosted on IIS 5.1 or a later version You can disable the loopback check completely, or just for the used FQDNs.

Multi Level Navigation

The out-of-the-box WSS navigation offers one level of navigation. The navigation elements can be configured in the site settings. There is a way to make it have multi level navigation, as MOSS does, by changing the DataSource. But this “hack” is not flexible, as you can not reorder the item within the navigation menu. While I was reading the post How to create your own Cascading Navigation using the ASPMenu control by Yvonne Harryman, the decision was made to build a custom navigation which supports multiple navigation levels.

Get Central Administration Webapplication

With this code you can get the central administration webapplication. 1: private static SPWebApplication GetCentralAdministrationWebApplication() <span class=lnum> 2: </span>{ 3: SPWebService cS = SPWebService.ContentService; <span class=lnum> 4: </span> var service = cS.Farm.Services.GetValue<SPWebService>(<span class=str>"WSS_Administration"</span>); 5: SPWebApplicationCollection webApplications = service.WebApplications; <span class=lnum> 6: </span> <span class=kwrd>foreach</span> (SPWebApplication webApplication <span class=kwrd>in</span> webApplications) 7: { <span class=lnum> 8: </span> <span class=kwrd>return</span> webApplication; 9: } <span class=lnum> 10: </span> <span class=kwrd>return</span> <span class=kwrd>null</span>; 11: } If you have a better way, let me know 🙂

Word to SharePoint

A picture will you tell more than words: Another great project on CodePlex. –> http://wordtosharepoint.codeplex.com/ Project Description A SharePoint Feature that allows selection of Word 2007 documents for content conversion to a selected WebpageLibrary. The solution also extracts, transfers and re-links images to a selected image library.

Active Directory User Editor

SharePoint is importing user information from the Active Directory through the Shared Services Provider (if you have MOSS). Wouldn’t it be nice if users could “manage themselves”? That would save lots of time for the Admins 🙂 The answer is here: http://nominesptools.codeplex.com/ 5 different types of properties fields: Simple TextBox, DropDownList/ListBox (with predefined values), People Picker, Date Picker with calendar. Multi-domain compatible. Nearly Any Active Directory property can be easily added or removed of the edit form, directly trough the webpart configuration (nothing “hard-coded”).

Control.ClientID has wrong value

An ASP.NET Controls has a ClientID property. SharePoint Controls inherit from the ASP.NET Controls. The property will give you the ID, the rendered control will have in the HTML source. There is one thing to remember: The ClientID is valid only, if the control has been added to the Controls of the Page! ID **before** adding the control ID **after** adding the control FilterButton **ctl00\_m\_Webpart1_**FilterButton So if you need the ClientID e.

Turning a Windows 7 DVD or ISO into a Bootable VHD Virtual Machine

With Windows 7 you will be able to boot a VHD. Scott Hanselman has posted an article about creating a VHD from the Windows 7 installation bits. Cool stuff 🙂 Read about it on his blog. A quickly set up development box on your desktop/notebook without the overhead of VMWare or Virtual PC. Here is a similar post in German: Stefen Krause hat über seine Demo Umgebung geschrieben. Auch er benutzt eine VHD, die dann gebootet wird.

New WSPBuilder version

Carsten Keutmann has released a new version of his great WSPBuilder. Here are the new features: A Reference folder under GAC and 80/Bin is now supported for large dlls that do not need reflection for SafeControls and Permissions. New menu function “Recycle the Windows SharePoint Services Timer” implemented on WSPBuilder Extensions. Refactoring of “Copy to GAC” in order to improve the functionality. Bug fixed! “Unable to get solution id from manifest: Unable to extract manifest.

Automate iFilter and PDF Indexing support

Setting up your SharePoint farm to be able to crawl PDF files and show the PDF icon is a manual task which involves changing the registry. If you don’t want to go through the steps manually, try the stsadm command from here: http://notesfor.net/post/2009/07/14/Automate-iFilter-and-PDF-Indexing-support-to-a-SharePoint-Farm.aspx You can find the CodePlex site here: http://notesforsearchfilter.codeplex.com/ After the stsadm extension has been installed, setting up PDF support is easy: <span style="color:#606060" id=lnum1> 1:</span> stsadm -o searchfilter -ext pdf -filter PDFlib –iconfile "

free DocAve SQL Restore Controller

An item level restore solution is available at AvePoint. The DocAve SQL Restore Controller care restore items, sites and site collections from a SQL or DPM database, or a backup. If you click on the download link, you have to provide an email address. A download link will be sent to you. The files you have to download are 414 MB (Manager) and 40 MB for the Agent. But the download server is fast 🙂