Monday, January 10, 2011

SBS 2008 SourcePrep tool fails to run

I encountered a strange error trying to run the SBS Source Prep tool for 2003 to 2008 migration.

The application silently fails, with the only hint being the following error in the event log.

Event Type: Error
Event Source: .NET Runtime 2.0 Error Reporting
Event Category: None
Event ID: 5000
Date: 1/6/2011
Time: 5:29:59 PM
User: N/A
Computer: MMP1
Description:
EventType clr20r3, P1 sourcetoolwizard.exe, P2 6.0.5601.8532, P3 4c03eb7a, P4 mscorlib, P5 2.0.0.0, P6 4333ab80, P7 ee3, P8 0, P9 n3ctrye2kn3c34sgl4zqyrbfte4m13nb, P10 NIL.

For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.

So I hit the search engines, and unfortunately found very little. I have included the following as they may or may not help others.



Changing the legacyexceptionhandler in the aspnet.config file as per the MSKB article Repairing .Net 2.0 Uninstalling and reinstalling .Net 2.0 Installing updates and patches for .Net 2.0 Trying the installation with a newly created Domain Admin account

http://support.microsoft.com/kb/911816

http://www.eggheadcafe.com/software/aspnet/32044986/net-runtime-20-error-reporting--event-id5000-application-crash.aspx

http://malcan.com/EN/Lists/Tips%20and%20tricks/DispForm.aspx?ID=18

http://support.microsoft.com/kb/2021568

Given there was a very limited window that the client had given to complete the server upgrade, and that I have the benefit of working for a MS Gold Partner, I raised the issue with Microsoft Support.

The ususal standard 'have you tried' out of the way, we ran the app in debug, and also used process monitor to capture what was going on when the tool was running.

A bit of a 'why didn't I think of that' moment. Anyway, the Process Monitor log showed a write to a file call SourceToolUpdate.log. There was nothing of note contained in this file, but in the same folder was SourceTool.log.

http://msdn.microsoft.com/en-us/library/aa511282.aspx

This did have some errors, specifically: a

01/07/2011 16:24:05 !Error! System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.ArgumentException: Font 'Segoe UI' does not support style 'Regular'.
at System.Drawing.Font.CreateNativeFont()
at System.Drawing.Font.Initialize(FontFamily family, Single emSize, FontStyle style, GraphicsUnit unit, Byte gdiCharSet, Boolean gdiVerticalFont)
at System.Drawing.Font.Initialize(String familyName, Single emSize, FontStyle style, GraphicsUnit unit, Byte gdiCharSet, Boolean gdiVerticalFont)
at System.Drawing.Font..ctor(SerializationInfo info, StreamingContext context)
--- End of inner exception stack trace ---

The server appear to have the correct font, so on a whim I grabbed a copy from a 2008 server. Frustratingly, the source tool now runs.

So, if you have issues with the SourceTool, locate the SourceTool.log. It might turn out to be the wrong version of a font.

1 comment:

  1. Me too I have the event id 5000 with this error in log, I hope you can help me.

    03/24/2012 13:05:08 !Error! System.Reflection.TargetInvocationException: Eccezione generata dalla destinazione di una chiamata. ---> System.FormatException: L'indice (in base zero) deve essere maggiore o uguale a zero e minore della dimensione dell'elenco degli argomenti.
    in Microsoft.WindowsServerSolutions.SmallBusinessServer.Tools.MigrationPrep.Wizard.BPAReportPagePresenter.bpaRunner_RunWorkerCompleted(Object sender, RunWorkerCompletedEventArgs e)
    in System.ComponentModel.BackgroundWorker.OnRunWorkerCompleted(RunWorkerCompletedEventArgs e)
    in System.ComponentModel.BackgroundWorker.AsyncOperationCompleted(Object arg)
    --- Fine dell'analisi dello stack dell'eccezione interna ---
    in System.RuntimeMethodHandle._InvokeMethodFast(Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
    in System.RuntimeMethodHandle.InvokeMethodFast(Object target, Object[] arguments, Signature sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
    in System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)
    in System.Delegate.DynamicInvokeImpl(Object[] args)
    in System.Windows.Forms.Control.InvokeMarshaledCallbackDo(ThreadMethodEntry tme)
    in System.Windows.Forms.Control.InvokeMarshaledCallbackHelper(Object obj)
    in System.Threading.ExecutionContext.runTryCode(Object userData)
    in System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData)
    in System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
    in System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
    in System.Windows.Forms.Control.InvokeMarshaledCallback(ThreadMethodEntry tme)
    in System.Windows.Forms.Control.InvokeMarshaledCallbacks()
    in System.Windows.Forms.Control.WndProc(Message& m)
    in System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
    in System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
    in System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
    in System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
    in System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)
    in System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
    in System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
    in System.Windows.Forms.Application.Run(Form mainForm)
    in Microsoft.WindowsServerSolutions.Common.Wizards.Framework.WizardFrameView.Create()
    in Microsoft.WindowsServerSolutions.Common.Wizards.Framework.WizardChainEngine.Launch()
    in Microsoft.WindowsServerSolutions.Admin.Common.WizardLauncher.LaunchWizard()
    in Microsoft.WindowsServerSolutions.Admin.Common.WizardLauncher.RunToCompletion(CommandLineArgs commandLineArgs)
    in Microsoft.WindowsServerSolutions.Admin.Common.WizardLauncher.Run(String[] args)
    in Microsoft.WindowsServerSolutions.SmallBusinessServer.Tools.MigrationPrep.Wizard.Program.StartWizard(ITextLogger logger, UpdateStatus status)
    in Microsoft.WindowsServerSolutions.SmallBusinessServer.Tools.MigrationPrep.Wizard.Program.Main(String[] args)

    ReplyDelete