System Center Configuration Manager (SCCM) is a systems management software product developed by Microsoft for managing large groups of computers running Windows NT, Windows Embedded, OS X, Linux or UNIX, as well as Windows Phone, Symbian, iOS and Android mobile operating systems.Configuration Manager provides remote control, patch management, software distribution, operating system deployment, network access protection and hardware and software inventory.


Like many other software, the eG VM Agent software can also be distributed or remotely deployed on multiple Windows VMs using the SCCM.


The broad steps to achieve this are as follows:

    1. Creating a silent mode script for eG VM Agent installation

    2. Building a package for eG VM Agent installation using SCCM

    3. Deploying the package using SCCM


Each of these steps are explained in detail in the sections that follow.


1.1 Creating a Silent Mode Script for eG VM Agent Installation

For this, follow the procedure detailed below:

    1. Login to a target Windows VM.

    2. Make sure the eGVMAgent.exe is available on the target VM.

    3. From the command prompt, run the following command to launch the normal mode installation of the eG VM Agent.

        eGVMAgent_<32/64>.exe /a /r /f1"<Full path to the script file into which the installation inputs will be stored>”

    For example:

        eGVMAgent_x64.exe /a /r /f1"C:\script\eGVMAgent.iss”

    4. Upon execution, this command will automatically create a script file of the given name in the location mentioned in the command.

    5. Command execution will also begin the normal mode installation of the eG VM Agent. Provide inputs as and when necessary to proceed with the installation.

    6. These inputs will be automatically recorded in the script file that was created in step 3.


1.2 Building a Package Using SCCM

The steps are as follows:

1. Create a shared folder in your network and allow all Windows VMs on which the eG VM agent is to be installed to access that shared folder.

2. Copy the *.iss file that you created in Section 1.1 to this folder.

3. Then, copy the eGVMAgent.exe (or the eGVMAgent_64.exe, as the case may be) to the shared folder.

4. Next, login to any Windows host and open Notepad. Enter the following command line in it:

        <eGVMAgent executable> /a /s /f1"<Path to the shared folder containing the *.iss file>"

    For instance, your command can be:

        eGVmAgent_x64.exe /a /s /f1"\\eginstall\vmagent\source\eGVMAgent.iss"

5. Save the file as setup.bat.

6. Copy the setup.bat to the shared folder.

7. Next, start the SCCM's Deployment wizard. Below window will appear, where you have to provide the name of the package being built. For convenience, name the package as eGVMAgent.



8. Make sure that the The package contains source files check box is selected. Then, use the Browse button alongside the Source folder text box to browse for the shared folder in which the VM agent executable, the *.iss file, and the setup.bat have been copied.

9. Then, click the Next button to proceed. 

    10. In the above window, against Command line, enter setup.bat - the name of the batch file that contains the command to run the installation script, *.iss, in the silent mode.

    11. Then, from the Program can run drop-down, select the Whether or not a user is logged on option, so that VM agent installation can proceed whether/not a user is logged into a Windows VM.

    12. Then, click Next to move to the next step.


    13. From the Platform requirements section of Figure 1.3, select the This program can run on any platform option. From the list of platforms, select the Windows platforms on which the package should be deployed. Then, click the Next button.

    14. Figure 1.4 will then appear displaying a quick summary of the package settings you configured. Review the settings and click the Next button to trigger package creation.



15. If package creation is successful, then below window will then appear informing you of the same.


16. Finally, click the Close button to exit the wizard.


1.3 Deploying the eGVMAgent Package Using SCCM


Once the package is created, you need to deploy the package on the target Windows VMs using SCCM. To do this, follow the steps below:

1. In the Configuration Manager console, click Software Library.

2. In the Software Library workspace, expand Application Management, and then click Packages.

3. Select the package that you want to deploy. In our case, this will be the 'eGVMAgent' package you created as described in Section 1.2 above, Then, in the Home tab in the Deployment group, click Deploy.

4. On the General page of the Deploy Software Wizard, specify the name of the package and program that you want to deploy, the collection to which you want to deploy the package and program, and optional comments for the deployment.

