Application Deployment

Deploying AirServer Silently

Detailed below is the process we used to deploy AirServer ( across our enterprise network silently.  We decided to run the Beta version (1.9), there are many features and bug fixes that were important to us, one major benefit is the new authentication methods.  So far we haven’t had any problems with the Beta version, but we haven’t been using it long!

If you’re struggling to get AirServer working on your enterprise network you might like to check out my earlier post on using AirServer across subnets.

AirServer Prerequisites

Installing AirServer requires that you have Bonjour and DirectX 9 installed. (Even if you have a newer version of DirectX you must install DirectX 9 also, otherwise you’ll get a warning about “D3DXCompileShader” when trying to run the program.)

We plan to install the prerequisites as part of this process, you may not need to if you’re already running iTunes and already have DirectX 9 installed.


Download Bonjour Print Services for Windows from Apple.

Extract the contents of the executable using your favourite tool (We recommend 7-Zip)

You do not need to install the Bonjour Print Services (BonjourPS.msi), simply install Bonjour itself (Bonjour.msi)

We use ConfigMgr 2012 and Bonjour will deploy as an Application, so we used that.  If you want to use a package, ahve the older version of ConfigMgr or SMS, or use Group Policy to deploy your packages use the command:

Bonjour.msi /quiet /norestart

DirectX 9

Download DirectX 9c from Microsoft.

Extract the contents of the executable using your favourite tool (We recommend 7-Zip)

Sadly the DirectX redistributable will not deploy as an Application, so if you are using Configuration Manager you’ll need to deploy it as a package.  If you’re using Group Policy for application deployment you can use the same command.

dxsetup.exe /silent

Installing AirServer Silently

Once the prereqs are installed you can go ahead and install AirServer.  The command for installing AirServer silently is: (Remember to replace YOURKEY with your key to automatically activate the software)

msiexec /i AirServer-1.9.0.msi /qn PIDKEY=YOURKEY

Configuring the Firewall

When you run the program for the first time you will be prompted to open up the firewall.  We don’t allow users to modify the firewall settings here, so we have made the changes globally via Group Policy.

If you’re running a mixed 32-bit and 64-bit environment you’ll need to add two rules, one for “C:program files (x86)airserverairserverairserver.exe” and one for “C:program filesairserverairserverairserver.exe”.

In Group Policy Management Editor drill down to “Computer Configuration > Policies > Windows Settings > Security Settings > Windows Firewall… > Inbound Rules” and add the rule.


That’s it! You should now be able to roll out AirServer to all your clients successfully.  Do let me know how you get on in the comments!


Using AirServer across subnets

AirServer ( is a great tool for mirroring iOS Devices (iPad, iPhone, iPod etc.) to your Apple Mac or PC.  Sadly out of the box it won’t work across VLANs/subnets as it requires Bonjour (mDNS, ZeroConf, what ever you like to call it) to work.

Detailed below is the process that I used to get AirServer working across VLANs and subnets.

Basically there is a free tool named Avahi that will, with minimal tweaking, provide a proxy for Bonjour/mDNS.  It doesn’t bridge the subnets together in the way some similar tools do which means you aren’t flooding broadcast traffic across subnets, it simply collects all the information of any Bonjour services and then rebroadcasts them as appropriate.

The basic process requires setting up a linux box (I used Ubuntu 12.04 on a virtual machine within VMWare, but other virtualisation technologies or even a physical box would do), configuring the network interfaces, configuring Avahi and then using AirServer!

Setting up the server

Avahi isn’t very processor or RAM intensive.  In my setup I used 1 core and 1GB of RAM, although I suspect it will run fine with a smaller amount of memory. These instructions assume you choose to use Ubuntu, but should be similar for most distributions.

For simplicity’s sake during the intial setup I configured the virtual machine to use a client VLAN and allowed the server to pick up a DHCP address.

Once you’ve ran through the basic install, run the following commands to get up to date and enable SSH.

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install openssh-server

At this point you can switch across to using an SSH client of your choice (As always I recommend Putty)

Configuring the interfaces

At this point, if you haven’t already done so, you can switch your link to the box to a 802.1q trunk.  Depending upon your configuration this may sever your link to the box via SSH so the next section need to be carried out locally.

Use a text editor to edit /etc/network/interfaces, I like nano

sudo nano /etc/network/interfaces

For each VLAN you wish to use Avahi on add the following lines, adjusting as required.  The example below configures a virtual interface for VLAN 159 using DHCP for the IP addressing.

auto eth0.159
iface eth0.159 inet dhcp

For the native VLAN you need to configure the physical interface.  The below example shows a static IP address assignment for the native VLAN.

iface eth0 inet static

Once you’ve configured all your interfaces restart the network subsystem

sudo /etc/init.d/networking restart

Installing & Configuring Avahi

Simply install Avahi

sudo apt-get install avahi-daemon

To enable the functionality we require open the config file

sudo nano /etc/avahi/avahi-daemon.conf

Find the section


And change it to


And then restart the service

sudo /etc/init.d/avahi-daemon restart

That’s it!

And that is pretty much it. if you’ve done everything right you should now be able to connect to your AirServer/Apple TV on one subnet from your iPad/iPhone on another.