Skip to main content

Desktop Agent deployment guide - Windows & macOS via Intune

Deploy the Viio Desktop Agent with Microsoft Intune: Windows as a Win32 app and macOS as a macOS app (PKG).

D
Written by Dmitry Kosar

This guide describes how to deploy the Viio Desktop Agent to your fleet using Microsoft Intune: on Windows as a Win32 app, and on macOS as a macOS app (PKG).

Before you start

  • Devices are enrolled in Intune (MDM).

  • You have your Viio customer key. You can find it in the Viio platform, or request it from your Viio contact.

The examples below reference agent version 1.5.2. If a newer release is available, use the current version number instead — the steps are identical.

Windows — deploy as a Win32 app

Step 1 — Download the .msi installer

Download the agent installer:

https://cdn.viio.io/desktop-agent/Viio_Desktop_Agent_Installer_1.5.2.msi

Step 2 — Create the .intunewin package

Intune delivers Win32 apps in the .intunewin format, so the .msi must be wrapped first using Microsoft's Win32 Content Prep Tool:

  1. Download the tool from the official repository.

  2. Extract the ZIP to a folder, for example C:\IntuneWinTool.

  3. Place the .msi in its own folder (for example C:\Viio\AgentInstaller) and run:

cd C:\IntuneWinTool
.\IntuneWinAppUtil.exe -c C:\Viio\AgentInstaller -s C:\Viio\AgentInstaller\Viio_Desktop_Agent_Installer_1.5.2.msi -o C:\Viio\AgentInstaller\IntunePackage

  • -c — the folder containing the installer

  • -s — the path to the .msi file

  • -o — the output folder for the .intunewin package

Step 3 — Create the app in Intune

In the Intune admin center, go to Apps → Windows.

On the Windows apps page, click Create and select the Windows app (Win32) app type.

Upload the .intunewin file created in Step 2 and click OK.

On the App information page, the name, description, and version are pre-filled from the package. Set Publisher to Viio and click Next.

Step 4 — Program: install command with your customer key

On the Program page, set the Install command, replacing YOUR_CUSTOMER_KEY_HERE with your Viio customer key:

msiexec /l*v viio.log /i "Viio_Desktop_Agent_Installer_1.5.2.msi" /passive /qn VIIO_CUSTOMER_KEY=YOUR_CUSTOMER_KEY_HERE

Optionally, append [email protected] to associate the device with a specific employee. Leave it out for a fleet-wide rollout; devices can be mapped to employees in the Viio platform afterwards.

Keep the auto-generated Uninstall command and the default values for the remaining settings (Install behavior stays System).

Step 5 — Requirements

On the Requirements page:

  • Check operating system architecture: No. Allow this app to be installed on all systems.

  • Minimum operating system: Select the most minimum available in the list.

Step 6 — Detection rules

On the Detection rules page, set Rules format to Manually configure detection rules.

Click Add and create a rule:

  • Rule type: MSI — the MSI product code is pre-filled from the package.

  • MSI product version check: No.

Step 7 — Dependencies and supersedence

Leave the Dependencies and Supersedence pages empty.

Step 8 — Assign and create

On the Assignments page, add your target device or user group under Required. Then review the settings on the Review + create page — double-check that the install command contains your customer key — and click Create.

Step 9 — Verify the rollout

  • In Intune, open the app and check Device install status.

  • On a device, verify the ViioDesktopAgent service is Running (via services.msc, or Get-Service ViioDesktopAgent in PowerShell).

macOS — deploy as a macOS app (PKG)

The macOS agent package does not contain your customer key. The agent reads its configuration from /etc/viio.conf on startup, and a small pre-install script writes this file before the package is installed — so the agent is fully configured the moment it starts.

Step 1 — Download the agent package

https://cdn.viio.io/desktop-agent/viio-agent-1.5.2.pkg

The package is signed by Oveo ApS (895LF9A7K6), Viio's Apple Developer ID. No repackaging is needed — the .pkg is uploaded to Intune as-is.

Step 2 — Create the app in Intune

In the Intune admin center, go to Apps → macOS.

On the macOS apps page, click Create.

In the Select app type dialog, choose macOS app (PKG) under Other.

Upload the viio-agent-1.5.2.pkg file you downloaded in Step 1 and click OK.

On the App information page, the name and description are pre-filled from the package. Set Publisher to Viio, set Category to Other apps, and click Next.

Step 3 — Add the pre-install script with your customer key

On the Program step, set the following as the Pre-install script, replacing YOUR_CUSTOMER_KEY_HERE with your Viio customer key:

#!/bin/bash
set -e
CUSTOMER_KEY="YOUR_CUSTOMER_KEY_HERE"
EMPLOYEE_EMAIL=""echo "{\"CustomerKey\":\"$CUSTOMER_KEY\",\"EmployeeEmail\":\"$EMPLOYEE_EMAIL\"}" > /etc/viio.conf
chmod 400 /etc/viio.conf
chown root:wheel /etc/viio.conf

EMPLOYEE_EMAIL is optional and associates a device with a specific employee. Leave it empty for a fleet-wide rollout; devices can be mapped to employees in the Viio platform afterwards.

Leave the Post-install script empty. Intune ignores its exit code for this app type, so it cannot be used to report agent health — use Step 6 to verify the rollout instead.

Step 4 — Requirements and detection rules

On the Requirements step, set Minimum operating system to macOS Monterey 12.0 — the oldest macOS version the agent supports.

On the Detection rules step, the app bundle ID (io.viio.agent) and version are pre-filled from the package — leave them as they are.

Step 5 — Assign the app

On the Assignments step, add your target device group under Required. The agent installs at the next Intune check-in.

Finally, review the settings on the Review + create step and click Create.

Step 6 — Verify the rollout

  • In Intune, open the app and check Device install status.

  • On a device, you can verify the agent is running with:

sudo launchctl print system/io.viio.agent.metalauncher | grep state

The output should contain state = running.

Troubleshooting

If a device reports a failed installation, run Viio's troubleshooting script on the device and share the output with [email protected].

Windows (PowerShell, run as Administrator):

([scriptblock]::Create((Invoke-RestMethod -Uri 'https://raw.githubusercontent.com/viio-io/agent-installer-scripts/main/windows.troubleshooting.ps1'))).Invoke() *> "result.txt"

macOS (Terminal):

bash -c "$(curl -L https://raw.githubusercontent.com/viio-io/agent-installer-scripts/main/macos.troubleshooting.sh)" &> result.txt

Updating the agent

The Intune app pins a specific agent version. When Viio releases a new version:

  • Windows: download the new .msi, wrap it into a new .intunewin package, and upload it to the same Intune app (update the version number in the install command).

  • macOS: upload the new .pkg to the same Intune app — no repackaging needed.

Devices upgrade automatically at their next check-in.

Did this answer your question?