5. Select Use default distribution point groups associated to this collection if you want to store the package content on the collections default distribution point group. If you did not associate the selected collection with a distribution point group, this option will be unavailable.

6. On the Content page of the Wizard, click Add, and then select the distribution points or distribution point groups to which you want to deploy the content that is associated with this package and program.

7. On the Deployment Settings page of the Wizard, choose a purpose for this deployment, and specify options for wake-up packets, and metered connections: 

Purpose - Choose from:

            o Available - If the application is deployed to a user, the user sees the published package and program in the Application Catalog and can request it on demand. If the package and program is deployed to a device, the user will see it in Software Center and can install it on demand.

            o Required - The package and program is deployed automatically, according to the configured schedule. However, a user can track the package and program deployment status and install it before the deadline by using Software Center.

  • Send wake-up packets – If the deployment purpose is set to Required and this option is selected, a wake-up packet will be sent to computers before the deployment is installed to wake the computer from sleep at the installation deadline time. Before you can use this option, computers must be configured for Wake On LAN.
  • Select Allow clients on a metered Internet connection to download content after the installation deadline, which might incur additional costs if required.

Note:

The Pre-deploy software to the user's primary device option is not available when you deploy a package and program.

8. On the Scheduling page of the Wizard, configure when this package and program will be deployed or made available to client devices.

The options on this page will vary depending on whether the deployment action is set to Available or Required.

9. If the deployment purpose is set to Required, configure the rerun behavior for the program from the Rerun behavior drop-down list. Choose from the following options:


Rerun behaviorMore information
Never rerun deployed programThe program will not be rerun on the client, even if the program originally failed, or the program files are changed.
Always rerun programThe program will always be rerun on the client when the deployment is scheduled, even if the program has already successfully run. This can be useful when you use recurring deployments in which the program is updated, for example with antivirus software.
Rerun if failed previous attemptThe program will be rerun when the deployment is scheduled only if it failed on the previous run attempt.
Rerun if succeeded on previous attemptThe program will be rerun only if it previously ran successfully on the client. This is useful when you use recurring advertisements in which the program is routinely updated, and in which each update requires the previous update to be successfully installed.


10. On the User Experience page of the Wizard, specify the following information:

  • Allow users to run the program independently of assignments – If enabled, users can install this software from the application catalogue regardless of any scheduled installation time.
    • Software installation – Allows the software to be installed outside of any configured maintenance windows.
    • System restart (if required to complete the installation) – If the software installation requires a device restart to complete, allow this to happen outside of any configured maintenance windows.
    • Embedded Devices - For Configuration Manager SP1 only. When you deploy packages and programs to Windows Embedded devices that are write filter enabled, you can specify to install the packages and programs on the temporary overlay and commit changes later, or commit the changes at the installation deadline or during a maintenance window. When you commit changes at the installation deadline or during a maintenance window, a restart is required and the changes persist on the device.

Note:

When you deploy a package or program to a Windows Embedded device, make sure that the device is a member of a collection that has a configured maintenance window.


11. On the Distribution Points page of the Wizard, specify the following information:

  • Deployment options – Specify the actions that a client should take to run program content. You can specify behavior when the client is in a fast network boundary, or a slow or unreliable network boundary.
  • Allow clients to share content with other clients on the same subnet – Select this option to reduce load on the network by allowing clients to download content from other clients on the network that already downloaded and cached the content. This option utilizes Windows BranchCache and can be used on computers that run Windows Vista SP2 and later.
  • Allow clients to use a fallback source location for content – If enabled, clients can search other distribution points in the hierarchy for required content if this is not available on the specified distribution point or distribution point groups.

12. On the Summary page of the Wizard, review the actions that will be taken and then complete the Wizard.

You can view the deployment in the Deployments node of the Monitoring workspace and in the details pane of the package deployment tab when you select the deployment.


Note:

If you configured the option Run program from distribution point on the Distribution Points page of the Deploy Software Wizard, do not clear the option Copy the content in this package to a package share on distribution points, because this will make the package unavailable to run from distribution points.