The ServiceControl installation file consists of an embedded MSI bootstrapper EXE and an embedded MSI. This installation can be executed standalone or via the Platform Installer. The installation package include a utility to manage the installation, upgrade, and removal of ServiceControl services. This utility is launched as the final step in the installation process and is also available via the Windows Start Menu.
The ServiceControl installation has the following prerequisites:
- Microsoft .NET 4.5.2 Runtime for Version 1 and 2
- Microsoft .NET 4.6.1 Runtime for Version 3 and higher
If ServiceControl is installed via the Platform Installer then the installation and configuration of these prerequisites are managed by the installer.
In ServiceControl version 1.7 and above, the transport DLLs are managed by the installation and do not need to be downloaded from NuGet. ServiceControl can be configured to use one of the supported transports listed below using the ServiceControl Management application:
- Microsoft Message Queuing (MSMQ)
- Azure Storage Queues
- Azure Service Bus
- Azure Service Bus .NET Standard
- SQL Server
- Amazon SQS
Certain features of the transports are not supported natively by ServiceControl and will require a transport adapter.
For preliminary Azure Service Bus .NET Standard support, select the Azure Service Bus forwarding topology.
Adding third party transports via the Management Utility is not supported. If MSMQ is the selected transport then ensure the service has been installed and configured as outlined in Installing The Platform Components Manually.
Installing MSMQ is optional in the Platform Installer. See Platform Installer - MSMQ.
Metrics are reported via the performance counters if the counters are installed.
For instructions on how to install the performance counters without the Platform Installer refer to Installing The Platform Components Manually
The installation of the NServiceBus performance counters is optional for ServiceControl version 1.7 and above.
Performance counters are not installed by the Platform Installer.
ServiceControl Management provides a simple means of setting up one or more instances of the ServiceControl service. For production systems, it is recommended to limit the number of instances per machine to one.
ServiceControl Management can be launched automatically at the end of the installation process to enable adding or upgrading ServiceControl instances.
ServiceControl Management will display the instances of the ServiceControl service installed. If the version of the binaries used by an instance are older that those shipped with ServiceControl Management, an upgrade link will be shown next to the version label.
To upgrade the service, click the upgrade link next to the service name
Clicking the upgrade link will
- Prompt for additional information that is required such as values for new mandatory settings introduced in the newer version.
- Stop the service.
- Remove the old binaries for ServiceControl and the configured transport.
- Run the new binaries to create required queues.
- Start the service.
If this is a new installation of ServiceControl click on the
Add New Instance button in the center of the screen or the "New Instance" link at the top of the screen; both options launch the "New instance form". Complete the form to register a new ServiceControl service.
When adding the first instance of the ServiceControl service, the default service name is "Particular.ServiceControl". It is possible to change this name to a custom service name. This will also change the queue name associated with this instance of ServiceControl.
To perform a clean uninstallation of ServiceControl from a machine:
- Remove each ServiceControl instance using ServiceControl Management (or Powershell)
- Uninstall ServiceControl Management using Add or Remove programs
To remove a ServiceControl instance, click the Advanced Options button and then select Remove. If applicable, select the option to remove the database and logs directories and then confirm. This will stop the running instance (if it is running) and remove all files related to the instance from the local file system.
Even after a ServiceControl instance has been removed, there are artifacts left behind. Each ServiceControl instance leaves queues in the configured transport. The queue names will depend on the configuration of the ServiceControl instance.
- instance name - contains control messages for the ServiceControl instance.
- instance name.errors - contains control messages that the ServiceControl instance was not able to process.
- instance name.staging - temporarily contains failed messages while they are being retried.
- audit queue name - contains messages that have been processed by endpoints and then forwarded to the audit queue. These messages have not been ingested by the ServiceControl instance yet.
- error queue name - contains messages that failed processing in endpoints and have passed immediate and delayed retries. These messages have not been ingested by the ServiceControl instance yet.
- audit log queue name if audit log forwarding was configured - contains messages that have been ingested from the audit queue, processed by this ServiceControl instance, and then forwarded to the audit log queue.
- error log queue name if error log forwarding was configured - contains messages that have been ingested from the error queue, processed by this ServiceControl instance, and then forwarded to the error log queue.
If the option to delete the database/log folders was not selected when removing the instance, then these folders and their contents are left on disk.
To uninstall ServiceControl Management, use the Apps & features settings in Windows.