CommunityToolkit / CommunityToolkit/Lottie-Windows
Loading Lottie library causes the app to crash when it is installed from the Microsoft Store
- 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.