Monthly Archives: May 2011

Growing TFS databases

I’ve seen a few reports lately of TFS customers whose databases were growing very rapidly.  After investigation, it has often turned out to be that they were uploading a lot of large attachments to TFS as part of their testing process and then not cleaning them up when they were no longer needed.  Our testing tools can upload screenshots, videos, Intellitrace logs, etc. and they can add up.  Unfortunately, we don’t give you great tools today for examining your TFS disk space or managing it.  It’s something that’s rising on my priority list.

Grant Holiday recently did a blog post where he shared the analysis he did on one of our servers and provides the SQL scripts so you can do the same: http://blogs.msdn.com/b/granth/archive/2011/02/12/tfs2010-test-attachment-cleaner-and-why-you-should-be-using-it.aspx

He also mentions the “test attachment cleaner” which is a tool we produced to help manage your test attachments in a semi-automatic way.  It’s a good start at the problem but we’ve clearly got work to do too.

Brian

F# Windows Application Template for Windows Service

Recently I created a posting outlining a project template for a WinForms application. This posting outlines a new project template that provides the elements for the creation windows service in F#. The template can be found on the Visual Studio Gallery:

http://visualstudiogallery.msdn.microsoft.com/21c28d64-0411-482e-8562-05995bfcf825

When the template is installed you get the following template added to your F# folder when creating a new F# project:

image

This template provides several projects elements:

  • A MyService.fs and Program.fs source file providing the service elements
  • An Installer.fs source file enabling the service to be installed using the installutil tool
  • A command file for installing and un-installing the service

The MyService.fs source file provides the implementation of the service. The template code provides the structure for the OnStart and OnStop methods and shows how an EventLog can be created and referenced:

namespace FSharp.Service

open System;
open System.Diagnostics;
open System.Linq;
open System.ServiceProcess;
open System.Text;

type public MyService() as service =
    inherit ServiceBase()
   
    // TODO define your service variables
    let eventLog = new EventLog();
    
    // TODO initialize your service
    let initService =
        service.ServiceName <- "FSharp.Service"

        // Define the Event Log
        let eventSource = "FSharp.Service"
        if not (EventLog.SourceExists(eventSource)) then
            EventLog.CreateEventSource(eventSource, "Application");

        eventLog.Source <- eventSource;
        eventLog.Log <- "Application";

    do
        initService

    // TODO define your service operations
    override service.OnStart(args:string[]) =
        base.OnStart(args)
        eventLog.WriteEntry("Service Started")

    override service.OnStop() =
        base.OnStop()
        eventLog.WriteEntry("Service Ended")

The entry point for the program is defined in the Program.fs source file:

namespace FSharp.Service

open System
open System.Collections.Generic
open System.Linq
open System.ServiceProcess
open System.Text

module Program =

    [<EntryPoint>]
    let Main(args) =
        // Define your services
        let myService = new MyService()

        // Start the services
        let servicesToRun = [| myService :> ServiceBase |]
        ServiceBase.Run(servicesToRun)

        // main entry point return
        0

As you can see for a service the entry point is defined using the [<EntryPoint>] attribute.

Finally, so that the installutil tool correctly installs the service, an Installer class is also defined:

namespace FSharp.Service

open System
open System.Configuration
open System.Configuration.Install
open System.ComponentModel
open System.Linq
open System.ServiceProcess

[<RunInstaller(true)>]
type public ProjectInstaller() as installer =
    inherit Installer()

    let processInstaller = new ServiceProcessInstaller();
    let serviceInstaller = new ServiceInstaller();

    // TODO initialize your service
    let initInstaller =

        // Define the process settings
        processInstaller.Account <- ServiceAccount.LocalSystem
        processInstaller.Password <- null
        processInstaller.Username <- null
        
        // Define the service settings
        serviceInstaller.Description <- "FSharp.Service MyService"
        serviceInstaller.ServiceName <- "FSharp.Service.MyService"
        serviceInstaller.StartType <- ServiceStartMode.Manual;
        
        // Define the installers
        let installers = [| processInstaller :> Installer; serviceInstaller :> Installer|]
        installer.Installers.AddRange(installers)

    do
        initInstaller

The template version installs the service using the Local System account. However, this can easily be changed.

Finally, the template creates a command file that can be used to install and un-install the service. When running this command file you will need a command prompt running with elevated privileges.

Once again, hopefully you will find this template useful.

Written by Carl Nolan

System Memory May Run Low With WinSAT Included On A Standard 7 Runtime

 

