Skip to content

Bump dependencies#6350

Merged
david-poindexter merged 35 commits intodnnsoftware:release/10.0.0from
bdukes:bump-dependencies
Feb 14, 2025
Merged

Bump dependencies#6350
david-poindexter merged 35 commits intodnnsoftware:release/10.0.0from
bdukes:bump-dependencies

Conversation

@bdukes
Copy link
Copy Markdown
Contributor

@bdukes bdukes commented Feb 3, 2025

Summary

Try #6330 again.

I removed the bump of Microsoft.Bcl.AsynInterfaces

@bdukes
Copy link
Copy Markdown
Contributor Author

bdukes commented Feb 3, 2025

Comparing this upgrade package with the 10.0.0 RC1 package, this adds System.Formats.Asn1.dll. I'm not sure what's the correct place to get that packaged with the MailKit provider rather than included in the bin.

Similarly, there are a number of DLLs which are included in the bin of the upgrade package in DNN 10 that weren't included in DNN 9.13.7 that I think should probably be packaged, rather than in the bin. These include the following:

  • BouncyCastle.Cryptography.dll
  • Microsoft.Bcl.AsyncInterfaces.dll
  • System.Text.Encodings.Web.dll
  • System.Text.Json.dll
  • System.ValueTuple.dll

There's also System.Numerics.Vectors.dll in 9.13.7 which seems like it could get packaged.

Ultimately, this all points to the need to have a more robust upgrade process, but that'll have to be tackled separately.

@bdukes bdukes force-pushed the bump-dependencies branch 2 times, most recently from 168cda3 to ac42050 Compare February 3, 2025 18:07
@bdukes
Copy link
Copy Markdown
Contributor Author

bdukes commented Feb 3, 2025

I was able to run an upgrade from a totally clean DNN 9.13.7 to this build without any major failures.

@bdukes
Copy link
Copy Markdown
Contributor Author

bdukes commented Feb 3, 2025

I've also tested import/export, sending email via MailKit, and JWT auth. I've also started a Google SMTP OAuth flow and that looks right, but I've never been able to get the full connection working there.

@bdukes bdukes marked this pull request as ready for review February 3, 2025 21:29
@bdukes
Copy link
Copy Markdown
Contributor Author

bdukes commented Feb 4, 2025

Comparing this upgrade package with the 10.0.0 RC1 package, this adds System.Formats.Asn1.dll. I'm not sure what's the correct place to get that packaged with the MailKit provider rather than included in the bin.

Similarly, there are a number of DLLs which are included in the bin of the upgrade package in DNN 10 that weren't included in DNN 9.13.7 that I think should probably be packaged, rather than in the bin. These include the following:

- `BouncyCastle.Cryptography.dll`
- `Microsoft.Bcl.AsyncInterfaces.dll`
- `System.Text.Encodings.Web.dll`
- `System.Text.Json.dll`
- `System.ValueTuple.dll`

There's also System.Numerics.Vectors.dll in 9.13.7 which seems like it could get packaged.

Ultimately, this all points to the need to have a more robust upgrade process, but that'll have to be tackled separately.

Is removing these packaged assemblies from the install & upgrade package just as simple as adding them to the installExclude array in packaging.json?

@bdukes bdukes force-pushed the bump-dependencies branch from ac42050 to 20d3462 Compare February 4, 2025 17:51
@bdukes
Copy link
Copy Markdown
Contributor Author

bdukes commented Feb 4, 2025

I've pushed a new commit which should remove those conflicting DLLs from the install and upgrade packages, allowing us to also upgrade Microsoft.Bcl.AsyncInterfaces to the latest.

@valadas
Copy link
Copy Markdown
Contributor

valadas commented Feb 7, 2025

Comparing this upgrade package with the 10.0.0 RC1 package, this adds System.Formats.Asn1.dll. I'm not sure what's the correct place to get that packaged with the MailKit provider rather than included in the bin.
Similarly, there are a number of DLLs which are included in the bin of the upgrade package in DNN 10 that weren't included in DNN 9.13.7 that I think should probably be packaged, rather than in the bin. These include the following:

- `BouncyCastle.Cryptography.dll`
- `Microsoft.Bcl.AsyncInterfaces.dll`
- `System.Text.Encodings.Web.dll`
- `System.Text.Json.dll`
- `System.ValueTuple.dll`

