tsasioglu / Total-Uninstaller

Windows software uninstaller
280 stars 27 forks source link

XamlParseException at startup: application not showing #14

Closed BrainCrumbz closed 7 months ago

BrainCrumbz commented 8 years ago

Environment

  1. OS version: Windows 10 64 bits
  2. Total-Uninstaller EXE version: 1.0.0.0

    Steps

  3. Download exe from github, Download zero install exe
  4. Unlock TotalUninstaller.exe from file properties, General tab
  5. Run TotalUninstaller.exe as administrator from context menu

    Expected behaviour

    • Application should start regularly and show up its window

      Actual behaviour

    • It seems like application starts, as the wait spinning cursors shows up briefly, for maybe a second. But then no window shows up, and no TotalUninstaller.exe process is listed in task manager.
    • Checked logs in %APPDATA%/TotalUninstaller, and all the tries I did report the same. Here below the full log. Short message translation follows at the end.
2016-04-01 12:28:14.7373 Startup 
2016-04-01 12:28:15.0223 Unhandled Exception: System.Windows.Markup.XamlParseException: 'La chiamata del costruttore sul tipo 'TotalUninstaller.InstalledItemsView' corrispondente ai vincoli di associazione specificati ha generato un'eccezione.' numero riga '8' e posizione riga '9'. ---> System.FormatException: Formato della stringa di input non corretto.
   in System.Version.VersionResult.SetFailure(ParseFailureKind failure, String argument)
   in System.Version.TryParseComponent(String component, String componentName, VersionResult& result, Int32& parsedComponent)
   in System.Version.TryParseVersion(String version, VersionResult& result)
   in System.Version.Parse(String input)
   in System.Version..ctor(String version)
   in Microsoft.Deployment.WindowsInstaller.ProductInstallation.ParseVersion(String ver)
   in Microsoft.Deployment.WindowsInstaller.ProductInstallation.get_ProductVersion()
   in TotalUninstaller.InstalledItemsViewModel.<>c.<LoadUninstallableItems>b__54_1(ProductInstallation ins)
   in System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
   in System.Linq.Buffer`1..ctor(IEnumerable`1 source)
   in System.Linq.OrderedEnumerable`1.<GetEnumerator>d__1.MoveNext()
   in System.Linq.Enumerable.Count[TSource](IEnumerable`1 source)
   in TotalUninstaller.InstalledItemsViewModel.LoadUninstallableItems()
   in TotalUninstaller.InstalledItemsViewModel..ctor(InstalledItemsView view)
   in TotalUninstaller.InstalledItemsView..ctor()
   --- Fine della traccia dello stack dell'eccezione interna ---
   in System.Windows.Markup.WpfXamlLoader.Load(XamlReader xamlReader, IXamlObjectWriterFactory writerFactory, Boolean skipJournaledProperties, Object rootObject, XamlObjectWriterSettings settings, Uri baseUri)
   in System.Windows.Markup.WpfXamlLoader.LoadBaml(XamlReader xamlReader, Boolean skipJournaledProperties, Object rootObject, XamlAccessLevel accessLevel, Uri baseUri)
   in System.Windows.Markup.XamlReader.LoadBaml(Stream stream, ParserContext parserContext, Object parent, Boolean closeStream)
   in System.Windows.Application.LoadBamlStreamWithSyncInfo(Stream stream, ParserContext pc)
   in System.Windows.Application.LoadComponent(Uri resourceLocator, Boolean bSkipJournaledProperties)
   in System.Windows.Application.DoStartup()
   in System.Windows.Application.<.ctor>b__1_0(Object unused)
   in System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   in System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)

Translated bits:

System.Windows.Markup.XamlParseException: 'The constructor invocation on 'TotalUninstaller.InstalledItemsView' type corresponding to the specified binding constraints threw an exception.' row number '8' and column number in row '9'. ---> System.FormatException: Input string format is incorrect.

johnpan commented 8 years ago

I am having the same issue. I use Windows 8.1

tsasioglu commented 7 years ago

Thanks for the report both. Apologies for the delay(!). I've taken a look. It looks like it's having trouble parsing the product version of one of your installations. I've released a new version (v1.0.1) which should handle this case, and just report '0.0.0.0' if it's unable to parse the version.

If you guys could give it a test and confirm the app now loads that would be great. It should also log the offending application in the form 'Count not determine product version for 'XXX'. If you could let me know the specific install causing trouble I can look into exactly why the version parsing fails.

Thanks