Some developers may have run into issues when using Enhanced Write Filter (EWF) and Performance Monitoring  on their Windows Embedded Standard 7 or Windows Embedded Standard 7 SP1 devices. Consider the following scenario: 

  • You develop a Windows Embedded Standard 7 or Windows Embedded Standard 7 Service Pack 1 image for your device.
  • You added “Performance Monitoring” package in your answer file using Image Configuration Editor.
  • You added “Enhanced Write Filter with HORM” package in your answer file to protect the system (C:) volume.
  • You deployed your image without executing “winsat prepop”.
  •  You enabled EWF for the runtime image.

 In this scenario, you may see the EWF RAM overlay is dramatically consumed when the system becomes idle. The cause for this is that when the system becomes idle, subsequent to the first boot, the WinSAT assessments will run if they were not prepopulated. The assessments include the one for disk, and this consumes the overlay area if EWF is protecting the system drive because the assessment actually writes and reads a file to estimate the I/O performance.

 

To work around this behavior, you can choose one of the following options:

1.   Don’t include WinEmb-Diagnostics-Performance (Diagnostics\Performance Monitoring) in your answer file.

This is a configuration level workaround. If the WinEmb-Diagnostics-Performance package is included, it will register the “WinSAT” task under \Microsoft\Windows\Maintenance, and this will start winsat.exe when the system becomes idle, leading to the consumption of the overlay. “schtasks.exe /query /tn “\Microsoft\Windows\Maintenance\WinSAT” /fo LIST /v” command may show you the details of the task.

 

2.   Execute “winsat prepop” before mass deployment.

This is a runtime level workaround, mainly targeting the image mastering phase. You’ll find %IdentifierDerivedFromDate% %Component%.Assessment(Prepop).WinSAT.xml under %WINDIR%\performance\winsat\datastore after executing “winsat prepop”. By using this method, task scheduler may start winsat.exe as registered, but winsat.exe may not run its full assessment. For more information on configuring WinSAT and pre-populating WinSAT assessments, read the following TechNet article:

Title: Configure Windows System Assessment Tests Scores

URL: http://technet.microsoft.com/en-us/library/dd744241(WS.10).aspx

 

3.   Execute “schtasks.exe /DELETE /TN “\Microsoft\Windows\Maintenance\WinSAT” /F” from an elevated command prompt.

This is the most straightforward way to prevent the system from running WinSAT. This can be executed at any time. Sysprep won’t re-register the WinSAT task.

 Hope this info is useful to you.

 -        Kazuhiko

This blog article is written by Kazuhiko Sugimoto, one of the Embedded Escalation Engineers in Japan.

25 FREE Microsoft Technical exam vouchers–hurry before they all go!

The Microsoft IT Academy Programme and  Prometric have teamed up to offer 25 FREE Microsoft Technical exam vouchers (Value Over £1000) to organisations who are not existing Prometric Exam Centres when they sign up.

Becoming an exam centre is FREE and can be a great additional source of revenue.

If you are not currently a Microsoft IT Academy, no problem, we can organise that at the same time.

What you need to do now:

Contact Marc Barfoot on 023 9241 5534 or marc.barfoot@itskillsman.co.uk to confirm your eligibility and claim your Free vouchers

(There are only a limited number of vouchers available and when they are gone they are gone)

FSIA – Running CTS flows in Parallel

During the CTS flow development, some time there might be requirement to the CTS flows in parallel. This will help in developing the flows in for execution inner sub flows in parallel.

  

Thread operator is the vital component for running different set of flows in parallel. So CTS flow with parallel execution of flows can be built as shown above, please note that this is just one of the samples. So what you have in the flow is

  1. Common starting point, in the above flow it is just a database reader, but in other flows it can be any other starting point like file reader, range generator or any other type of reader available out of the box for CTS components. After common starting point then you can branch the flow execution to as many number of flows that you want to execute in parallel.
  2. Next in each branch if you want to start parallel flow execution with delay of sometime then you can use the timer operator, so that main thread of execution does not spins another thread for flow execution. For Each timer operator in each of the branch you can increase the delay time with equal intervals like 5 sec, 10 sec, 15 sec, 15 sec…….
  3. In each branch then you can put the thread operator. The Thread operator inserts an extra thread in the evaluation at the point it is located. Use of the Thread operator leads to increased throughput of the flow on multi-core servers. The operator can be used to increase the performance for a chain of CPU-intensive operators and for flows with multiple branches.
  4. Once the additional thread is spin off by the thread operator, then all the further execution for the CTS flows is responsible by the spin off thread, in this case we are using flow runner operator. So in this case additional spin off thread is responsible for the flow execution configured by the flow runner operator. Once the flow execution is completed by the flow runner operator which is been executed in thread context of additional thread which is spin off, flow execution returns to the main execution thread.
  5. Please not that flow executing in parallel will execute on different content engine node as available in round robin fashion.

 

