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
- Open Information > Check deployment status
- The deployment status page opens
- 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
- Upload - Package uploaded to BC
- Validation - BC validates the package
- Schema Sync - Database changes applied
- 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:
- Whether you are running Single app mode or Dual app mode
- The generated
.appfile, 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
- Identify the cause
- Fix any issues in SOD
- Republish
After Timeout
If deployment times out:
- Check BC admin center for status
- Extension may still be deploying
- Wait before retrying
Extension Deployment Status (BC)
Accessing in BC
- Search for "Extension Deployment Status"
- View all extension deployments
- 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:
- Check BC admin center
- Look for actual status
- May need admin intervention
Cannot Redeploy
If unable to publish again:
- Check for pending deployments
- Wait for completion
- 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:
- Check deployment status
- Wait for completion
- 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