Services Modifications

The services modifications are the changes to be performed by a generated package during its deployment to the installed services on a target PC. Those changes can include services creation, deletion and control.

Configuring services during deployment is not supported by App-V and MSIX/AppX packages, so, when generated, those changes are included into the MSI deployment packages only.

The services modifications are displayed in the Services view when the Services node of a project is selected in the Projects view. The changes performed during the monitoring process are added to the services modifications automatically. Let us take a close look at configuring service modifications.

Service

Service

The Service button from the New group on the regular Project and contextual Services Ribbon pages should be used to add a new service modification to the currently configured project.

To add a new service modification, you should either choose the New Service item from the pop-up menu, or press the Service button from the New group on the regular Project and contextual Services Ribbon pages. Within the New Service dialog, you are suggested to configure the service modification in detail Pic 1.

Adding a service to be created and started during a deployment package installation

Pic 1. Adding a service to be created and started during a deployment package installation

While adding a service modification, you should first specify the service name and the operation to be performed over the service. You can choose between the Create, Delete, Control and Restart operations. The scope of the settings available for configuring depends on the selected operation. Let us describe each operation in detail.

The Create operation is used if the service is a part of the installation. So, it is created together with the generated deployment package installation. For the Create operation, the scope of options is the widest. Together with the service name, used to install the service, you must also provide a display name used for the service and a path to the file from the current project to be used as the service executable on the General tab. It is also recommended that a service description be provided, which is displayed in a services section of the computer management console for each installed service. The other options available for service creation on the General tab are the execution options; those are the service type, startup type and the arguments to be passed to the service on startup.

On the Log On tab for the service being created, you can choose it should log on as a local system, or as a specific user. For the local system account, it is possible to define if the service should interact with desktop. On this tab, you can also configure an error control level used for this service. You can choose from the following:

  • Normal - the startup program logs the error in the event log but continues the startup operation.
  • Critical - the startup program logs the error in the event log, if possible. If the last-known-good configuration is being started, the startup operation fails. Otherwise, the system is restarted with the last-known good configuration.
  • Ignore - the startup program ignores the error and continues the startup operation.

The Dependencies tab is also used when configuring the service creation and allows defining the services this service depends on. The service name is provided to the Dependency field and you can add, edit and remove dependencies on-line using the corresponding buttons built into this field.

On the Security tab, you can specify the permissions to be explicitly assigned to this service.

While specifying a service name, display name, description, startup arguments and dependencies you can use the property definition placeholders, standing for the standard MSI properties. See the Property Definition Placeholders section of this document for the list of available placeholders.

For the other operations, except Create, the Log On, Dependencies and Security tabs are not used and only the Name field from the top part of the General tab is used. As for the Delete operation, the service name is the only field to be specified. The service with the matching name will be deleted from a target PC during a generated deployment package installation. For the Control operation, after providing a service name, you should define triggers to start and stop the service on. You can choose between Install, Uninstall, Both and None options to start and stop the service on. As for the Restart operation, you should choose if it should be restarted on install, uninstall or both events.

Edit

Edit

The Edit button from the Management group on the contextual Services Ribbon page should be used to change the selected services modification.

Delete

Delete

The Delete button from the Management group on the contextual Services Ribbon page allows you to delete the selected services modifications from the selected project.

Copy To

Copy To

The Copy To button from the Management group on the contextual Services Ribbon page should be used to copy the selected services modifications to another location.

Move To

Move To

The Move To button from the Management group on the contextual Services Ribbon page allows you to move the selected services modifications to another location.

The services modifications can be changed, deleted and transferred to different location. To change the modification, select it in the Services view and double-click it. Alternatively, you can either choose the Edit item in the pop-up menu or click the Edit button on the contextual Services Ribbon page. While editing a service modification, it is possible to configure the same options as during its creation. To delete specific modifications from the project, select them and choose the Delete item from the pop-up menu or click the Delete button on the contextual Services Ribbon page.

If the project contains some services that you don’t want to include into the generated package, you can use the context menu option Exclude from Build. Excluded resources are displayed in the project using the faded icons. Use the context menu option Include in Build for excluded resource to add them into the generated package. The Exclude from Build option allows you to make experiments with the set of resources included into the resulted package with no deleting resources from the project.

The well-known drag/drop and copy/paste techniques are fully supported for copying and moving services modifications between projects. You can also use the Copy To and Move To buttons from the Management group on the contextual Services Ribbon page to transfer the selected services modifications to a different location. While using these buttons, you are suggested to select a target location in a dialog and confirm your selection Pic 2.

Copying services modifications

Pic 2. Copying services modifications

Now you are introduced to the features used to manage the services modifications with MSI Package Builder and should be able to create and control services by a generated deployment package without any misunderstanding.