IDFLinkable 2011-05-13

FLADEV SCENE – PICK OF THE FISHFRY
Dave Noderer’s Florida .NET Meetings WP7 App – http://wp7applist.com/en-US/app/14988/florida-net-meetings
Gators make life interesting in Florida – in the spirit of your drive – - http://bcove.me/y7j0r3vp 
Mark Polino of Orlando – Top Partner MVP – http://rcpmag.com/articles/2011/05/01/top-10-microsoft-partner-mvps.aspx?sc_lang=en
Bryan Soltis’s Kentico WP7 App (Ft Walton) – http://www.windowsphoneapplist.com/kentico_mobile_manager-a15900.html
Creating then Kentico WP7 App by @bryan_soltis (Ft Walton) – http://blogs.bitwizards.com/Blogs/Bryan-Soltis/May-2011/Developing-the-Kentico-Mobile-Manager-Windows-Phon
Lixter (Boca Raton) on WMPowerUser – http://wmpoweruser.com/developers-linxter-cloud-messaging-api-focused-on-windows-phone-7

ON THINGS MICROSOFT
Windows Phone
MyKindOfPhone blog – http://www.mykindofphone.com
Windows Phone Apps Magazine – http://mykindofphone.posterous.com/windows-phone-apps-magazine-the-pdf
Making your own Angry Birds on WP7 – http://jodegreef.wordpress.com/2011/05/28/making-your-own-wp7-angry-birds-%E2%80%93-part-8-%E2%80%93-introducing-the-target
Augmented Reality Video – http://www.engadget.com/2011/05/24/windows-phone-mango-augmented-reality-hands-on
Nokia WP7 Forum – http://wiki.forum.nokia.com/index.php/About_Windows_Phone
Nokie Projects – WP7 – http://projects.forum.nokia.com/home/project/explore#c[]=328
Whats New for Games in Mango – http://create.msdn.com/en-US/education/catalog/article/whats_new_for_games
Sketchflow v.now for WP7 Prototyping – http://blogs.microsoft.nl/blogs/ux/archive/2011/03/23/using-sketchflow-for-windows-phone-prototyping.aspx 
Sketchflow v.now for WP7 and Panorama – http://blogs.microsoft.nl/blogs/ux/archive/2011/03/31/sketchflow-for-windows-phone-how-to-add-a-panorama-view.aspx 
WP7 Videos – http://www.microsoft.com/presspass/presskits/windowsphone/videogallery.aspx?contentID=mango_vid09
Mobile Phone Ad Click Rates – http://gigaom.com/mobile/youll-never-guess-which-mobile-os-has-highest-ad-click-rate

Mutt
Silverlight Integration Pack for Enterprise Library – http://blogs.msdn.com/b/agile/archive/2011/05/11/silverlight-integration-pack-for-microsoft-enterprise-library-5-0-released.aspx
Microsoft Security Scanner – http://www.zdnet.com/blog/hardware/microsoft-safety-scanner
Copying XAML from Design to Blend – http://expressioniq.com/?p=2390

MISCELLANEOUS
Asparagus, Green Beans, or Weeds? – http://www.straightpathsql.com/archives/2011/05/are-you-planting-asparagus
MacDefender FAQ – http://news.cnet.com/8301-27080_3-20064394-245.html?part=rss&subj=news&tag=2547-1_3-0-20&tag=nl.e703
My moment of fame in Mens Journal – http://www.facebook.com/media/set/?set=a.10150299406464951.410168.720054950&l=a378a2f11d
Simple Visual of OSS Licenses – http://pbagwl.com/post/5078147450/description-of-popular-software-licenses
Google v Skyhook – do no evil – http://www.windowsitpro.com/article/paul-thurrotts-wininfo/emails-suggest-google-microsoft-136089

Microsoft staff and interns help raise public awareness at Brookfields School

BrookfieldsOffice365  BrookfieldsLogo

Brookfields School is a community special school in West Berkshire with a proven track record of providing high quality and innovative education to young people with special needs, recognised regionally, nationally and internationally. OfSTED continues to judge Brookfields School to be one of the few ‘Outstanding’ special schools on the country.