There's also System.Numerics.Vectors.dll in 9.13.7 which seems like it could get packaged.
Ultimately, this all points to the need to have a more robust upgrade process, but that'll have to be tackled separately.

Is removing these packaged assemblies from the install & upgrade package just as simple as adding them to the installExclude array in packaging.json?

I think so

@bdukes
Copy link
Copy Markdown
Contributor Author

bdukes commented Feb 7, 2025

Comparing this upgrade package with the 10.0.0 RC1 package, this adds System.Formats.Asn1.dll. I'm not sure what's the correct place to get that packaged with the MailKit provider rather than included in the bin.
Similarly, there are a number of DLLs which are included in the bin of the upgrade package in DNN 10 that weren't included in DNN 9.13.7 that I think should probably be packaged, rather than in the bin. These include the following:

- `BouncyCastle.Cryptography.dll`
- `Microsoft.Bcl.AsyncInterfaces.dll`
- `System.Text.Encodings.Web.dll`
- `System.Text.Json.dll`
- `System.ValueTuple.dll`

There's also System.Numerics.Vectors.dll in 9.13.7 which seems like it could get packaged.
Ultimately, this all points to the need to have a more robust upgrade process, but that'll have to be tackled separately.

Is removing these packaged assemblies from the install & upgrade package just as simple as adding them to the installExclude array in packaging.json?

I think so

I've done that

@bdukes
Copy link
Copy Markdown
Contributor Author

bdukes commented Feb 13, 2025

@valadas I had to downgrade both Microsoft.Bcl.AsyncInterfaces and System.Threading.Tasks.Extensions (and all packages that depend on them), but now I get both a successful install and upgrade.

@valadas
Copy link
Copy Markdown
Contributor

valadas commented Feb 13, 2025

Awesome, install worked fine for me but then after upgrading from 9.13.7 to this one, I always get redirected to the now missing UpgradeWizard.aspx after the upgrade is finished.

It appears the database Versions table did not receive a new row after the upgrade. I should have cleared my logs between the v9 install and the upgrade, but I think this could potentially be the relevant part:

2025-02-13 13:37:20.707-05:00 [DanielValadasPC][D:4][T:21][ERROR] DotNetNuke.ComponentModel.ProviderInstaller - System.Configuration.ConfigurationErrorsException: Could not load provider DNNConnect.CKEditorProvider.CKHtmlEditorProvider, DNNConnect.CKEditorProvider
2025-02-13 13:37:20.769-05:00 [DanielValadasPC][D:4][T:11][ERROR] DotNetNuke.Data.PetaPoco.PetaPocoHelper - [1] Error executing SQL: ;Exec dbo.GetDatabaseVersion
Could not find stored procedure 'dbo.GetDatabaseVersion'.
2025-02-13 13:37:21.072-05:00 [DanielValadasPC][D:4][T:11][ERROR] DotNetNuke.Data.PetaPoco.PetaPocoHelper - [3] Error executing SQL: ;Exec dbo.GetPortalAliases
Could not find stored procedure 'dbo.GetPortalAliases'.
2025-02-13 13:37:21.072-05:00 [DanielValadasPC][D:4][T:11][ERROR] DotNetNuke.Services.Exceptions.Exceptions - System.Data.SqlClient.SqlException (0x80131904): Could not find stored procedure 'dbo.GetPortalAliases'.
   at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
   at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
   at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
   at System.Data.SqlClient.SqlDataReader.TryConsumeMetaData()
   at System.Data.SqlClient.SqlDataReader.get_MetaData()
   at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption, Boolean shouldCacheForAlwaysEncrypted)
   at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest)
   at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)
   at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
   at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)
   at DotNetNuke.Data.PetaPoco.PetaPocoExt.ExecuteReader(Database database, String sql, Object[] args)
   at DotNetNuke.Data.PetaPoco.PetaPocoHelper.ExecuteReader(String connectionString, CommandType type, Int32 timeoutSec, String sql, Object[] args)
   at DotNetNuke.Data.SqlDataProvider.ExecuteReader(String procedureName, Object[] commandParameters)
   at DotNetNuke.Entities.Portals.PortalAliasController.<>c.<GetPortalAliasesInternal>b__16_0(CacheItemArgs c)
   at DotNetNuke.Common.Utilities.DataCache.GetCachedDataFromDictionary(CacheItemArgs cacheItemArgs, CacheItemExpiredCallback cacheItemExpired)
