Blog Posts
Version 1.0.0 failed to upgrade
6/29/2026
Issue Summary
An Oqtane module (GIBS.Module.Support) stayed at version 1.0.0 and failed to upgrade.
Installer logs showed:
1. ServerManagerType ... Does Not Exist
2. After that was fixed, module install still failed with SQL error:
• There is already an object named 'GIBSSupport' in the database (Error 2714)
Because install steps failed, Oqtane never advanced the stored module version.
Root Causes
1. Server manager type resolution mismatch
• ServerManagerType was not assembly-qualified.
• Oqtane install path resolves manager type via runtime type lookup requiring assembly context.
2. Install migration replay against existing schema
• Support tables already existed (GIBSSupport, etc.).
• Module install attempted to re-run initial migrations for each release version.
• Duplicate-table SQL errors aborted upgrade progression.
3. Dependency/activation risk during install
• Repository service registration needed to be explicit for manager/service activation.
Successful Fixes Applied
1. ServerManagerType corrected
• Changed from:
• GIBS.Module.Support.Manager.SupportManager
• To:
• GIBS.Module.Support.Manager.SupportManager, GIBS.Module.Support.Server.Oqtane
2. Service registration corrected
• Added repository DI registration in server startup:
• ISupportRepository -> SupportRepository
3. Install path made idempotent for existing schema
• In SupportManager.Install(...), wrapped migrate call and treated duplicate-object errors (already an object named, SQL 2714 pattern) as successful/no-op so version progression can continue.
4. Version metadata synchronized and advanced
• Updated module/project/nuspec versions and ReleaseVersions.
• Final successful package version: 10.2.4.
Final Outcome
• Oqtane extension now shows: Support 10.2.4
• Upgrade/install completes despite pre-existing module tables.
• Module version now increments correctly.
Transferable Guidance for Similar Projects
If a module is stuck on old version in Oqtane:
1. Verify ServerManagerType is assembly-qualified.
2. Ensure all constructor dependencies for manager/install classes are registered in DI.
3. Make install migrations idempotent when existing schema may already exist.
4. Bump to a new package version after each fix so Oqtane reprocesses upgrade logic.
5. Confirm extension version in UI and check logs for new (post-fix) errors only.