Watch Demo×

See NinjaOne in action!

By submitting this form, I accept NinjaOne's privacy policy.

Software Installation and Software Deployment

Software Installation is the technical task of putting a software program onto a specific device, making it ready to use. This involves copying files, configuring settings, and making sure the software runs correctly on the device.

This task is often done by the user themselves or the IT department, on individual endpoints. As the number of endpoints increases, software installation becomes more complicated, and a different approach needs to be taken for the sake of efficiency.

This new approach is called software deployment and refers to the process of planning, managing, and tracking the installation of software on multiple devices within an organization.

Automated software installation plays a key factor in software deployment, and even if the software deployment approach is not being strictly followed, automating the software installations greatly simplifies the effort and reduces human errors.

Can I install software with NinjaOne?

Yes, NinjaOne is an excellent tool that provides the ability to perform automated software installation, centralized management, and a user-friendly interface.

What are the typical file formats used to install software?

  • MSI software. Stands for Microsoft Software Installer. It refers to a specific file format and technology used to install and manage software on Windows operating systems.
  • EXE software. Stands for Executable file, commonly referred to as a “.exe” file. It is the most common type of executable file format on Windows operating systems.
  • PKG software. File format used for software packages on several different platforms and devices. It´s used on Mac devices amongst others.
  • DMG software. Refers to Apple Disk Image files, it’s not technically “software” itself, but rather a container format used to distribute software on macOS systems.

Can NinjaOne install software on Windows devices?

Yes, NinjaOne can install software on Windows endpoints. The file formats supported are MSI and EXE.

Can NinjaOne install software on Mac devices?

Yes, NinjaOne can install software on Mac endpoints. The file formats supported are DMG and PKG.

How do I install software for my endpoints with NinjaOne?

Here are the steps required for installing software using NinjaOne.

  1. Create an installation package.
  2. Submit the installation package using one of the following methods.
    • On demand to one or multiple endpoints.
    • Using a scheduled task.
    • Using a Policy.

How do I create an installation package?

  • First, download the installation executable file from the distribution point. This executable must be capable of doing a silent and unattended installation.

     Check software documentation to see if/what command line parameters are required for the silent and unattended installation (i.e., language, silent option, suppress messages or other parameters). It´s a good practice to manually test the installation on a target computer, making sure the installation runs silent and unattended and the configuration is correct.

    Take note of the command line switches or parameters, since they will be needed later. Let´s illustrate this with one example. Let´s create a Windows installation package for the Foxit PDF reader software, the installation file can be downloaded from this link.

    For this example, let´s do the installation in the Spanish language.

  • Once you have the installation file on your download folder, which in this case is an .EXE file open a command prompt window, go to the download folder, and run FoxitPDFReader20233_enu_Setup_Prom.exe /?. A pop-up window will show up with the different command line options.  From the list, let´s choose the “/SP,” “/VERYSILENT,” “/SUPRESSMSGBOXES” and “/LANG” options. Now, let´s try it out using the options. The command to test will be as follows: 

    FoxitPDFReader20233_enu_Setup_Prom.exe /SP /SUPRESSMSGBOXES /VERYSILENT /LANG=Español Latinoamericano 

  • After running this command, we can see that the installation was successful, unattended, and silent. Now, let´s upload the installation file to NinjaOne. For that, on your NinjaOne console, go to Administration, open the Library tree, and finally select Automation, then click the “+Add” button on the right, then choose Installation. A form for the new installation package will be shown, see the next screenshot for reference.

A screenshot of the software installation procces

Now, let´s dive into each field and explain what they mean.

Name: A name to identify this installation package.

Description: A brief description of what this installation package does, this is optional.

Operating system: The operating system this installation package is intended for.

Architecture: Some installation package distributions are 32-bit or 64-bit specific, if this is the case, choose accordingly, if not, then choose “All”.

Installer: this is where the installation executable file is uploaded. Choose the installer file to be used, this can be from your computer or a URL.

Categories: This is the category given to this package, this is used to allow or deny technicians to see it and run it. Run script permissions are provided to technicians per category in NinjaOne.