Recently my manager Tim Bush spoke to Stuart McCarthy, Microsoft Consultant Services (MCS) working with Brookfields School to get his view on how adopting SharePoint 2010 has moved the school forward and continue to be highly recognised by OfSTED.

‘’One of the school’s commitments is to raise awareness on special needs in the local community and businesses. Some people from MCS were invited to attend an open day three years ago. We wanted to do something good for the school so offered them some consultancy time during which myself and a colleague, Tom Eddings, created a public facing website in an effort to raise public awareness of the work they do. This site was based on SharePoint technology which empowered the school to keep it up to date themselves and it has been a great success both within the school and externally, with OfSTED commenting on it in their assessment.

Since creating the website, Tom and I have continued the ‘Brookfields programme’ as a showcase of MCS work and readiness for our student MACHs and interns. Last year work was completed for a secure parent portal where student documents could be held securely and delivered electronically. This is something the school has wanted to do for a long time but was held back by their current technology. The original SharePoint solution was easily adapted to enable secure logon and document storage. The school is currently running a beta of this system with parents.

clip_image002

This year we are using Office 365 Beta to create a staff portal for teachers and admin staff to collaborate, share and store documents relating to the school and students. The staff currently uses a shared drive on the school’s network to store and share files which causes issues with backups, change tracking, security, remote access etc. The new system will be accessible from anywhere so teachers can see the same system at home or on any school computer. They will have access to Web Apps for working online with documents or, if they have Office installed, can access their documents or calendars with a richer client-side experience. The system also supports their process of document creation, allowing them to select a template and link it to a student when complete. They can then check this in and send it to the office for approval. During the Office 365 beta phase, the school is trialling the staff portal with 25 members of staff. ‘’

Over the next 12 months, Stuart and his team will be working to continue the work they have been doing by providing up to date technology and solutions to help maintain and develop platforms for both parents and staff to continue support in learning.

Dan Kasun Delivered a Keynote at Com.GEO 2011

Our senior director Dan Kasun delivered a keynote titling “Technology and Industry Trends”  at COM.Geo conference. Joe Francica summarized the event in his blog. You can download his presentation here.

Fun With the MAPI Spooler

Here’s a fun trick. On a machine where you have the Exchange MAPI Download installed, create a file named “Program” in the root of the system drive. Then start MFCMAPI and open a profile with an Exchange mailbox in it. You’ll get this nice error:

The MAPI Spooler could not be started. Close and then restart all mail-enabled applications. MAPI 1.0 [000004C7]
“The MAPI Spooler could not be started. Close and then restart all mail-enabled applications. MAPI 1.0 [000004C7]”

Of course, restarting MAPI applications, or even rebooting, won’t help. You have to delete that file, “Program”, from the root of the system drive. Only then will the MAPI spooler start.

So – what happened here? We’re using CreateProcess to try to launch the spooler. The string we pass in for the command line looks like this:
C:\Program Files (x86)\ExchangeMapi\MAPISP32.EXE –0001EFC1A5208C4

Note the distinct lack of quotes. As the documentation suggests, if you call this function with a path which has white space in it and no quotes, it will try to parse the path as if the first space separates the executable name from the parameters. So it looks for an executable named “C:\Program”. When it finds a file with that name which is not an executable, it returns an error. The lesson here is to make sure to properly quote paths passed to CreateProcess. Also, make sure you don’t have a file named “Program” in the root.

Outlook’s MAPI is not vulnerable to this problem since it no longer has a separate MAPI spooler process. I don’t believe we’ll be pursuing a fix to the Exchange MAPI download since the likelihood of such a file existing for legitimate purposes is low, and you need to be an administrator to even create it in the first place.

?????????? ???????? Search First Migration Accelerator


???????? ?????? ???????????? ? ??????????? 25 ?????? 2011 ?.




??????: ???? ????? (Bill Baer): ??????? ???????????? ??????????? ????????, ?????????? ??????????


????? ???? ???????? ???????????? ? ??????????? ??? ?????????? ? ?????????????? ??????????, ??????? ??? ?????????? ?????? ????????? ????????????? SharePoint. ??? ??????? ?????????? SharePoint 2010 ? ???????????? ??????? ? ????, ??? ??? ?????? ???????? ????? ???????????? ???????????? ????? ????????? ??????????, ????? ??? Enterprise Search ? SharePoint 2010 ??? FAST Search Server 2010. ? ????? ???????? ???????? ????? ??????, ??? ????????? ?????????? ? ???????? ????? ??????? ??? ???????? ?????????????. ????????? ???? ??????? ????? ???????? ? ???????? ??? ?????????? ???????????? ????????????? SharePoint ??? ?????????? ??????????? ?????? ???, ??? ?????????????, ???????? ??????????? ???????????? ?????????????. ? ?????? ???????? ??????????? ?????? ??????????? ????? ????????? ???????? ????????????? ????????? ? ??? ???? ???????? ??????????????????, ???????????????? ? ???????????????? ????? ???????????? ?????? SharePoint 2010 — ? ????? ? ???? ???????? ?????????? ???????? Search First Migration Accelerator.

 

