Using App-v to deploy Office 2016 on RDS servers

Hi All!

At my current employeer we have a lot of clients that use RDS servers, in the SMB often you see that applications are installed directly on the RDS server. That means that if you have a Highly Available solution there often is a difference between applications installed.

To prevent this we use Microsoft’s App-V for RDS servers. App-V is included in your RDS Client Access Licenses so in essence its “free”. The cool thing about app-v is that by using application virtualisation you no longer have to install any application but simply publish them to the users or computers you want them to run.

To learn more about app-v you can check this technet page.

Microsoft has really embraced app-v as part of the OS and it is now installed by default on Server 2016 and Windows 10. To start with App-V we will create a package, and publish it on a RDS2016 server without using the rest of the app-v infrastructure. This is called a “Stand-Alone app-v deployment”

Requirements:

  • A preconfigured RDS 2016 server.
  • The Office 2016 Deployment toolkit found here
  • XML file with the features you want in your App-V package from here

First we will configure our RDS2016 to be able to run App-V packages, to do that run the following command as administrator within PowerShell


Enable-Appv
Set-AppvClientConfiguration -EnablePackageScripts $true
restart-computer

After restarting you can check the app-v status with the following powershell command


Get-AppvStatus

With the above commands we do not only enable App-V but also “package Scripting”. Packages with extended functionality such as office require the running on scripts within the app-v packages. The default setting forbids any scripts from running for security reasons.

After you see that App-v is enabled we can move on to creating the app-v package. To move on we download the Office Deployment Toolkit and our XML file to C:\ODT, we rename the XML file to “SETUP.XML” Then we open a CMD.EXE window as administrator and enter the following command:


C:\ODT\SETUP.EXE /PACKAGER C:\ODT\SETUP.XML C:\ODT\APPVPackage

The setup will now run and create a App-v package out of the selected office components, after the setup completes you can copy C:\ODT\AppvPackage to a location of your choice. I’d advise to collect all of your application packages on a DFS-R share but for the purpose of this lab the location does not truly matter.

After copying the files you execute the following Powershell command to make the package available for the RDS 2016 machine:


Add-AppvClientPackage -Path "<PATH TO YOUR APPV file>" | Publish-AppvClientPackage -Global | Mount-AppvClientPackage -Verbose

To only make the package available to a specific user you can execute the following powershell command as administrator:


Add-AppvClientPackage -Path "<PATH TO YOUR APPV file>" | Publish-AppvClientPackage

And to finish you simply mount the file as the end-user by running:


get-appvclientpackage -all | Mount-AppvClientPackage -Verbose

And tada; you’ve deployed office to the RDS without installing the actual software. You’re currently running Office in a virtual bubble. When running this in production I’d truly suggest looking into an App-V Publishing server to make management much easier. 🙂

Recent Articles

The return of CyberDrain CTF

CyberDrain CTF returns! (and so do I!)

It’s been since september that I actually picked up a digital pen equivalent and wrote anything down. This was due to me being busy with life but also my side projects like CIPP. I’m trying to get back into the game of scripting and blogging about these scripts. There’s still so much to automate and so little time, right? ;)

Monitoring with PowerShell: Monitoring Acronis Backups

Intro

This is a monitoring script requested via Reddit, One of the reddit r/msp users wondered how they can monitor Acronis a little bit easier. I jumped on this because it happened pretty much at the same time that I was asked to speak at the Acronis CyberSummit so it kinda made sense to script this so I have something to demonstrate at my session there.

Monitoring with PowerShell: Monitoring VSS Snapshots

Intro

Wow! It’s been a while since I’ve blogged. I’ve just been so swamped with CIPP that I’ve just let the blogging go entirely. It’s a shame because I think out of all my hobbies it’s one I enjoy the most. It’s always nice helping others achieve their scripting target. I even got a couple of LinkedIn questions asking if I was done with blogging but I’m not. Writing always gives me some more piece of mind so I’ll try to catch up again. I know I’ve said that before but this time I’ll follow through. I’m sitting down right now and scheduling the release of 5 blogs in one go. No more whining and no more waiting.