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:
Download the tool from the official repository.
Extract the ZIP to a folder, for example
C:\IntuneWinTool.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
ViioDesktopAgentservice is Running (viaservices.msc, orGet-Service ViioDesktopAgentin 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
.intunewinpackage, and upload it to the same Intune app (update the version number in the install command).macOS: upload the new
.pkgto the same Intune app — no repackaging needed.
Devices upgrade automatically at their next check-in.





















