Skip to content

Enable-AppVentiXSeamlessPublishing

Enables seamless publishing for the specified AppVentiX publishing task.

Syntax

Enable-AppVentiXSeamlessPublishing
    -Id <String>
    -SubscriptionId <String>
    -TenantId <String>
    -ResourceGroupName <String>
    -ApplicationGroupName <String>
    -HostPoolName <String>
    -AssignmentName <String>
    [-RunVirtual]
    [<CommonParameters>]

Enable-AppVentiXSeamlessPublishing
    -Id <String>
    -SubscriptionId <String>
    -TenantId <String>
    -ResourceGroupName <String>
    -ApplicationGroupName <String>
    -HostPoolName <String>
    -AssignmentName <String>
    -SeamlessApps <PSCustomObject[]>
    [<CommonParameters>]

Description

The Enable-AppVentiXSeamlessPublishing function enables seamless publishing for the specified AppVentiX publishing task. It supports publishing to Azure Virtual Desktop (AVD) application groups.

When Azure parameters are provided, the function: 1. Connects to Azure using the Az PowerShell modules 2. Creates or updates the AVD application group if needed 3. Assigns an Azure AD group or user to the application group 4. Removes existing applications from the group and publishes the new ones 5. Updates the publishing task XML with seamless application details

When no Azure parameters are provided, the function returns the publish command parameters as output objects so they can be used with another publishing tool.

Parameters

-Id

Specifies the ID of the publishing task for which to enable seamless publishing. Accepts pipeline input by property name.

Type: String
Position: Named
Default value: None
Accept pipeline input: True
Accept wildcard characters: False

-SubscriptionId

Specifies the Azure subscription ID where the AVD resources are located.

Type: String
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-TenantId

Specifies the Azure tenant ID.

Type: String
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-ResourceGroupName

Specifies the name of the Azure resource group containing the AVD resources.

Type: String
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-ApplicationGroupName

Specifies the name of the Azure Virtual Desktop application group to publish applications to. Has alias: ApplicationGroup.

Type: String
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-HostPoolName

Specifies the name of the Azure Virtual Desktop host pool associated with the application group. Has alias: HostPool.

Type: String
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-AssignmentName

Specifies the name of the Azure AD group or user to assign to the application group.

Type: String
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-SeamlessApps

Specifies the applications to publish seamlessly. Each PSCustomObject must contain the properties: Order, Executable, Argument, IconPath, FriendlyName, RunVirtual, Description.

Type: PSCustomObject[]
Position: Named
Default value: None
Accept pipeline input: True
Accept wildcard characters: False

-RunVirtual

When specified, marks the applications as running virtually (App-V style). Only applicable when using the IDAzureAll parameter set (automatic app detection).

Type: SwitchParameter
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False

Examples

Example 1: Enable seamless publishing for all apps in a package

Enable-AppVentiXSeamlessPublishing -Id '12345678-1234-1234-1234-123456789012' `
    -SubscriptionId '12345678-1234-1234-1234-123456789012' `
    -TenantId '00000000-0000-0000-0000-000000000000' `
    -ResourceGroupName 'MyResourceGroup' `
    -ApplicationGroupName 'MyApplicationGroup' `
    -HostPoolName 'MyHostPool' `
    -AssignmentName 'MyAADGroup'

Enables seamless publishing for all applications detected in the package.

Example 2: Enable seamless publishing from a new task

$params = @{
    SubscriptionId       = '12345678-1234-1234-1234-123456789012'
    TenantId             = '00000000-0000-0000-0000-000000000000'
    ResourceGroupName    = 'MyResourceGroup'
    ApplicationGroupName = 'MyApplicationGroup'
    HostPoolName         = 'MyHostPool'
    AssignmentName       = 'MyAADGroup'
}
$newTask | Enable-AppVentiXSeamlessPublishing @params

Uses the output of New-AppVentiXPublishingTask piped to enable seamless publishing.

Example 3: Enable seamless publishing with specific applications

Enable-AppVentiXSeamlessPublishing -Id '12345678-1234-1234-1234-123456789012' `
    -SubscriptionId '12345678-1234-1234-1234-123456789012' `
    -TenantId '00000000-0000-0000-0000-000000000000' `
    -ResourceGroupName 'MyResourceGroup' `
    -ApplicationGroupName 'MyApplicationGroup' `
    -HostPoolName 'MyHostPool' `
    -AssignmentName 'MyAADGroup' `
    -SeamlessApps @(
        [PSCustomObject]@{
            Order        = '0'
            Executable   = 'MSIXApp1ID#Path\To\MSIXApp1.exe'
            Argument     = ''
            IconPath     = 'C:\Program Files\WindowsApps\App.1.1.1.1_x64__abc\Assets\App1.png'
            FriendlyName = 'App1'
            RunVirtual   = $false
            Description  = 'This is the first application'
        }
    )

Enables seamless publishing for specific applications rather than auto-detecting from the package manifest.

Notes

  • Requires a valid AppVentiX license
  • Requires the Az.Accounts (minimum 2.17.0), Az.DesktopVirtualization (minimum 4.3.0), and Az.Resources (minimum 7.4.0) PowerShell modules
  • An active Azure connection is required; the function will prompt for login if not already connected
  • If no Azure parameters are provided, the function returns publish command parameters as output objects