This documentation describes the installation and operation of the DataMigrate PRO service bus listener as a Windows service under the name “DataMigrate PRO Synch-Service”. The instructions are based on the available CLI references and the requirements for settings.json.
Overview
The command
DataMigratePro -t listen --install "DataMigrate PRO Synch-Service" --registration "<your-registration-key>" --tenantid "<your-tenant-id>"Runs the following steps one after the other:
- -t listen starts the Azure Service Bus listener of DataMigrate PRO. For productive operation, the connection settings are loaded from the settings.json file.
- --install "DataMigrate PRO Synch-Service DWP" installs the listener in the Windows service wrapper (launcher) and sets up the specified service name.
- --registration ... --tenantid ... checks and stores the registration/license key and the Azure AD tenant. Without valid registration, the tool refuses to operate as a service after a short time.
Prerequisites
- Windows server with administrator rights (required for the service installation).
- Copy of the DataMigratePro program folder (incl. DataMigratePro.exe, settings.json).
- Network access to:
- SQL permissions for the service user
- Registration key (--registration) and Azure AD tenant ID (--tenantid).
Installation steps
- Prepare the folder
- Copy the complete delivery package to
C:\Programme\DataMigratePro(or another target without spaces in the path). - Make sure that
DataMigratePro.exeandsettings.jsonare reachable, and that the service user is allowed to create the Logs directory in that path and to write log files there.
- Copy the complete delivery package to
- Create or adjust settings.json
- Create or update
settings.jsonin the installation folder, following the example in the Example configuration section.
- Create or update
- Prepare the registration
- Open an administrative PowerShell.
- Navigate to the installation folder:
cd C:\Programme\DataMigratePro.
- Run the registration
- Run the command above, but without
--install, to validate the license and Service Bus data: .\DataMigratePro.exe -t listen --registration "<your-registration-key>" --tenantid "<your-tenant-id>"- If this succeeds, the Service Bus parameters (queue names, connection string) are added to the
settings.jsonfile.
- Run the command above, but without
- Install the service
- Then start the final installation:
.\DataMigratePro.exe -t listen --install "DataMigrate PRO Synch-Service" --registration "<your-registration-key>" --tenantid "<your-tenant-id>"- The launcher registers a Windows service. Log output is redirected to the Windows event log.
- Start the service
- Open
services.msc, look for DataMigrate PRO Synch-Service DWP, set the startup type to Automatic and start the service.
- Open
How the service bus listener works
- The listener monitors the configured RequestQueueName for incoming messages. Each message triggers the DataMigrate PRO data processing pipeline.
- Responses and status messages are written to ResponseQueueName.
- The loop runs continuously and uses short polling intervals (approx. 1 second) to detect new messages.
- Errors are written to the Windows event log; in the case of serious errors, the service stops with a corresponding error code.
Configuration in Business Central
- In the Business Central Extension the same connectionId must be entered as in the settings.json, so that messages are assigned unambiguously to the listener.
- Where possible, use a uniquely generated identifier (e.g. a GUID or a generated password) as connectionId in order to rule out overlaps with other integrations.
- The Business Central configuration also stores the endpoint of the prepared Azure Function together with the access key generated in Azure. Only then can the application place messages into the Service Bus queue successfully.
Example configuration (settings.json)
{
"SqlConnectionString": "Data Source=SQLSERVER;Initial Catalog=BC_PROD;Integrated Security=SSPI;",
"SourceCompany": "CRONUS AG",
"DestinationCompany": "CRONUS AG",
"SourceDatabase": "BC_PROD",
"MappingDatabase": "BC_PROD",
"MigrationDatabase": "BC_MIGRATION",
"EndpointUrl": "https://api.businesscentral.dynamics.com/v2.0/<your-tenant-id>/Production/ODataV4/Upload_LoadData?company=CRONUS%20AG",
"BlobMagicSignature": [2, 69, 125, 91],
"IsSaaS": true,
"Environment": "Production",
"TenantInfo": {
"TenantId": "<your-tenant-id>",
"ClientId": "<Azure AD App ID>",
"ClientSecret": "<Azure AD App Secret>"
},
"HttpClientTimeoutSeconds": 100,
"ServiceBus": {
"ServiceBusConnectionString": "Endpoint=sb://<namespace>.servicebus.windows.net/;SharedAccessKeyName=<Name>;SharedAccessKey=<Key>",
"RequestQueueName": "<deine-request-queue>",
"ResponseQueueName": "<deine-response-queue>",
"connectionId": "<deine-connection-id>"
}
}Notes:
- The ServiceBus section is mandatory for -t listen. Missing values lead to a validation exception when the service starts.
- Match the connectionId entered here with the configuration in Business Central. Use a unique identifier to avoid incorrect assignments.
- TenantInfo is required for SaaS/OAuth. For on-premises operation, set IsSaaS to false and use BCUser/BCPassword instead of TenantInfo.
- BlobMagicSignature can be adopted as it is, provided there is no specific requirement of your own.
- Further optional settings such as SqlConnectionStringMigration or AppSourceEnabled can be added if required.
Review and maintenance
- Check the service status
- Call
Get-Service "DataMigrate PRO Synch-Service"in PowerShell.
- Call
- Review the log output
- Event Viewer → Applications and Services Logs → DataMigratePro.
- Adjust the settings
- Stop the service first, edit the
settings.jsonfile, then restart the service.
- Stop the service first, edit the
- Uninstall the service
- Run
DataMigratePro.exe --uninstall "DataMigrate PRO Synch-Service"to remove it.
- Run
Troubleshooting
| Symptom | Cause | Solution |
|---|---|---|
| Service starts and stops immediately | Invalid or missing ServiceBus entries |
Verify settings.json, run the registration again |
| Error message “Registration invalid” | Wrong key or tenant ID | Check the values, contact support if necessary |
| No message processing | Wrong RequestQueueName or missing permissions |
Check the queue name and the SAS policy |
| OAuth authentication fails | TenantInfo incomplete or app registration without BC permissions |
Check the Azure AD app, renew the secret |