ClientConnectionId:264ad395-ba1a-403f-9de3-6f5e5d5e4638
Error Number:2812,State:62,Class:16
2025-02-13 13:37:21.232-05:00 [DanielValadasPC][D:4][T:14][ERROR] DotNetNuke.Data.PetaPoco.PetaPocoHelper - [1] Error executing SQL: ;Exec dbo.GetDatabaseVersion
Could not find stored procedure 'dbo.GetDatabaseVersion'.
2025-02-13 13:37:55.654-05:00 [DanielValadasPC][D:4][T:14][ERROR] DotNetNuke.Common.Internal.ServicesRoutingManager - Unable to register service routes
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.InvalidOperationException: No service for type 'System.Web.Http.Filters.IFilterProvider' has been registered.
   at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService(IServiceProvider provider, Type serviceType)
   at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService[T](IServiceProvider provider)
   at DotNetNuke.Web.Api.Internal.ServicesRoutingManager.RegisterRoutes()
   --- End of inner exception stack trace ---
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
   at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at DotNetNuke.Common.Internal.ServicesRoutingManager.RegisterServiceRoutes()
2025-02-13 13:37:55.695-05:00 [DanielValadasPC][D:4][T:14][ERROR] DotNetNuke.Common.Internal.ServicesRoutingManager - Unable to register service routes
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.InvalidOperationException: No service for type 'System.Web.Http.Filters.IFilterProvider' has been registered.
   at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService(IServiceProvider provider, Type serviceType)
   at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService[T](IServiceProvider provider)
   at DotNetNuke.Web.Api.Internal.ServicesRoutingManager.RegisterRoutes()
   --- End of inner exception stack trace ---
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
   at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at DotNetNuke.Common.Internal.ServicesRoutingManager.RegisterServiceRoutes()
2025-02-13 13:40:15.718-05:00 [DanielValadasPC][D:8][T:34][FATAL] DotNetNuke.Web.Common.Internal.DotNetNukeHttpApplication - System.Web.HttpException (0x80004005): The file '/Install/UpgradeWizard.aspx' does not exist.
   at System.Web.UI.Util.CheckVirtualFileExists(VirtualPath virtualPath)
   at System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate)
   at System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate)
   at System.Web.Compilation.BuildManager.GetVirtualPathObjectFactory(VirtualPath virtualPath, HttpContext context, Boolean allowCrossApp, Boolean throwIfNotFound)
   at System.Web.Compilation.BuildManager.CreateInstanceFromVirtualPath(VirtualPath virtualPath, Type requiredBaseType, HttpContext context, Boolean allowCrossApp)
   at System.Web.UI.PageHandlerFactory.GetHandlerHelper(HttpContext context, String requestType, VirtualPath virtualPath, String physicalPath)
   at System.Web.HttpApplication.MaterializeHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
   at System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep step)
   at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

@bdukes
Copy link
Copy Markdown
Contributor Author

bdukes commented Feb 13, 2025

Could there have been database connectivity issues which would be why that stored procedure wasn't found? I was able to upgrade from 9.13.7 (with Telerik & FAQ module) without any issue…

@valadas
Copy link
Copy Markdown
Contributor

valadas commented Feb 14, 2025

ApparentlyKidGIF
Apparently that was a fluke, I just retried twice and it worked just fine. I may have copied the files from the wrong source or something. This is awesome!

Copy link
Copy Markdown
Contributor

@valadas valadas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Clean install and upgrade worked fine for me. Thanks @bdukes

Copy link
Copy Markdown
Contributor

@david-poindexter david-poindexter left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am good with this in principal - we can always address any potential fallout in another RC (if necessary). Thank you @bdukes 🎉

@david-poindexter david-poindexter merged commit 128e963 into dnnsoftware:release/10.0.0 Feb 14, 2025
3 checks passed
@david-poindexter david-poindexter deleted the bump-dependencies branch February 14, 2025 20:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants