Windows Azure Pack VMRole Gallery Items for Collaboration Workloads

Readers of BCB, I am happy to announce the first round of Building Clouds Blog Windows Azure Pack VMRole Gallery Items!

Table of Contents

Building Clouds Blog Windows Azure Pack VMRole Gallery Items

Name Blog Post TechNet Gallery
Exchange Server 2013 CU2 DownloadButton
Lync Server 2013 DownloadButton
SharePoint Server 2013 DownloadButton
VMRole Example Kit DownloadButton

This post serves as a hub for the collaboration workload VMRole Gallery Items we are publishing this month.  The table above links to each of the blog posts and to the individual downloads.  Any time you would like to come back to this Table of Contents, you may leverage the short code URL.

Note: If you are not familiar with Windows Azure Pack, I recommend the following links:

Product Site

TechNet Site

Building Clouds Blog Posts



Download – In order to make sure these are easily discoverable and to be consistent with our release of Service Templates over the past few months, we are publishing the gallery items to both TechNet Gallery –AND the WebPI feed.  Each will have a separate blog post to highlight any unique requirements and as always, a copy of the blog post content will be included as an Office Open XML file (compatible with Wordpad so you can open it on servers) inside each archive to ensure it is readily available with the ResDef/ResExt should you need to disconnect and go offline.

Import – There is a post in the TechNet Wiki that does a thorough job explaining all requirements and how to complete an import in to both VMM and WAP so there is no reason to reiterate everything here.  The BCB GI’s are using the same metadata (tags, family, and version) as those released as part of the gallery item samples.

Downloading and Installing Windows Azure Pack Gallery Resource

Understand Pre/Post Install Requirements – For each of the workloads, be sure to link from their respective blog posts and identify the required post installation tasks.  Each workload requires some additional configuration by the tenant administrator.  Also see the section at the bottom of this post in regards to prerequisites in the environment.

Step by Step Guide to adding Application Payload files

Each of the BCB GI’s require Microsoft publicly distributed content as application payload.  If we included this content in the Resource Extensions, we would be creating multiple download sources and locations for that content (example: Silverlight install should only come from the Silverlight website).  To resolve this, it is a requirement that this content be added to the ResExtPkg files before use.

Did you know that both ResDefPkg and ResExtPkg files are archive files?  Just like Office file formats, you can rename them with “.zip” and extract the contents.  To re-package them, we just create a new .zip file and rename it back to .resextpkg or .resdefpkg file.  A convenient way to validate them afterwards is to try opening them in the VMRole Authoring Tool.  Link below.

VM Role Authoring Tool

Archive files remove empty folders.  To keep the structure as it should be and make it simple to identify where files should be copied, I have included txt files in the ResExtPkg files as placeholders.  Links to the requirements will be in each blog post and inside those txt files.

Here is the step by step process to add content in to the app payload.  10 easy steps.  Once you have the process down, you can obviously deviate based on your own file management habits.  This loads the actual install files in to the Resource Extension and will need to be completed before you import them in to VMM.

  1. Create a “working directory” as a New folder where you have full control.
  2. Download the BCB Gallery Item you are editing and Save to the working directory.
  3. Download the required file(s) for each workload and Save to the working directory.
  4. Rename the .resextpkg file by appending “.zip”.  As an example, file.resextpkg can be renamed to (two periods in the file name will not cause this process to “break”).
  5. Right-click on the file and select Extract All… .  Extract the files to a new folder in the working directory.  Do not change the name and location (this will add convenience later).  Once complete, you can Delete the .zip file.
  6. Copy the downloaded files in to their proper directory.  As an example, for the Exchange VMRole Gallery Item, UCMA and the Filter Pack would be copied in to the “prereqs” subfolder.  In another case, where the installation files are included such as with the Lync VMRole Gallery Item, you would need to copy the Lync installation files from the .ISO for Lync Server 2013 in to the “LyncServer2013” subfolder.  You can Delete the .txt files that served as placeholders.
  7. In Explorer, navigate up to your working directory.  Right-click on the folder where you extracted the .zip file and choose Rename.  With the full folder name selected, right-click the text and choose Copy.
  8. In the root of the folder where you extracted the .zip file, select all files and folders then right-click and choose Send toCompressed (zipped) folder.  This will generate a new .zip file.  For the name, Paste the text from the clipboard.  This should set the name to match the original .zip file you extracted.
  9. Copy the new .zip file up to your working directory.  Delete the subfolder where you extracted the original .zip file (this is to avoid a naming collision since .zip files are treated like folders).
  10. Finally, Rename  the new .zip file by removing “.zip” from the end.  The result will be a new .resextpkg file that includes your application payload.

Edit – If you would like to customize the ResDef/ResExt files, you can edit the JSON directly or use the published authoring tool.  For minor edits like changing the text, I would just make the change in a text editor.  For major changes like adding and removing scripts, I would use the VMRole Authoring Tool.

You might also like to review the following article.

System Center 2012 R2 Virtual Machine Role Authoring Guide

Tenant Administration (aka trusting the driver)

I want to touch on an important issue.  In an IaaS environment you are “trusting the driver”.  In other words, you are offering an environment where the tenant admin is given building blocks to construct a service.  This is not the same as a SaaS environment.  You are trusting that the Tenant Admin is technically savvy.  For most of these workloads, there are prerequisites and some post-install work.   As an example, they will need to create a network via the WAP portal, deploy a Gallery Item for a domain controller that includes DNS, and add the DNS server’s IP to the DNS client settings for the network.  There may be additional requirements such as certificate installation, public/private URL name settings, firewall ports, site/farm configuration, etc, depending on the workload.  This is important to understand and discuss with tenant admins in advance.

To download a VMRole Gallery item for an Active Directory Domain Controller, see the samples provided in the WebPI feed.  Loading the WebPI feed is documented step by step in the above Wiki page I highlight as the “go-to resource” under Install the Web Platform Installer.

Once you have loaded the application payload and imported both the ResExt and ResDef, added it to a plan and made it public, log in as your test tenant that has access to the plan.  Below is a screenshot as a tenant admin with access to provision new VM’s that will install each of Exchange, Lync, and SharePoint.