Run as: The user account used to submit the installer. Normally, choose “System.”

Parameters: The command line switches or parameters required for the installation, we will type here exactly what will be appended to the executable file in the command line. For our example, it will be /SP /SUPRESSMSGBOXES /VERYSILENT /LANG=Español Latinoamericano

On the “Additional Settings” tab we have more options.

Helper files: Additional files that the installer may need to run.

Installer icon: An optional icon used to identify this installation package.

Pre-script: Some script that may be needed right before the installation.

Post-script: Some script that may be needed after the installation takes place. Note that this script will be skipped if the installation package fails to install.

Check the software documentation to see if any of the above options are required, for our example case, they are not. 

Fill out the required fields and click the “submit” button. After entering the MFA method response, the new automation will be sent to the malware scanner for review, which may take a few minutes. After successful scanning, the new automation will be available in the Automation Library. The next screenshot shows the options used for our example. 

A screenshot of the software installation proccess being filled

How do I Submit the installation package on demand to one or multiple endpoints?

To easily explain how to submit the installation package to one or several endpoints. Let´s illustrate this with the next example. Find all Windows Laptops in the Datacenter1 organization with no Foxit PDF reader installed. Then, launch the installation on the target endpoints that meet the criteria. The next screenshot shows an overview of the system dashboard used for this example.
A screenshot showing the overview of the system dashboard

Now, follow the next instructions.

  • Go to the device’s dashboard and start applying filters. Select Datacenter1 organization, then select Windows Laptop type. Then, go to Additional Filters and select Software Inventory. At the Software Inventory dialog box select “All time,” then “Does not contain,” then “Any,” and then add software “Foxit PDF Reader” (at this point, the Foxit PDF Reader installation package must be in the Automation Library). After applying the filters, the list will be narrowed down to only the devices meeting the criteria, which in this case is two.
A screenshot of the device dashboard
  • Select the target device(s) by checking the boxes next to them.
A screenshot of the dashboard device being filled
  • Go to Run, then Run Automation and finally Install Application. Find the desired installation package, which is the “Install Foxit Reader” package we created earlier.
  • Click on the application to install. A dialog box will pop up with the name, description, run as, and preset parameter, these last two allow us to make last minute changes to how the application is installed.
A screenshot of the Automation Library showing the software installation
  • Make any last-minute changes desired and click on “Run.” Then, respond with “yes” or “no” to confirm your action.

And that´s it. Please note that if any endpoints are offline, the installation will be queued and then applied when the device(s) come back online.

How do I Submit the installation package to a group of endpoints using a scheduled task?

  • In NinjaOne, it´s possible to use filters to select a set of endpoints that meet some criteria, for instance, Mac computers with a particular software not installed, and then save the selection as a group. Then we can create a scheduled task to submit the installation package at a certain time interval to this group. This is a way to automate the software installation without any human intervention. Let´s illustrate this with the next example. Create a computer group for Windows Laptops in the Datacenter1 organization with no Foxit PDF reader installed. Then, create a scheduled task that runs once a day to install “Foxit PDF reader” on that group.
  • On our example in the previous section, by applying filters, we narrowed down the endpoint list. We will continue using that filter for our example on this section, so let´s apply the same filters again, but this time we will save the filter to a group called “Laptops with no Foxit installed.” Click the Save option as shown highlighted in red in the screenshot shown next, and then fill out the group name, description, sharing and then click the Save button in blue.
A screenshot of a installation package to a group of endpoints
  • The new group will show up along with the member devices. Note that this group, like all other device groups is dynamic, meaning that if any other devices meet the criteria, or stops meeting the criteria later, the group will be automatically updated.
A screenshot showing the group created

Now that we have the group ready, let´s create the schedules task that will be applied to this group.

  • Go to Administration, then Tasks, then click New Task.
  • Fill out the general task details per the example description to create the schedule. Make sure to check the “Allow Groups” option.
A screenshot showing how to create a schedule task
  • Next, click Add on the right side of the screen to add automation. Search for “Install Foxit PDF Reader” and when the desired automation appears, click on it. A dialog box will show up, fill out the fields as in the previous section and click Apply.
