Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

When manifest is missing referenced file, exception is thrown instead of helpful error message #5096

Closed
bdukes opened this issue Apr 21, 2022 · 2 comments · Fixed by #5097
Closed

Comments

@bdukes
Copy link
Contributor

bdukes commented Apr 21, 2022

Description of bug

When a module package is uploaded to the installer, if the <releaseNotes> or <license> element uses the src attribute to point to a file that is not in the package, an exception is throw and the user gets no feedback about the issue.

Steps to reproduce

  1. Upload the package Example_install.zip

Current behavior

Generic error (see screenshot below)

Expected behavior

Helpful error

Screenshots

Upload error with response YSOD

Error information

The system cannot find the file specified.
[PathNotFoundException: The system cannot find the file specified.]
   SchwabenCode.QuickIO.Internal.InternalQuickIOCommon.NativeExceptionMapping(String path, Int32 errorCode) +272
   SchwabenCode.QuickIO.QuickIOFile.OpenFileStream(QuickIOPathInfo pathInfo, FileAccess fileAccess, FileMode fileOption, FileShare shareMode, Int32 buffer) +92
   SchwabenCode.QuickIO.QuickIOFile.OpenText(QuickIOPathInfo pathInfo) +34
   DotNetNuke.Common.Utilities.FileSystemUtils.ReadFile(String filePath) in D:\a\1\s\DNN Platform\Library\Common\Utilities\FileSystemUtils.cs:165
   DotNetNuke.Services.Installer.Installers.PackageInstaller.ReadTextFromFile(String source) in D:\a\1\s\DNN Platform\Library\Services\Installer\Installers\PackageInstaller.cs:581
   DotNetNuke.Services.Installer.Installers.PackageInstaller.ReadManifest(XPathNavigator manifestNav) in D:\a\1\s\DNN Platform\Library\Services\Installer\Installers\PackageInstaller.cs:210
   DotNetNuke.Services.Installer.Installers.PackageInstaller..ctor(String packageManifest, InstallerInfo info) in D:\a\1\s\DNN Platform\Library\Services\Installer\Installers\PackageInstaller.cs:84
   DotNetNuke.Services.Installer.Installer.ProcessPackages(XPathNavigator rootNav) in D:\a\1\s\DNN Platform\Library\Services\Installer\Installer.cs:483
   DotNetNuke.Services.Installer.Installer.ReadManifest(Boolean deleteTemp) in D:\a\1\s\DNN Platform\Library\Services\Installer\Installer.cs:347
   Dnn.PersonaBar.Extensions.Components.InstallController.GetInstaller(Stream stream, String fileName, Int32 portalId, String legacySkin, Boolean isPortalPackage) in D:\a\1\s\Dnn.AdminExperience\Dnn.PersonaBar.Extensions\Components\Extensions\InstallController.cs:181
   Dnn.PersonaBar.Extensions.Components.InstallController.ParsePackage(PortalSettings portalSettings, UserInfo user, String filePath, Stream stream) in D:\a\1\s\Dnn.AdminExperience\Dnn.PersonaBar.Extensions\Components\Extensions\InstallController.cs:37
   Dnn.PersonaBar.Extensions.Services.<>c__DisplayClass42_1.b__1(Object ) in D:\a\1\s\Dnn.AdminExperience\Dnn.PersonaBar.Extensions\Services\ExtensionsController.cs:1436
   System.Web.Util.SynchronizationHelper.SafeWrapCallback(Action action) +118
@WillStrohl
Copy link
Contributor

I wanted to try to see what EVS reports about this, because it might be a way to pull in some existing code/logic from the EVS repo. However, it looks like I won't be able to do that. 😦

image

image

@ohine
Copy link
Contributor

ohine commented Apr 21, 2022

I wanted to try to see what EVS reports about this, because it might be a way to pull in some existing code/logic from the EVS repo. However, it looks like I won't be able to do that. 😦

I was in the process of porting over EVS to our community dotnetfoundation account when I was expelled from the group which handles such tasks. As always, I'd be happy to resume that work, but I'd need that access restored. I highly doubt that would happen, but either way, I'm offering it because it's been 3 years now and nobody has stepped up to do the work that I had planned out in the roadmap for the build team I started but was disbanded from.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants