Developer forum

Forum » Dynamicweb 10 » Error when installing addin through appstore on wsl2 ubuntu

Error when installing addin through appstore on wsl2 ubuntu

Jóhannes Þorkell Tómasson
Reply

When I try to install addins through the appstore through DW10 admin UI on ubuntu it doesn't work correctly. The feedback from the UI indicates success but the addin isn't usable. The problem seems to be in the generated path hierarchy of the dll. Instead of Installed > [addin] > lib > ... the path becomes 'Installed\[addin]' > lib > ... (see picture below)

It's fixable by recreating the correct directory structure but it's cumbersome. This feature works fine on the same machine when run on windows 11.  


Replies

 
Nicolai Pedersen Dynamicweb Employee
Nicolai Pedersen
Reply
This post has been marked as an answer

Hi Jóhannes

Nice - Ubuntu!

We will have a look - seems like some path seperator that is still hard coded in our end. We will take a look at this and see what we find.

Thank you for reporting!

Votes for this answer: 1
 
Joseph Vause
Reply

We are noticing this when trying to install an app via the appstore on a docker container 

An unhandled error occurred: One or more errors occurred. (Invalid argument : '/Swift/Files/System/AddIns/Installed\Dynamicweb.Dataintegration.Providers.Dynamicwebprovider.10.5.0')
 

Has this not been fixed yet as of 10.6.6?

Thanks

 
Jeppe Eriksson Agger Dynamicweb Employee
Jeppe Eriksson Agger
Reply

Hi Joseph,

It seems this one fell through the cracks. I've submitted a fix for the issue, and it's currently awaiting QA.

- Jeppe

 
Joseph Vause
Reply

Thanks for the quick response.

Is there anytime frame on this being released? 

Is there currently a workaround for this?

 
Jeppe Eriksson Agger Dynamicweb Employee
Jeppe Eriksson Agger
Reply

We're at the height of vacation season here in Denmark, so I can't say for sure when it can be released. I would expect it to take at least a week or two, maybe a little longer.

As for workaround, there's one mentioned in the OP: "It's fixable by recreating the correct directory structure". Basically, place the assembly in the correct folder and restart the container.

- Jeppe

 
Joseph Vause
Reply

Great, how can i get the files needed to put them in the correct place? In our case it doesnt even create an invalid folder structure, it just produces that error, so i need to be able to get the assemblies for it

Dynamicweb.Dataintegration.Providers.Dynamicwebprovider

Dynamicweb.Dataintegration.Providers.Ecomprovider

Dynamicweb.Dataintegration.Providers.Odataprovider

Dynamicweb.Dataintegration.Providers.Orderprovider

Dynamicweb.Dataintegration.Providers.Sqlprovider

Dynamicweb.Dataintegration.Providers.Userprovider

Dynamicweb.Ecommerce.Checkouthandlers.Stripecheckout

 
Jeppe Eriksson Agger Dynamicweb Employee
Jeppe Eriksson Agger
Reply

Seeing as you have that many providers you need to install, I would suggest that you switch hosting environment until the bugfix has been released -- at least for the installation of the providers. If that's not an option, use the following steps.

  1. Download the provider package from NuGet (https://www.nuget.org)
    • Take note of the version number as it's needed for later
  2. Extract the nupkg file using an archive tool like 7Zip or WinZip
    • You may need to rename the file extension to zip
  3. Navigate to /Files/System/AddIns/Installed
  4. Create a new folder called [NameOfPackage].[PackageVersion]​​
    • ​​In the case of Dynamicweb.Dataintegration.Providers.Dynamicwebprovider, the folder path for the current version would be /Files/System/AddIns/Installed/Dynamicweb.Dataintegration.Providers.Dynamicwebprovider.10.5.0
  5. Copy the lib folder from the extracted package to the newly created folder
  6. Repeat steps 1. to 5. for all other packages
  7. Restart the container
 
Joseph Vause
Reply

Thanks for providing the steps, extremely helpful. But I have done those, and nothing is coming up even restarting the container

 

 
Jeppe Eriksson Agger Dynamicweb Employee
Jeppe Eriksson Agger
Reply

If you create a job in Integration, do the providers appear there? They may be usable even if they don't appear under Installed apps. I haven't investigated, but I'm just thinking that the UI may try to use the flawed method to find installed apps and therefore not finding them. If that's the case, it's purely a UI issue, meaning the providers should work as expected.

In case the providers don't work, that seems to indicate the the assemblies weren't copied correctly into the folders. Can you show me the contents of one of them?

- Jeppe

 
Joseph Vause
Reply

No they dont appear in the folders.

We have found a workaround, we have added them as nuget packages to our csproj that runs Dynamic Web, and whilst they don't appear on the installed tab (the UX does show them as installed on the All Addins screen though), they are installed and selectable on the integration screens.

 
Jeppe Eriksson Agger Dynamicweb Employee
Jeppe Eriksson Agger
Reply

Glad you found a workaround that works for you. I have a couple of observations, though.

Since the assemblies don't appear in the folders, that could indicate that the Docker volume or mount used for /Files isn't being changed/persisted correctly between sessions. Not sure what the issue could be unless you have your Files volume as part of your deployment and not a persistent volume.

Adding the packages as NuGet dependencies to the project -- effectively copying them to the /bin folder instead -- is a viable option for a custom Docker image, but it's not a transferable technique. By this I mean that you can do it for a Docker image or self-hosted solutions in general, but you would not be able to do that for solutions hosted in DynamicWeb Cloud. That's because DW Cloud uses a versionless strategy for updating application. The consequence of this is you only have control over the /Files folder, but you have no access to the application folders -- including the /bin folder.

Not sure if any of this is applicable to you, but I just wanted to mention it.

- Jeppe

 
Joseph Vause
Reply

We are self hosting, and its only whilst the current bug is ironed out.

The Files system is being hosted on Azure File Share, and Dynamic Web is being run as a container app, with that folder mounted through that, it can access that folder when browsing, so not entirely sure whats going on there (unless the same issue with the \ is further down than just the UX?)

 

You must be logged in to post in the forum