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 Workspace Key. Find it in Viio under Settings > General.
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 Workspace Key
On the Program page, set the Install command, replacing YOUR_CUSTOMER_KEY_HERE with your Workspace 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 Workspace 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 Workspace 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 Workspace Key
On the Program step, set the following as the Pre-install script, replacing YOUR_CUSTOMER_KEY_HERE with your Workspace 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.





















