Application of the Week – BlueJeans

BlueJeans offers cloud-based meetings and large interactive events that are simple, scalable and secure. BlueJeans Meetings offers a meeting experience to connect people from anywhere on any device. BlueJeans Rooms offer a digital conference room, where BlueJeans Events can be used to host and manage live interactive events. In this blog I will explain how to create a Smart Icon and Managed Package for BlueJeans.

BlueJeans has two MSI’s available for centralized deployment to install the BlueJeans Desktop App for both BlueJeans 1 and BlueJeans 2. The BlueJeans Desktop App is built for optimal video experience and is the preferred way using BlueJeans.

One MSI is for ‘Individual User Installation’. One MSI is for ‘Per Machine’ installation. When using this MSI, all updates are disable. Which is perfect for a scenario when using Liquit Workspace and the Liquit Setup Store. This MSI is therefore available in the Liquit Setup Store.

The BlueJeans 2 Desktop App is for 64 Windows only and it requires the .NET Framework 4.51 or higher. If you need to use BlueJeans on 32 bit systems, use the BlueJeans 1 MSI. In addition to these MSI’s, BlueJeans also has an MSI for their BlueJeans Outlook plugin to easily manage meeting from within the Outlook calendar.

Let’s create a managed package in Liquit Workspace for BlueJeans 2 using the Setup Store connector:

  • Click Manage, Connector, then select the Setup Store connector
  • Click Resources and search for ‘BlueJeans’
  • Select either one of the available ‘BlueJeans’ setups, either BlueJeans 1 or BlueJeans 2
  • Click ‘Create Package’
  • In the Details screen opt for ‘Package Type = Managed’
  • Click ‘Next’
  • In the Entitlements screen add the users you want to assign this package to
  • In the Summary screen uncheck the ‘Modify package after creation’ checkbox
  • Click ‘Finish’

The Setup Connector now grabs the latest version of the selected BlueJeans setup and creates a Managed Package for it. ‘Managed’ means that every time BlueJeans releases a new version of the BlueJeans Desktop App, the Setup Store connector updates all your managed packages with the latest version of that particular application.

You can do this automatically, using a scheduled task, or semi-automatically using the ‘Updates’ feature of the Setup Store connector.

Let’s focus at the Smart Icon now. This Smart Icon contains two actions in one Launch action set for which ‘Stop at first effective action’ is set:

  • the first action runs the bluejeans.exe executable, this executable is installed when using the BlueJeans Managed Package
  • the second action uses your default browser to launch the BlueJeans url when BlueJeans Desktop App for is not installed (yet).

Here’s the PowerShell script to create a Smart Icon for BlueJeans:

Import-Module "C:Program Files (x86)Liquit WorkspacePowerShell3.0Liquit.Server.PowerShell.dll" -Prefix "Liquit"

$liquitZoneUsername = "localadmin"
$liquitZonePassword = Read-Host "Enter Password" -AsSecureString
$liquitCredentials = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $liquitZoneUsername, $liquitZonePassword
$liquitZone = ""

$bluejeansIconURL = ""
$bluejeansIconPath = "c:tempbluejeans.ico"

$packageName = "BlueJeans"
$packageDisplayName = "BlueJeans"
$packageDescription = "BlueJeans"

$liquitContext = Connect-LiquitWorkspace -URI $liquitZone -Credential $liquitCredentials

$webClient = New-Object System.Net.WebClient
$iconContent = New-LiquitContent -Path $bluejeansIconPath

$package = New-LiquitPackage -Name $packageName `
                             -Type "Launch" `
                             -DisplayName $packageDisplayName `
                             -Description $packageDescription `
                             -Priority 100 `
                             -Enabled $true `
                             -Offline $True `
                             -Web $false `
                             -Icon $iconContent 

#create the snapshot for this package
$snapshot = New-LiquitPackageSnapshot -Package $package

#define launch action set
$actionset = New-LiquitActionSet -snapshot $snapshot `
                                 -Type Launch `
                                 -name 'Launch' `
                                 -Enabled $true `
                                 -Frequency Always `
                                 -Process StopAtFirstEffectiveAction

#define the first launch action
$actionset_action1 = New-LiquitAction -ActionSet $actionset `
                                      -Name 'Start BlueJeans Desktop App' `
                                      -Type 'processstart' `
                                      -Enabled $true `
                                      -IgnoreErrors $false `
                                      -Settings @{name = '${ProgramFiles}BlueJeansBlueJeans.exe'; parameters = "";} `
                                      -Context User

#define the filter set for the first action
$filterset1 = New-LiquitFilterSet -Action $actionset_action1

#add a filter to the first action
$filter1 = new-LiquitFilter -FilterSet $filterset1 -type fileexists -Settings @{path = '${ProgramFiles}BlueJeansBlueJeans.exe';} -Value "true" 

#set the operator for the entity filter to AND
Set-LiquitEntityFilter -Action $actionset_action1 -Operator Or

#define the second launch action
$actionset_action4 = New-LiquitAction -ActionSet $actionset `
                                      -Name 'Open BlueJeans Website' `
                                      -Type 'openurl' `
                                      -Enabled $true `
                                      -IgnoreErrors $false `
                                      -Settings @{ url = ''; browser = 0;} `
                                      -Context User

#publish the package
Publish-LiquitPackageSnapshot -Snapshot $snapshot -stage Production 

#set the entitlement
$identity = Get-LiquitIdentity -id "LOCALeveryone"
New-LiquitPackageEntitlement -Package $package -Identity $identity -Publish Workspace