CommunityToolkit / CommunityToolkit/Lottie-Windows

Loading Lottie library causes the app to crash when it is installed from the Microsoft Store

Open
#526 0 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
C#
Stars
717
Forks
76
PR merge metrics
No merged PRs in 30d

Description

I'm building a `WPF` application and using Lottie in an Xaml Islands custom component.

When packaging the desktop bridge project, I receive an `App manifest validation error` with the following content:
```
Validation error. error 80080204: App manifest validation error: Line 315, Column 27, Reason: The field "*[local-name()='Extensions']/*[local-name()='Extension']/*[local-name()='InProcessServer']/*[local-name()='ActivatableClass']" with value "Microsoft.Toolkit.Uwp.UI.Lottie.LottieVisualSource" must only be declared once. A duplicate exists on Line 64, Column 27.
```
The mentioned lines and the corresponding tag in the AppxManifest has the following content:
```


UILibrary.dll
*64*

...


CLRHost.dll
*315*

```

From [this](https://github.com/CommunityToolkit/Microsoft.Toolkit.Win32/issues/328#issuecomment-1020348191) workaround, I added the following lines to the `.wapproj` file:
```


<_AppxWinmdFilesToHarvest Remove="@(_AppxWinmdFilesToHarvest)" />


```
With this, I could achieve to not to duplicate these dependencies in the `AppxManifest.xaml` when creating the build, so the issue has gone and I could create the package for the Store submission.

I could upload to the store, it is published, but when I install it from the store, the app crashes when it should display a lottie animation with the following exception:

```
* When the Lottie is initalized from Xaml:
(0x80004005): Error HRESULT E_FAIL has been returned from a call to a COM component.
at Windows.UI.Xaml.UIElement.Measure(Size availableSize)
at Microsoft.Toolkit.Uwp.UI.Controls.WrapPanel.MeasureOverride(Size availableSize)

* Exception, when it is initialized from the code behind:
Cannot create instance of type 'Microsoft.Toolkit.Uwp.UI.Lottie.LottieVisualSource' [Line: 0 Position: 0]
```

The interesting part is that the animation is played when I install the exact same build from the local package. So, seemingly the Store modifies the package during the publish procedure, but what can I do other way?

I'm using Lottie version 7.1.1

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.