?????????? ???????? Search First Migration Accelerator — ??? ????????? ???????????? ? ???????, ?????????????? ?????????? ? Metalogix, ??????? ????????? ???????????? ????????? ??????????? ?????????? ??????????? ?????? Office SharePoint Server 2007 ?? ?????????? ???????????????? ????????. ??? ???? ?????????????? ?????????? ????????? ????????????? ??????????, ? ??-???????????? ??????????????? ??????????? ???????? ????????? ??????????. ???????????, ? ???? ???????, ???????? ?????? ? ?????????????, ????????????? ? SharePoint Search 2010 ? FAST Search for SharePoint 2010.

 


 

????????? ?????????? ???????? Search First Migration Accelerator ???????? Metalogix ?? ?????? http://www.metalogix.net/Free-Tools/Search-First-Migration-Accelerator/Download/.

 

???????? ?????????????? ????????? ? ????????? ????????? ?????? ? ??????? ???????? ???????? SharePoint Enterprise Search ??? SharePoint Server 2010.

 

??? ?????????? Office SharePoint Server 2007 ?? SharePoint Server 2010 ? ?????????????? ???? ?????? ?????? ??????? ???????? ???? ?????????? ? ???????? ?????, ? ????????? ???????????? ???????? ? ???????? ?????.  ???????? ???? ?????????? ????? ???? ??????? ??????? ? ??? ?? ??????? ???????? ??????????? ????????? ?????? ???????.  ???????? ???????? SharePoint Enterprise Search ??? SharePoint Server 2010 ???????? ???? ???????, ??????????? ????????? ??? ???????? ??????, ????????? ? ???????, ????? ??? ???????? ?????????? ????????, ??????? ?????? ? ????????? ?????? ????????? ???-??????.

 

???????? ???????? SharePoint Enterprise Search ??? SharePoint Server 2010 ????????? ?????????? ?????????????? ? ????????????? ??????, ????????? ? ???????, ????? Office SharePoint Server 2007, SharePoint Server 2010 ? FAST Search Server 2010 ??? SharePoint.

 

?????????????? ???? ????????

 

?????????? ???????????? ?? ???????? ???????? SharePoint Enterprise Search ?? ?????? ???????? ???????? SharePoint Enterprise Search ??? SharePoint Server 2010.

 

????????? ???????? ???????? SharePoint Enterprise Search ??? SharePoint Server 2010 ?? ?????? http://archive.msdn.microsoft.com/odcsp2010searchmigra.

 

?????????????? ???????


 


?????????: SharePoint 2010; SharePoint Server 2010; Search Community Toolkit; FAST

???? ??????????: 27 ?????? 2011 ?. 8:30

??? ?????????????? ?????? ?????. ???????? ?????? ???????? ?? ?????? Search First Migration Accelerator

<!—D;-A;-D;-A; -D;-A; -D;-A; -D;-A; -D;-A; -D;-A; -D;-A; -D;-A; -D;-A; -D;-A; -D;-A; -D;-A; -D;-A; -D;-A; -D;-A; -D;-A; -D;-A; -D;-A; -D;-A; <![CDATA[?Author: Bill Baer, Senior Technical Product Manager, Microsoft Corporation]]>-D;-A; -D;-A; -D;-A; -D;-A; -D;-A; -D;-A; -D;-A; <![CDATA[SharePoint Server 2010 Resource Center ]]>-D;-A; -D;-A; -D;-A; -D;-A; -D;-A; -D;-A; -D;-A; <![CDATA[FAST Search Server 2010 Resource Center]]>-D;-A; -D;-A; -D;-A; -D;-A; -D;-A; -D;-A; -D;-A; -D;-A; -D;-A; -D;-A; -D;-A; -D;-A; -D;-A; -D;-A; <![CDATA[This is a localized blog post. Please find the original article at Search First Migration Accelerator]]>-D;-A; -D;-A; -D;-A; -D;-A; -D;-A; -D;-A;–>