Simple Object Designer Documentation
Index

Deployment Status

After publishing, you can track the deployment status to monitor progress and diagnose issues. This page explains deployment status monitoring.

Accessing Deployment Status

  1. Open Information > Check deployment status
  2. The deployment status page opens
  3. View current and historical deployments

Understanding Deployment Status

Status Values

Status Description
InProgress Extension is being deployed
Completed Deployment succeeded
Failed Deployment encountered an error

Deployment Phases

  1. Upload - Package uploaded to BC
  2. Validation - BC validates the package
  3. Schema Sync - Database changes applied
  4. Installation - Extension activated

Monitoring Progress

During Deployment

While InProgress:

  • Page shows current phase
  • Progress updates periodically
  • Wait for completion or failure

Completion Time

Typical deployment times:

Scenario Time
Small changes 1-2 minutes
Medium changes 2-5 minutes
Large features 5-10 minutes

Factors affecting time:

  • Number of objects
  • Schema changes
  • Environment load

Failed Deployments

Identifying Failure

When deployment fails:

  • Status shows "Failed"
  • Error message displayed
  • Details may be available

Common Failure Causes

Cause Detected on these error messages Solution
Removing fields not allowed "Removing fields is not allowed" Switch Publish Update Mode to Force Sync
Removing tables not allowed "Removing tables is not allowed" Switch Publish Update Mode to Force Sync
Changing data type "Changing the data type" Switch Publish Update Mode to Force Sync
Compilation error (other compile errors) Fix code issues
Permission issue (permission denied errors) Check deployment permissions
Timeout (timeout / aborted) Retry deployment
BC service issue (service / availability errors) Wait and retry
Microsoft service outage "ServiceUnavailable", "The service is temporarily unavailable." Wait for Microsoft; nothing to change in SOD
FlowField filter points at a missing field "The Field MetaData … does not exist" Correct the FlowField filter's field number
FlowField included in an API (FlowField-related error during a BC update) Remove the FlowField from the API endpoint and republish
API on an obsoleted/removed table "… is obsoleted" naming a table Remove that API endpoint and republish
Object number collision "defined in multiple apps" Identify the holder with ToolBox Object Inspector; in Dual-App mode uninstall App 2 and republish
Malformed RDLC layout "Malformed RDLC report layout … hexadecimal value 0x00, is an invalid character" Repair the layout — see below
Symbol cache defect "The Extension Cache Hgd does not exist. Identification fields and values: App ID='{…}'" Update SOD to the latest version, which contains a workaround

SOD specifically watches for those three "Removing/Changing" messages and prompts you to retry with Force Sync; other errors surface as plain text and need to be addressed manually.

ServiceUnavailable — a Microsoft outage

A deployment failing with Package deployment failed due to the following error(s): Failure status code ServiceUnavailable returned, or the Admin Center's The service is temporarily unavailable. (with a Tracking ID and Correlation ID), is a Microsoft service outage — not an SOD or configuration problem.

It affects both updating and deploying through the BC Admin Center and publishing from within Business Central. The only resolution is to wait and retry. You can raise it with Microsoft or BC support, but the outcome is the same. Nothing needs changing in SOD.

Malformed RDLC report layout

Malformed RDLC report layout at location 'src/layouts/<report>.rdlc'.
The issue is: '.', hexadecimal value 0x00, is an invalid character. Line <n>, position <n>.

This is a layout file problem, not a symbol or publishing problem. Re-downloading symbols and republishing will keep failing at exactly the same point, because the corrupt layout travels with the customization.

The 0x00 null character means the embedded RDLC file is corrupt — it contains an invalid null byte in the XML. Note that a report extension may only reference the standard layout (layout("Standard Sales - Order Conf..rdlc")) rather than adding one of its own; the corrupt RDLC still comes along inside the SOD JSON export.

This has been seen after a BC major version update where the routine involved exporting the SOD config, deleting and recreating a sandbox, and re-importing the JSON — the layout can be corrupted during that round trip.

Repair: export the RDLC from Business Central's standard Report Layouts page for that report and import it onto the report in SOD. See Custom Report Layouts.

Sandbox works, production fails

When installation succeeds in a sandbox but fails in production, the cause is usually a discrepancy in the generated .app package — object IDs, missing dependencies, or the App Mode configuration — rather than an environment permission problem. A mismatch between the two is unusual enough to warrant inspecting the package.

Support will ask for two things:

  1. Whether you are running Single app mode or Dual app mode
  2. The generated .app file, sent to support@hougaard.com for inspection

Also check the target environment for missing dependencies — extensions installed in the sandbox but absent in production. See Publishing Failures and Environments.

Reading Error Messages

Error messages indicate:

  • What went wrong
  • Which object failed
  • Suggested remediation

Capturing diagnostics with Share Details

When a publish or deployment error is not self-explanatory, use the error dialog's Share Details option. It captures:

  • The error message text
  • Internal session ID
  • Application Insights session ID
  • Client activity id
  • Timestamp
  • User telemetry id
  • The full AL call stack

Send that block to Hougaard support — it is what makes a non-obvious runtime error diagnosable.

Retrying Deployments

After Failure

  1. Identify the cause
  2. Fix any issues in SOD
  3. Republish

After Timeout

If deployment times out:

  1. Check BC admin center for status
  2. Extension may still be deploying
  3. Wait before retrying

Extension Deployment Status (BC)

Accessing in BC

  1. Search for "Extension Deployment Status"
  2. View all extension deployments
  3. More details than SOD view

Additional Information

BC provides:

  • Detailed error logs
  • Deployment timeline
  • Operation IDs

Deployment in Different Environments

Sandbox

  • Usually faster deployment
  • More permissive sync
  • Easier error recovery

Production

  • May have stricter controls
  • More careful sync
  • Consider timing for users

Troubleshooting Stuck Deployments

InProgress Too Long

If deployment stays InProgress:

  1. Check BC admin center
  2. Look for actual status
  3. May need admin intervention

Cannot Redeploy

If unable to publish again:

  1. Check for pending deployments
  2. Wait for completion
  3. Contact admin if stuck

Deployment History

Viewing History

The deployment status page shows:

  • Recent deployments
  • Success/failure status
  • Timestamps

Using History

History helps with:

  • Tracking when changes deployed
  • Identifying when issues started
  • Correlating with business events

Best Practices

Monitor Deployments

After every publish:

  1. Check deployment status
  2. Wait for completion
  3. Verify success before proceeding

Document Deployments

Keep records of:

  • What was deployed
  • When it was deployed
  • Status and any issues

Plan Deployment Windows

For production:

  • Deploy during low-usage times
  • Inform affected users
  • Have rollback plan