A screenshot showing the Foxit PDF Reader applied
  • Go to the Targets tab and click Add to create the target list. A dialog box will show up. Select Group in the first place, then search for our previously created group “Laptops with no Foxit installed” select it with a checkmark and click Apply.
A screenshot showing the targets tab
  • Then save, enter your MFA method answer and close.
  • One important thing to note here is that offline endpoints will not be installed or queued. This is a limitation for this method.

How do I Submit the installation package using a policy?

  • By using a policy, NinjaOne can run automations when a condition is met. We can add a condition to an existing policy, for instance, “Windows Workstations,” but we can also narrow down our target device list by creating a new policy inherited from “Windows Workstations,” add the condition, and apply it only to the target devices that need this software installed.
  • Let´s get back to our example of installing Foxit PDF reader on just laptops for Datacenter1 workstations. Since there are no policies affecting only Windows laptops, let´s create a new policy inherited from “Windows Workstations” and apply it to the laptop group at the organization level. For that, follow the next instructions.
    • Go to Administration then Policies then Agent policies and click on the “Create New Policy” button at the right of the screen. The create Policy dialog box shows up, name this new policy “Windows Workstations with Foxit PDF installed,” add a description and select the device role “Windows Desktops and Laptops.” For Parent Policy select Windows Workstations and click Save.
A screenshot showing the creating of the policy
  • After saving, the screen automatically goes to editing the new policy, at this point this new policy is the same as the parent one.
  • Click on “Add a Condition,” a Condition dialog box appears, click on Select a condition, a new dialog box appears. Click on Select a condition and from the drop-down menu select “Software,” on Presence, select “Doesn´t exist,” on name, type “*Foxit*” then hit the Enter key (The leading and trailing wildcard (*) means that the software name is anything containing Foxit. Another option is typing the software name exactly as Windows names it in the list of installed software, but using wildcards is a safer option), then click the Apply button.
  • This condition means that it will be met when a device does not have software installed with Foxit included in the name. See the next screenshot showing how it looks after the condition was added.
A screenshot showing the condition of the policy
  • Now let´s add an automation. Click Add on the top right of the screen, the automation library dialog box shows up, from there, find the “Install Foxit PDF Reader” automation that we created previously and click on it. Confirm the “Run As” and Preset parameters” as needed and click Apply.
A screenshot showing the automation being added
  • The screen goes back to the condition dialog box, at this point click Add.
A screenshot showing the last step of adding the condition automation
  • Then Click Save, enter your MFA method answer, and close.
  • Go to the Organization dashboard and select the Datacenter1 organization. Click on Edit at the right of the screen. Then select the policies tab, at the left of the screen. Select Agent Policies at the top of the screen. On the Windows Laptop policy, select the “Windows Workstations with Foxit PDF installed” from the drop-down menu, then save. From now on, all Windows laptops in this organization, existing or new, will have Foxit PDF reader installed.

When to use each of the explained methods?

Submitting the installation package on demand to one or multiple endpoints is good when you need to eventually install software on one or a few devices. Use a policy when a broader group of devices needs the software, and the group can be linked to a policy, in other words, when the device group can be found in the organization editor, like Mac Desktop. Use the scheduled tasks method when a broad group of devices need the software, but this group cannot be linked to a policy.

Next Steps

Software installation FAQs

Software installation is the technical task of putting a software program onto a specific device, making it ready to use. This involves copying files, configuring settings, and making sure the software runs correctly on the device.
An example of installation software is Microsoft System Center Configuration Manager (SCCM), Another example is NinjaOne.
Manual: Installation occurs individually, often triggered by IT staff. Suitable for small deployments or testing, but time-consuming and prone to errors. Automated: Scripts or tools streamline deployment across multiple devices with minimal human intervention. Faster, more efficient, and reduces errors.
Software installation can be automated using scripts, but the script depends on the package type used, and the operating system, so normally different scripts need to be written for different software packages.  Also, writing scripts requires coding knowledge.  NinjaOne does the heavy lifting and simplifies the software installation process.

Ready to become an IT Ninja?

Learn how NinjaOne can help you simplify device management.