Can't seem to run Inventory?
I have downloaded both Deploy and Inventory, both installed fine. I can Deploy fine and create some test installations, but I cannot run Inventory for some reason. When I run the program, the splash screen appears, an error pops up and disappears too quickly. Any ideas? Below are my machine specs and the Event Viewer log for the failed running ... it would appear it's something related to fonts?
Windows 7 Enterprise SP1 x64
4GB RAM
120GB SSD
Event Viewer Log:
Log Name: Application
Source: PDQ Inventory
Date: 02/10/2012 22:10:51
Event ID: 0
Task Category: None
Level: Error
Keywords: Classic
User: N/A
Computer: TEST42
Description:
The type initializer for 'System.Windows.Media.FontFamily' threw an exception.
System.TypeInitializationException
System.Object:
at System.Windows.Media.Typeface..ctor(FontFamily fontFamily, FontStyle style, FontWeight weight, FontStretch stretch)
at MS.Internal.Text.DynamicPropertyReader.GetTypeface(DependencyObject element)
at MS.Internal.Text.TextProperties.InitCommon(DependencyObject target)
at MS.Internal.Text.TextProperties..ctor(FrameworkElement target, Boolean isTypographyDefaultValue)
at System.Windows.Controls.TextBlock.GetLineProperties()
at System.Windows.Controls.TextBlock.EnsureTextBlockCache()
at System.Windows.Controls.TextBlock.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.AccessText.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at MS.Internal.Helper.MeasureElementWithSingleChild(UIElement element, Size constraint)
at System.Windows.Controls.ContentPresenter.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at Microsoft.Windows.Themes.ButtonChrome.MeasureOverride(Size availableSize)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Control.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.DockPanel.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.DockPanel.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at MS.Internal.Helper.MeasureElementWithSingleChild(UIElement element, Size constraint)
at System.Windows.Controls.ContentPresenter.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Decorator.MeasureOverride(Size constraint)
at System.Windows.Documents.AdornerDecorator.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Border.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Window.MeasureOverrideHelper(Size constraint)
at System.Windows.Window.MeasureOverride(Size availableSize)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Interop.HwndSource.SetLayoutSize()
at System.Windows.Interop.HwndSource.set_RootVisualInternal(Visual value)
at System.Windows.Window.SetRootVisual()
at System.Windows.Window.SetupInitialState(Double requestedTop, Double requestedLeft, Double requestedWidth, Double requestedHeight)
at System.Windows.Window.CreateSourceWindowImpl()
at System.Windows.Window.ShowHelper(Object booleanBox)
at System.Windows.Window.Show()
at System.Windows.Window.ShowDialog()
at AdminArsenal.Foundation.Windows.ErrorWindow.DispatcherUnhandledException(Object sender, DispatcherUnhandledExceptionEventArgs e)
------- INNER EXCEPTION -------
Not a valid Win32 FileTime.
Parameter name: fileTime
System.ArgumentOutOfRangeException
at System.DateTime.FromFileTimeUtc(Int64 fileTime)
at System.IO.File.GetLastWriteTimeUtc(String path)
at MS.Internal.FontCache.FontSource.GetLastWriteTimeUtc()
at MS.Internal.FontCache.FamilyCollection.AddPhysicalFamilyToList(FontSource fontSource, List`1 familyList, SortedDictionary`2 familyNameList, SortedList`2 frequentStrings)
at MS.Internal.FontCache.FamilyCollection.BuildFamilyList(List`1& familyList, SortedDictionary`2& familyNameList, SortedList`2& frequentStrings)
at MS.Internal.FontCache.FamilyCollection.MS.Internal.FontCache.IFontCacheElement.AddToCache(CheckedPointer newPointer, ElementCacher cacher)
at MS.Internal.FontCache.HashTable.Lookup(IFontCacheElement e, Boolean add)
at MS.Internal.FontCache.CacheManager.Lookup(IFontCacheElement e)
at System.Windows.Media.FontFamily..cctor()
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider Name="PDQ Inventory" />
<EventID Qualifiers="0">0</EventID>
<Level>2</Level>
<Task>0</Task>
<Keywords>0x80000000000000</Keywords>
<TimeCreated SystemTime="2012-10-02T21:10:51.000000000Z" />
<EventRecordID>23182</EventRecordID>
<Channel>Application</Channel>
<Computer>TEST42</Computer>
<Security />
</System>
<EventData>
<Data>The type initializer for 'System.Windows.Media.FontFamily' threw an exception.
System.TypeInitializationException
System.Object:
at System.Windows.Media.Typeface..ctor(FontFamily fontFamily, FontStyle style, FontWeight weight, FontStretch stretch)
at MS.Internal.Text.DynamicPropertyReader.GetTypeface(DependencyObject element)
at MS.Internal.Text.TextProperties.InitCommon(DependencyObject target)
at MS.Internal.Text.TextProperties..ctor(FrameworkElement target, Boolean isTypographyDefaultValue)
at System.Windows.Controls.TextBlock.GetLineProperties()
at System.Windows.Controls.TextBlock.EnsureTextBlockCache()
at System.Windows.Controls.TextBlock.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.AccessText.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at MS.Internal.Helper.MeasureElementWithSingleChild(UIElement element, Size constraint)
at System.Windows.Controls.ContentPresenter.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at Microsoft.Windows.Themes.ButtonChrome.MeasureOverride(Size availableSize)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Control.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.DockPanel.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.DockPanel.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at MS.Internal.Helper.MeasureElementWithSingleChild(UIElement element, Size constraint)
at System.Windows.Controls.ContentPresenter.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Decorator.MeasureOverride(Size constraint)
at System.Windows.Documents.AdornerDecorator.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Border.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Window.MeasureOverrideHelper(Size constraint)
at System.Windows.Window.MeasureOverride(Size availableSize)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Interop.HwndSource.SetLayoutSize()
at System.Windows.Interop.HwndSource.set_RootVisualInternal(Visual value)
at System.Windows.Window.SetRootVisual()
at System.Windows.Window.SetupInitialState(Double requestedTop, Double requestedLeft, Double requestedWidth, Double requestedHeight)
at System.Windows.Window.CreateSourceWindowImpl()
at System.Windows.Window.ShowHelper(Object booleanBox)
at System.Windows.Window.Show()
at System.Windows.Window.ShowDialog()
at AdminArsenal.Foundation.Windows.ErrorWindow.DispatcherUnhandledException(Object sender, DispatcherUnhandledExceptionEventArgs e)
------- INNER EXCEPTION -------
Not a valid Win32 FileTime.
Parameter name: fileTime
System.ArgumentOutOfRangeException
at System.DateTime.FromFileTimeUtc(Int64 fileTime)
at System.IO.File.GetLastWriteTimeUtc(String path)
at MS.Internal.FontCache.FontSource.GetLastWriteTimeUtc()
at MS.Internal.FontCache.FamilyCollection.AddPhysicalFamilyToList(FontSource fontSource, List`1 familyList, SortedDictionary`2 familyNameList, SortedList`2 frequentStrings)
at MS.Internal.FontCache.FamilyCollection.BuildFamilyList(List`1& familyList, SortedDictionary`2& familyNameList, SortedList`2& frequentStrings)
at MS.Internal.FontCache.FamilyCollection.MS.Internal.FontCache.IFontCacheElement.AddToCache(CheckedPointer newPointer, ElementCacher cacher)
at MS.Internal.FontCache.HashTable.Lookup(IFontCacheElement e, Boolean add)
at MS.Internal.FontCache.CacheManager.Lookup(IFontCacheElement e)
at System.Windows.Media.FontFamily..cctor()</Data>
</EventData>
</Event>
Comments
What language version is your Windows 7 computer?
English (UK)
It looks like .NET 3.5 needs to be repaired, some of the font files look to be corrupt.
http://www.adminarsenal.com/admin-arsenal-blog/bid/75362/How-to-Repair-or-Reinstall-NET-Framework-3-5
It's not affecting Deploy because it uses .NET 4, but Inventory is still in .NET 3.5 until the next version.
Go to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts and check the data path of the fonts. Delete those with invalid characters like ;| etc. (dont forget to backup your registry first)
@Adam - just tried that knowledge base article you linked to. Doesn't seem to have resolved it even after disabling/enabling .NET 3.5 (tried also in Control Panel > Prog/Features)
@SelfMan - gone through the list, none of the paths or filenames have weird characters in, the odd underscore here and there but nothing that looks corrupt.
Anything else to try?
I think SelfMan is on the right track. Can you export your HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts from Regedit and upload it? There may be an issue that you can't see in Regedit. You can send it to support@adminarsenal.com if you don't want to post it in the forums.
I will e-mail it through now Adam, thanks!
One other thing you can try is to rebuild the .NET 3.5 font cache:
http://support.microsoft.com/kb/937135
Just tried rebuilding the cache, deleting the font cache .dat and still same issue ... emailing you the .reg file now
What happens when you change the default system fonts for example to Tahoma?
You should also check the FontSubstitutes in registry right below the Fonts tree.
I think you problem is not a problem of PDQ inventory but some font corruption opn your system.
http://www.thewindowsclub.com/how-to-restore-default-fonts-in-windows-7
Nothing in the .reg file looked unusual. Since clearing the font cache didn't work it's probably an issue with one of the installed fonts. .NET is choking on the modified date of the file, it's either too high or too low.
Look at the %windir%\Fonts directory and sort the files by "Date modified" (you may need to add the Date modified column to the list). Are there any dates that are unusually in the future or past? It's probably off by a few hundred years or so.
@Adam - Earliest is 2009, latest is earlier this year ....
@SelfMan - Yeah, I appreciate it's not specifically a PDQ problem, I was just posting to see if anyone else had this issue. I won't be able to progess with the full purchase of both packages if it doesn't run on my own machine, not without rebuilding Windows anyway, and we all know how much of a pain that can be. I tried the restore font settings, made no difference
It's going to be one of the fonts in your %windir%\Fonts folder. You can try deleting your fonts from %windir%\Fonts (back them up first, of course). A bit of trial and error should point out which font is causing the problem. It's cropped up for a couple of other .NET applications.
http://social.msdn.microsoft.com/Forums/en-US/windowsgeneraldevelopmentissues/thread/eb2f909a-5f4b-4f7a-ac48-244ee1c40d1f
Good news, fixed it! I decided to sort my fonts by date modified and start deleting them one by one, and after about 15 fonts through I found the culprit!
Turns out it was a font called Dakota, which unfortunately for me is one I use, but happy to drag and drop this in and out as and when I need it (not that often if i'm being honest) - http://www.azfonts.net/load_font/1196691794_dakota.html <-- the culprit!
Now, on to testing a deployment and hopefully can get this working and get some licenses purchased and begin a huge deployment we have lined up for November
Thanks for all of your input!
Try the WinFontsVIew from Nir Sofer's tools http://www.nirsoft.net/utils/windows_fonts_viewer.html
Chceck if all fonts load properly.
Yet another thing you can do, get the font files from a healthy system and replace the fonts on yours. (after backing them up)
a screenshot of standard fontsin Windows 7 http://www.sevenforums.com/attachments/installation-setup/11155d1242599271-standard-fonts-installed-win7-fonts.jpg
Glad we could help!
James,
Glad it's working. I tried the font here and didn't run into an issue, maybe you could try to download it again and see if it's just something with your copy?