<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Application Management | XOAP Docs</title>
	<atom:link href="https://xoap.io/docs-category/applicationxo/feed/" rel="self" type="application/rss+xml" />
	<link>https://xoap.io/docs-category/applicationxo/</link>
	<description>Platform for IT infrastructure and workplace automation</description>
	<lastBuildDate>Tue, 27 Jan 2026 13:33:29 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://xoap.io/wp-content/uploads/2023/11/cropped-favicon-32x32.png</url>
	<title>Application Management | XOAP Docs</title>
	<link>https://xoap.io/docs-category/applicationxo/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>About Application Management</title>
		<link>https://xoap.io/docs/applicationxo-about/</link>
					<comments>https://xoap.io/docs/applicationxo-about/#respond</comments>
		
		<dc:creator><![CDATA[Stella]]></dc:creator>
		<pubDate>Wed, 27 Mar 2024 10:12:46 +0000</pubDate>
				<guid isPermaLink="false">https://xoap.io/?post_type=docs&#038;p=9679</guid>

					<description><![CDATA[<p>This serves as an introduction to Application Management, outlining its purpose, advantages and important features. The Application Management module is the&#160;source for all installation packages&#160;and it integrates deeply into the&#160;Image Management&#160;and&#160;Configuration Management&#160;module. It supports PowerShell App Deployment Toolkit (PSADT) packages at the time of this documentation. While we deliver some base applications, you have the [&#8230;]</p>
<p>The post <a href="https://xoap.io/docs/applicationxo-about/">About Application Management</a> appeared first on <a href="https://xoap.io">XOAP</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>This serves as an introduction to Application Management, outlining its purpose, advantages and important features.</p>
</blockquote>



<p>The <a href="https://xoap.io/applicationXO/">Application Management</a> module is the&nbsp;source for all installation packages&nbsp;and it integrates deeply into the&nbsp;<a href="https://xoap.io/imageXO/">Image Management</a>&nbsp;and&nbsp;<a href="https://xoap.io/configXO/">Configuration Management</a>&nbsp;module.</p>



<p>It supports<strong> </strong>PowerShell App Deployment Toolkit (PSADT) packages at the time of this documentation. While we deliver some base applications, you have the freedom to create your own PSADT installation packages and upload them to your account for further usage.</p>



<p>For this purpose, we&#8217;re also delivering a free <a href="https://xoap.io/applicationxo-psadt-wizard/">PSADT Package Wizard</a>&nbsp;that helps to create standardized installation packages.</p>



<p><strong><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f3a5.png" alt="🎥" class="wp-smiley" style="height: 1em; max-height: 1em;" />: Watch our<a href="https://www.youtube.com/watch?v=sMy6RzxXuIc&amp;list=PLs-JcRlVtkHqD6jlv1_OT47hfskyBotQq&amp;index=4&amp;pp=iAQB"> YouTube video</a> for a visual walkthrough</strong></p>



<h2 class="wp-block-heading" id="features">Key features</h2>



<ul class="wp-block-list">
<li>Manage your application installers</li>



<li>Download application, group and role installation scripts and use them with any ESD product</li>



<li>Use it as fully extensible with parameterized packages and functions</li>
</ul>



<h2 class="wp-block-heading" id="use-cases">Use cases</h2>



<ul class="wp-block-list">
<li>Manage your PSADT packages, create groups and roles and assign them to Image Management or Configuration Management hosts or groups</li>



<li>Outsource your packaging with the benefit of using defined packaging standards</li>



<li>Create application configurations without the need to write a single line of code</li>
</ul>



<h2 class="wp-block-heading" id="main-advantages">Top benefits</h2>



<ul class="wp-block-list">
<li>Create application installations with our free no-code PSADT Package Wizard </li>



<li>Use created applications in any of the available ESD products in the market</li>
</ul>



<h2 class="wp-block-heading">Additional resources</h2>



<p><a href="https://psappdeploytoolkit.com/">PowerShell App Deployment Toolkit</a><br><a href="https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/set-strictmode?view=powershell-5.1">Set-StrictMode</a></p>
<p>The post <a href="https://xoap.io/docs/applicationxo-about/">About Application Management</a> appeared first on <a href="https://xoap.io">XOAP</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://xoap.io/docs/applicationxo-about/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Prerequisites</title>
		<link>https://xoap.io/docs/applicationxo-prerequisites/</link>
					<comments>https://xoap.io/docs/applicationxo-prerequisites/#respond</comments>
		
		<dc:creator><![CDATA[Mario]]></dc:creator>
		<pubDate>Thu, 21 Mar 2024 10:33:27 +0000</pubDate>
				<guid isPermaLink="false">https://xoap.io/?post_type=docs&#038;p=9598</guid>

					<description><![CDATA[<p>Application Management To use Application Management you need to have network access to api.xoap.io over port 443 and custom packages must be provided as a ZIP archive prior to upload. Within your XOAP workspace, you can already find a wide selection of: This means you&#8217;re ready to begin installing applications immediately. Creating packages XOAP’s Application [&#8230;]</p>
<p>The post <a href="https://xoap.io/docs/applicationxo-prerequisites/">Prerequisites</a> appeared first on <a href="https://xoap.io">XOAP</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<div class="wp-block-group is-vertical is-layout-flex wp-container-core-group-is-layout-08f878cd wp-block-group-is-layout-flex">
<h2 class="wp-block-heading" id="access-to-the-api-endpoint" style="font-size:38px">Application Management</h2>



<p>To use Application Management you need to have network access to <strong>api.xoap.io</strong> over port <strong>443</strong> and custom packages must be provided as a <strong>ZIP</strong> archive prior to upload.</p>



<p>Within your XOAP workspace, you can already find a wide selection of:</p>



<ul class="wp-block-list">
<li>Applications</li>



<li>Application Groups</li>



<li>Application Roles</li>
</ul>



<p>This means you&#8217;re ready to begin installing applications immediately.</p>



<h3 class="wp-block-heading" style="font-size:28px">Creating packages</h3>



<p>XOAP’s Application Management supports PSADT packages in both v3 and v4 formats. Our current Package Wizard supports package creation in v3 format. If you plan to create your own application packages, we recommend installing it on your packaging machine. The easiest way to do this is directly from your XOAP Workspace. </p>



<ol class="wp-block-list">
<li>Navigate to Application Management → <strong>Application Roles</strong></li>



<li>Locate the Role: <strong>PSADT Packaging Baseline</strong></li>



<li>Open the three-dot menu next to the role and choose <strong>Copy installation command</strong></li>



<li>On the machine where you want to install the wizard, <strong>open PowerShell as Administrator</strong>. Paste and execute the copied command.</li>
</ol>



<p>Alternatively, you can download the installation script or copy the installation command, copy it manually to the target system, and then run it through PowerShell as Administrator.</p>



<p id="access-to-the-api-endpoint">Once completed, the Package Wizard will be fully installed and configured. You can find the shortcut on your desktop.</p>
</div>
<p>The post <a href="https://xoap.io/docs/applicationxo-prerequisites/">Prerequisites</a> appeared first on <a href="https://xoap.io">XOAP</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://xoap.io/docs/applicationxo-prerequisites/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Applications</title>
		<link>https://xoap.io/docs/applicationxo-applications/</link>
					<comments>https://xoap.io/docs/applicationxo-applications/#respond</comments>
		
		<dc:creator><![CDATA[Stella]]></dc:creator>
		<pubDate>Wed, 27 Mar 2024 12:00:20 +0000</pubDate>
				<guid isPermaLink="false">https://xoap.io/?post_type=docs&#038;p=9899</guid>

					<description><![CDATA[<p>Quick guide XOAP’s Application Management module supports PSADT packages in both v3 and v4 formats. The only prerequisite for uploading custom packages is that they must be provided as a ZIP archive prior to upload. Upload a new Application Edit an Application Delete an Application Additional useful information Download: You can download applications by opening [&#8230;]</p>
<p>The post <a href="https://xoap.io/docs/applicationxo-applications/">Applications</a> appeared first on <a href="https://xoap.io">XOAP</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<div class="wp-block-group is-vertical is-layout-flex wp-container-core-group-is-layout-08f878cd wp-block-group-is-layout-flex">
<h2 class="wp-block-heading" style="font-size:38px">Quick guide</h2>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>XOAP’s Application Management module supports PSADT packages in both v3 and v4 formats. The only prerequisite for uploading custom packages is that they must be provided as a ZIP archive prior to upload.</p>
</blockquote>



<h3 class="wp-block-heading" style="font-size:28px">Upload a new Application</h3>



<ol class="wp-block-list">
<li>In the upper-right corner, click <strong>Upload Applications</strong>.</li>



<li><strong>Click to upload</strong> your application or <strong>drag and drop</strong> (supported format <strong>.zip</strong>).</li>



<li>Toggle <strong>on</strong> or leave <strong>off</strong> Allow overwrite if already exists.</li>



<li>Click <strong>Edit details</strong> to select/add tags.</li>



<li>Optional: After upload, click <strong>+ Create group</strong> or <strong>Add to group </strong>and then click<strong>Save</strong>.</li>



<li>Click <strong>Skip and finish</strong> (if no group selected).</li>
</ol>



<h3 class="wp-block-heading" style="font-size:28px">Edit an Application</h3>



<ol class="wp-block-list">
<li>Click the <strong>Action menu</strong> (⋮) and select <strong>Details</strong>.</li>



<li>View specific package parameters (as shown in the details view) or update <strong>Tags</strong>.</li>



<li>Click <strong>Save</strong> to apply any changes.</li>
</ol>



<h3 class="wp-block-heading" style="font-size:28px">Delete an Application</h3>



<ol class="wp-block-list">
<li>Click the <strong>Action menu </strong>(⋮) and select <strong>Delete</strong>.</li>



<li>Confirm the deletion by clicking on <strong>Delete</strong>.</li>
</ol>



<h3 class="wp-block-heading" style="font-size:28px">Additional useful information</h3>



<h4 class="wp-block-heading" style="font-size:21px">Download:</h4>



<p>You can download applications by opening the action menu and selecting <strong>Download</strong>.</p>



<h4 class="wp-block-heading" style="font-size:21px">Upload:</h4>



<p>You can upload packages to XOAP if they use the standard PSADT toolkit configuration. To upload an application package to XOAP, the PSAppDeployToolkit (PSADT) package must be provided as a ZIP archive with the toolkit files located at the root of the ZIP (no additional top-level folder).</p>



<h4 class="wp-block-heading" style="font-size:21px">Installation:</h4>



<p>The main dashboard provides an overview of the <strong>installation status and access to the log files.</strong> To install applications, you must use an <strong>Application Group</strong> or <strong>Application Roles</strong>.</p>



<h4 class="wp-block-heading" style="font-size:21px">PSADT packages:</h4>



<p>You can use the <strong>XOAP Package Wizard</strong> to create your own PSADT v3 packages.</p>



<h2 class="wp-block-heading" style="font-size:38px">Technical documentation</h2>



<p>XOAP’s Application Management module supports PSADT packages in both v3 and v4 formats. The only prerequisite for uploading custom packages is that they are provided as a ZIP archive prior to upload.</p>



<p>Importing applications into XOAP is a straightforward process. Packages are uploaded through the Application Management area. Navigate to <strong>Applications</strong>, click <strong>Upload Application</strong> in the upper-right corner, and follow the steps.</p>



<p>If they do not already existing inside the PSADT deployment script , the following variables and functions are added to each package during the upload process automatically:</p>



<ol class="wp-block-list">
<li><strong>Variables in </strong><strong>Deploy-Application.ps1</strong><strong> (PSADT v3)</strong>
<ul class="wp-block-list">
<li>[string]$appTargetOS</li>



<li>[string]$packageType</li>



<li>[string]$packageName</li>
</ul>
</li>



<li><strong>Variables in </strong><strong>Invoke-AppDeployToolkit.ps1</strong><strong> (PSADT v4) in </strong><strong>$adtSession</strong>
<ul class="wp-block-list">
<li>PackageType</li>



<li>TargetOS</li>



<li>PackageName</li>
</ul>
</li>



<li><strong>Functions added to both PSADT v3 and PSADT v4</strong>
<ul class="wp-block-list">
<li>Register-Installation in the post-install area</li>



<li>Unregister-Installation in the post-uninstallation area</li>
</ul>
</li>
</ol>



<p>The application name in XOAP is constructed from the package variables values, regardless of how the ZIP file is named. The naming logic is:</p>



<p><strong>packageType_appVendor_appName_appVersion_appTargetOS_appArch_appLang</strong></p>



<p>Example:</p>



<p><strong>APP_MicrosoftCorporation_Orca_101261007175_Any_Any_EN</strong></p>



<p>The additional register functions are used to report installation status back to XOAP from the client (this is achieved through adding the variables to the registry of each system, where the application is installed).</p>



<p>The implementation differs between PSADT v3 and PSADT v4 packages, even if the functions have the same names.</p>



<p><strong>For PSADT v3, the functions are added to AppDeployToolkitExtensions.ps1:</strong></p>



<pre class="wp-block-code"><code>
Function Register-Installation
{
    Set-RegistryKey -Key "HKEY_LOCAL_MACHINE\SOFTWARE\PSADT\InstalledApps\$PackageName" -Name 'IsInstalled' -Value 1 -Type DWord
    Set-RegistryKey -Key "HKEY_LOCAL_MACHINE\SOFTWARE\PSADT\InstalledApps\$PackageName" -Name 'ScriptName' -Value "$appName" -Type String
    Set-RegistryKey -Key "HKEY_LOCAL_MACHINE\SOFTWARE\PSADT\InstalledApps\$PackageName" -Name 'ScriptVendor' -Value "$appVendor" -Type String
    Set-RegistryKey -Key "HKEY_LOCAL_MACHINE\SOFTWARE\PSADT\InstalledApps\$PackageName" -Name 'ScriptVersion' -Value "$appVersion" -Type String
    Set-RegistryKey -Key "HKEY_LOCAL_MACHINE\SOFTWARE\PSADT\InstalledApps\$PackageName" -Name 'ScriptArch' -Value "$appArch" -Type String
    Set-RegistryKey -Key "HKEY_LOCAL_MACHINE\SOFTWARE\PSADT\InstalledApps\$PackageName" -Name 'ScriptLanguage' -Value "$appLang" -Type String
    Set-RegistryKey -Key "HKEY_LOCAL_MACHINE\SOFTWARE\PSADT\InstalledApps\$PackageName" -Name 'ScriptRevision' -Value "$appRevision" -Type String
    Set-RegistryKey -Key "HKEY_LOCAL_MACHINE\SOFTWARE\PSADT\InstalledApps\$PackageName" -Name 'ScriptVersion' -Value "$appScriptVersion" -Type String
    Set-RegistryKey -Key "HKEY_LOCAL_MACHINE\SOFTWARE\PSADT\InstalledApps\$PackageName" -Name 'ScriptDate' -Value "$appScriptDate" -Type String
    Set-RegistryKey -Key "HKEY_LOCAL_MACHINE\SOFTWARE\PSADT\InstalledApps\$PackageName" -Name 'ScriptAuthor' -Value "$appScriptAuthor" -Type String
    Set-RegistryKey -Key "HKEY_LOCAL_MACHINE\SOFTWARE\PSADT\InstalledApps\$PackageName" -Name 'PSADTVersion' -Value "$appDeployMainScriptVersion" -Type String
    Set-RegistryKey -Key "HKEY_LOCAL_MACHINE\SOFTWARE\PSADT\InstalledApps\$PackageName" -Name 'InstallationDateTime' -Value "$currentDateTime" -Type String
    Set-RegistryKey -Key "HKEY_LOCAL_MACHINE\SOFTWARE\PSADT\InstalledApps\$PackageName" -Name 'InstallationTimeZone' -Value "$currentTimeZoneBias" -Type String
    Set-RegistryKey -Key "HKEY_LOCAL_MACHINE\SOFTWARE\PSADT\InstalledApps\$PackageName" -Name 'InstallationSource' -Value "$scriptParentPath" -Type String
    $logFile = "{0}{1}" -f $logDirectory, $logName
    Set-RegistryKey -Key "HKEY_LOCAL_MACHINE\SOFTWARE\PSADT\InstalledApps\$PackageName" -Name 'LogFile' -Value "$logFile" -Type String
}</code></pre>



<pre class="wp-block-code"><code>
Function Unregister-Installation
{
    Remove-RegistryKey -Key "HKEY_LOCAL_MACHINE\SOFTWARE\PSADT\InstalledApps\$PackageName"
}</code></pre>



<p><strong>For PSADTv4 functions are added to PSAppDeployToolkitExtensions.psm1:</strong></p>



<pre class="wp-block-code"><code>
function Register-Installation
{
    
    &#91;CmdletBinding()]
    param
    (
        &#91;Parameter(Mandatory = $false)]
        &#91;System.String]$PackageName
    )

    begin
    {
        # Initialize function.
        Initialize-ADTFunction -Cmdlet $PSCmdlet -SessionState $ExecutionContext.SessionState
    }

    process
    {
        try
        {
            try
            {
                # Get the current ADT session
                $adtSession = Get-ADTSession
                
                # Use provided PackageName or derive from session
                if (-not $PackageName)
                {
                    $PackageName = if ($adtSession.PackageName) { $adtSession.PackageName } else { "$($adtSession.AppVendor)_$($adtSession.AppName)_$($adtSession.AppVersion)" }
                }

                # Get current date/time information
                $currentDateTime = Get-Date -Format 'yyyy-MM-dd HH:mm:ss'
                $currentTimeZoneBias = (Get-TimeZone).BaseUtcOffset.ToString()
                
                # Registry base key
                $baseKey = "HKEY_LOCAL_MACHINE\SOFTWARE\PSADT\InstalledApps\$PackageName"
                
                # Register installation metadata
                Set-ADTRegistryKey -Key $baseKey -Name 'IsInstalled' -Value 1 -Type DWord
                Set-ADTRegistryKey -Key $baseKey -Name 'ScriptName' -Value $adtSession.AppName -Type String
                Set-ADTRegistryKey -Key $baseKey -Name 'ScriptVendor' -Value $adtSession.AppVendor -Type String
                Set-ADTRegistryKey -Key $baseKey -Name 'ScriptVersion' -Value $adtSession.AppVersion -Type String
                Set-ADTRegistryKey -Key $baseKey -Name 'ScriptArch' -Value $adtSession.AppArch -Type String
                Set-ADTRegistryKey -Key $baseKey -Name 'ScriptLanguage' -Value $adtSession.AppLang -Type String
                Set-ADTRegistryKey -Key $baseKey -Name 'ScriptRevision' -Value $adtSession.AppRevision -Type String
                Set-ADTRegistryKey -Key $baseKey -Name 'ScriptScriptVersion' -Value $adtSession.AppScriptVersion -Type String
                Set-ADTRegistryKey -Key $baseKey -Name 'ScriptDate' -Value $adtSession.AppScriptDate -Type String
                Set-ADTRegistryKey -Key $baseKey -Name 'ScriptAuthor' -Value $adtSession.AppScriptAuthor -Type String
                Set-ADTRegistryKey -Key $baseKey -Name 'PSADTVersion' -Value $adtSession.DeployAppScriptVersion -Type String
                Set-ADTRegistryKey -Key $baseKey -Name 'InstallationDateTime' -Value $currentDateTime -Type String
                Set-ADTRegistryKey -Key $baseKey -Name 'InstallationTimeZone' -Value $currentTimeZoneBias -Type String
                Set-ADTRegistryKey -Key $baseKey -Name 'InstallationSource' -Value $PSScriptRoot -Type String
                
                # Register log file path if available
                if ($adtSession.LogPath)
                {
                    Set-ADTRegistryKey -Key $baseKey -Name 'LogFile' -Value $adtSession.LogPath -Type String
                }
                
                Write-ADTLogEntry -Message "Successfully registered installation for package &#91;$PackageName]" -Severity 1
            }
            catch
            {
                # Re-writing the ErrorRecord with Write-Error ensures the correct PositionMessage is used.
                Write-Error -ErrorRecord $_
            }
        }
        catch
        {
            # Process the caught error, log it and throw depending on the specified ErrorAction.
            Invoke-ADTFunctionErrorHandler -Cmdlet $PSCmdlet -SessionState $ExecutionContext.SessionState -ErrorRecord $_
        }
    }

    end
    {
        # Finalize function.
        Complete-ADTFunction -Cmdlet $PSCmdlet
    }
}</code></pre>



<pre class="wp-block-code"><code>
function Unregister-Installation
{
    &#91;CmdletBinding()]
    param
    (
        &#91;Parameter(Mandatory = $false)]
        &#91;System.String]$PackageName
    )

    begin
    {
        # Initialize function.
        Initialize-ADTFunction -Cmdlet $PSCmdlet -SessionState $ExecutionContext.SessionState
    }

    process
    {
        try
        {
            try
            {
                # Get the current ADT session
                $adtSession = Get-ADTSession
                
                # Use provided PackageName or derive from session
                if (-not $PackageName)
                {
                    $PackageName = if ($adtSession.PackageName) { $adtSession.PackageName } else { "$($adtSession.AppVendor)_$($adtSession.AppName)_$($adtSession.AppVersion)" }
                }

                # Remove the registry key entirely
                Remove-ADTRegistryKey -Key "HKEY_LOCAL_MACHINE\SOFTWARE\PSADT\InstalledApps\$PackageName"
                
                Write-ADTLogEntry -Message "Successfully unregistered installation for package &#91;$PackageName]" -Severity 1
            }
            catch
            {
                # Re-writing the ErrorRecord with Write-Error ensures the correct PositionMessage is used.
                Write-Error -ErrorRecord $_
            }
        }
        catch
        {
            # Process the caught error, log it and throw depending on the specified ErrorAction.
            Invoke-ADTFunctionErrorHandler -Cmdlet $PSCmdlet -SessionState $ExecutionContext.SessionState -ErrorRecord $_
        }
    }

    end
    {
        # Finalize function.
        Complete-ADTFunction -Cmdlet $PSCmdlet
    }
}


</code></pre>
</div>
<p>The post <a href="https://xoap.io/docs/applicationxo-applications/">Applications</a> appeared first on <a href="https://xoap.io">XOAP</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://xoap.io/docs/applicationxo-applications/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Groups</title>
		<link>https://xoap.io/docs/applicationxo-groups/</link>
					<comments>https://xoap.io/docs/applicationxo-groups/#respond</comments>
		
		<dc:creator><![CDATA[Stella]]></dc:creator>
		<pubDate>Wed, 27 Mar 2024 12:03:34 +0000</pubDate>
				<guid isPermaLink="false">https://xoap.io/?post_type=docs&#038;p=9917</guid>

					<description><![CDATA[<p>Quick guide Application Groups allow you to orchestrate the installation of applications and define installation parameters. Create a new Application Group Edit an Application Group &#160;Delete an Application Group Additional useful information Action menu: From the Action menu, you can duplicate an Application Group. This is useful for creating similar groups for different scenarios. You [&#8230;]</p>
<p>The post <a href="https://xoap.io/docs/applicationxo-groups/">Groups</a> appeared first on <a href="https://xoap.io">XOAP</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<div class="wp-block-group is-vertical is-layout-flex wp-container-core-group-is-layout-08f878cd wp-block-group-is-layout-flex">
<h2 class="wp-block-heading" id="edit" style="font-size:38px">Quick guide</h2>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p><strong>Application Groups</strong> allow you to orchestrate the installation of applications and define installation parameters.</p>
</blockquote>



<h3 class="wp-block-heading" style="font-size:28px">Create a new Application Group</h3>



<ol class="wp-block-list">
<li>In the upper-right corner, click <strong>+ Create Group</strong>.</li>



<li>Enter the <strong>Group name</strong> and select/add <strong>Tags</strong>.</li>



<li>Toggle <strong>Continue on error</strong> or <strong>Reboot</strong> (after installation) if needed.</li>



<li>Click <strong>+ Assign applications</strong> to add packages to the list.</li>



<li>Click <strong>Create</strong> to finish.</li>
</ol>



<h3 class="wp-block-heading" style="font-size:28px">Edit an Application Group</h3>



<ol class="wp-block-list">
<li>Click the <strong>Action menu</strong> (⋮) and select <strong>Details</strong>.</li>



<li>Update the parameters or modify the list of assigned applications.</li>



<li>Click <strong>Save</strong> to apply any changes.</li>
</ol>



<h3 class="wp-block-heading" style="font-size:28px">&nbsp;Delete an Application Group</h3>



<ol class="wp-block-list">
<li>Click the <strong>Action menu</strong> (⋮) and select <strong>Delete</strong>.</li>



<li>Confirm the deletion by clicking <strong>Delete</strong>.</li>
</ol>



<h3 class="wp-block-heading" style="font-size:28px">Additional useful information</h3>



<h4 class="wp-block-heading" style="font-size:21px">Action menu:</h4>



<p>From the <strong>Action menu</strong>, you can <strong>duplicate</strong> an Application Group. This is useful for creating similar groups for different scenarios. You can also create an <strong>Application Role</strong>. This is useful when combining Application Management with Configuration Management.</p>



<h4 class="wp-block-heading" style="font-size:21px">Download:</h4>



<p>Applications are downloaded to the system during the installation process and reside there in C:\Windows\Temp as a cached package.</p>



<h2 class="wp-block-heading" style="font-size:38px">Technical documentation</h2>



<p>Application Groups allow you to orchestrate the installation of applications and define installation parameters. Available installation parameters are read from the application’s PSADT <strong>Param</strong><strong>eter</strong> block.</p>



<p>You can specify these parameters during application assignment to the group or by editing already assigned applications.</p>



<p>When assigning an application to the group, use the slide-out application list and click the <strong>eye</strong> icon to view details.</p>



<p>This opens the installation parameters for the selected application, where you can modify the installation settings.</p>



<p>When editing a group, use the <strong>Assigned Applications</strong> table and click the <strong>eye</strong> icon to update installation parameters for applications already assigned.</p>



<p>Two additional settings can be configured at the group level: <strong>Continue on error</strong> and <strong>Force Restart</strong>.</p>



<ul class="wp-block-list">
<li><strong>Continue on error:</strong> By default, the installation process stops if any application fails. Enabling <strong>Continue on error</strong> overrides this behavior.</li>



<li><strong>Force Restart:</strong> The client is restarted after all applications have been installed.</li>
</ul>



<p><strong>Important:</strong> When combining Application Management with Configuration Management, the applied Configuration Management policy must allow restarts for <strong>Force Restart</strong> to work.</p>



<p>You can also change the installation order of applications within a group by rearranging them in the <strong>Assigned Applications</strong> table.</p>



<h3 class="wp-block-heading" style="font-size:28px">Install an Application Group on a single machine</h3>



<h4 class="wp-block-heading" style="font-size:21px">Get Installation Command or Script</h4>



<ol class="wp-block-list">
<li>Open <strong>PowerShell</strong> as Administrator and run the command or script on the machine.</li>



<li>Click the <strong>Action menu (⋮)</strong>.</li>



<li>Select <strong>Copy installation command</strong> for a CLI command or <strong>Download installation script</strong> for a standalone file.</li>
</ol>
</div>
<p>The post <a href="https://xoap.io/docs/applicationxo-groups/">Groups</a> appeared first on <a href="https://xoap.io">XOAP</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://xoap.io/docs/applicationxo-groups/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Roles</title>
		<link>https://xoap.io/docs/applicationxo-roles/</link>
					<comments>https://xoap.io/docs/applicationxo-roles/#respond</comments>
		
		<dc:creator><![CDATA[Stella]]></dc:creator>
		<pubDate>Wed, 27 Mar 2024 12:06:55 +0000</pubDate>
				<guid isPermaLink="false">https://xoap.io/?post_type=docs&#038;p=9921</guid>

					<description><![CDATA[<p>Quick guide Roles are used to combine multiple application groups. This allows you to reuse the same groups with the same application settings across different roles. Add a new Application Role Edit an Application Role Delete an Application Role Additional useful information Action menu: From the Action menu, you can duplicate an Application Role. This [&#8230;]</p>
<p>The post <a href="https://xoap.io/docs/applicationxo-roles/">Roles</a> appeared first on <a href="https://xoap.io">XOAP</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<div class="wp-block-group is-vertical is-layout-flex wp-container-core-group-is-layout-08f878cd wp-block-group-is-layout-flex">
<h2 class="wp-block-heading" style="font-size:38px">Quick guide</h2>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>Roles are used to combine multiple application groups. This allows you to reuse the same groups with the same application settings across different roles.</p>
</blockquote>



<h3 class="wp-block-heading has-ast-global-color-0-color has-text-color has-link-color wp-elements-f1268ac06942683875f3a4ffb7692fda" style="font-size:28px">Add a new Application Role</h3>



<ol class="wp-block-list">
<li>In the upper-right corner, click <strong>+ Create Role</strong>.</li>



<li>Enter the <strong>Role name</strong> and select/add <strong>Tags</strong>.</li>



<li>Toggle <strong>Continue on error</strong> or <strong>Reboot</strong> (after installation) if needed.</li>



<li>Click <strong>+ Assign groups</strong> to add Application Groups to the list.</li>



<li>Click <strong>Create</strong> to finish.</li>
</ol>



<h3 class="wp-block-heading has-ast-global-color-0-color has-text-color has-link-color wp-elements-a8afe4c7dfd700e89c236d1ccde80f33" style="font-size:28px">Edit an Application Role</h3>



<ol class="wp-block-list">
<li>Click the <strong>Action menu</strong> (⋮) and select <strong>Details</strong>.</li>



<li>Update the parameters or modify the list of assigned groups.</li>



<li>Click <strong>Save</strong> to apply any changes.</li>
</ol>



<h3 class="wp-block-heading has-ast-global-color-0-color has-text-color has-link-color wp-elements-f26a7b722024a6464f2164c31f3eb2c2" style="font-size:28px">Delete an Application Role</h3>



<ol class="wp-block-list">
<li>Click the<strong> Action menu (⋮)</strong> and select <strong>Delete.</strong></li>



<li>Confirm the deletion by clicking <strong>Delete.</strong></li>
</ol>



<h3 class="wp-block-heading has-ast-global-color-0-color has-text-color has-link-color wp-elements-78c91561c70762b56fb68bfcdf3d18d0" style="font-size:28px">Additional useful information</h3>



<h4 class="wp-block-heading" style="font-size:21px">Action menu:</h4>



<p>From the Action menu, you can duplicate an Application Role. This is useful for creating similar groups for different scenarios.</p>



<h4 class="wp-block-heading" style="font-size:21px">Download:</h4>



<p>Applications are downloaded to the system during the installation process and reside there in C:\Windows\Temp as a cached package.</p>



<h2 class="wp-block-heading has-ast-global-color-0-color has-text-color has-link-color wp-elements-e5edc92422e2e09869575f4c95846224" style="font-size:38px">Technical documentation</h2>



<p>Roles are used to combine multiple application groups. This allows you to reuse the same groups with the same application settings across different roles.</p>



<p>Two additional settings can be configured at the role level: <strong>Continue on error</strong> and <strong>Force Restart</strong>.</p>



<ul class="wp-block-list">
<li><strong>Continue on error:</strong> By default, the installation process stops if any application fails. Enabling <strong>Continue on error</strong> overrides this behavior.</li>



<li><strong>Force Restart:</strong> The client is restarted after all installations have completed.</li>
</ul>



<p><strong>Important:</strong> When combining Application Management with Configuration Management, the applied Configuration Management policy must allow restarts for <strong>Force Restart</strong> to work.</p>



<p>You can also change the installation order within a role by rearranging the assigned <strong>Application Groups</strong> in the role’s assignment table.</p>



<h3 class="wp-block-heading has-ast-global-color-0-color has-text-color has-link-color wp-elements-4a319145bdc08ca09ff32bc111745a84" style="font-size:28px">Install an Application Role on a single machine</h3>



<h4 class="wp-block-heading has-ast-global-color-0-color has-text-color has-link-color wp-elements-18ca4cab8cd7e644cf3072c1ec2adf64" style="font-size:21px">Get Installation Command or Script</h4>



<ul class="wp-block-list">
<li>Click the <strong>Action menu (⋮)</strong>.</li>



<li>Select <strong>Copy installation command</strong> for a CLI command or <strong>Download installation script</strong> for a standalone file.</li>



<li>Open <strong>PowerShell</strong> as Administrator and run the command or script on the machine.</li>
</ul>



<p>An <strong>Application Role</strong> is the highest-level construct for deploying applications. It is also required if you want to combine <strong>Application Management</strong> with <strong>Configuration Management</strong> for full client management.</p>
</div>
<p>The post <a href="https://xoap.io/docs/applicationxo-roles/">Roles</a> appeared first on <a href="https://xoap.io">XOAP</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://xoap.io/docs/applicationxo-roles/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Security</title>
		<link>https://xoap.io/docs/applicationxo-security/</link>
					<comments>https://xoap.io/docs/applicationxo-security/#respond</comments>
		
		<dc:creator><![CDATA[Stella]]></dc:creator>
		<pubDate>Wed, 27 Mar 2024 12:08:07 +0000</pubDate>
				<guid isPermaLink="false">https://xoap.io/?post_type=docs&#038;p=9638</guid>

					<description><![CDATA[<p>Strict Mode If you are using Strict Mode for PowerShell in your environment, you need to test the application packages thoroughly before you can use them in production. We made some basic tests with PSADT packages and Strict Mode and it seems to work fine. Read more about it here. Parameters and secrets Parameters and secrets [&#8230;]</p>
<p>The post <a href="https://xoap.io/docs/applicationxo-security/">Security</a> appeared first on <a href="https://xoap.io">XOAP</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h3 class="wp-block-heading" id="strict-mode">Strict Mode</h3>



<p>If you are using Strict Mode for PowerShell in your environment, you need to test the application packages thoroughly before you can use them in production.</p>



<p>We made some basic tests with PSADT packages and Strict Mode and it seems to work fine. Read more about it <a href="https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/set-strictmode?view=powershell-5.1">here</a>.</p>



<h3 class="wp-block-heading" id="parameters-and-secrets">Parameters and secrets</h3>



<p>Parameters and secrets you assign to your applications are stored encrypted in our backend and injected into the packages during runtime.</p>
<p>The post <a href="https://xoap.io/docs/applicationxo-security/">Security</a> appeared first on <a href="https://xoap.io">XOAP</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://xoap.io/docs/applicationxo-security/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Best practices</title>
		<link>https://xoap.io/docs/applicationxo-best-practices/</link>
					<comments>https://xoap.io/docs/applicationxo-best-practices/#respond</comments>
		
		<dc:creator><![CDATA[Stella]]></dc:creator>
		<pubDate>Wed, 27 Mar 2024 12:13:09 +0000</pubDate>
				<guid isPermaLink="false">https://xoap.io/?post_type=docs&#038;p=9833</guid>

					<description><![CDATA[<p>This area describes common mistakes that can be made during application package creation. Use single quotes instead of double quotes Wrong: Correct: Space between validation options Wrong: Correct: Set comma after the last parameter Wrong: Correct:</p>
<p>The post <a href="https://xoap.io/docs/applicationxo-best-practices/">Best practices</a> appeared first on <a href="https://xoap.io">XOAP</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>This area describes common mistakes that can be made during application package creation.</p>
</blockquote>



<h3 class="wp-block-heading" id="use-single-quotes-instead-of-double-quotes">Use single quotes instead of double quotes</h3>



<p>Wrong:</p>



<pre class="wp-block-code"><code>&#91;Parameter(Mandatory)]
&#91;ValidateSer("Splunk","Elasticsearch")]
&#91;string]$Backend,</code></pre>



<p>Correct:</p>



<pre class="wp-block-code"><code>&#91;Parameter(Mandatory)]
&#91;ValidateSer('Splunk','Elasticsearch')]
&#91;string]$Backend,</code></pre>



<h3 class="wp-block-heading" id="space-between-validation-options">Space between validation options</h3>



<p>Wrong:</p>



<pre class="wp-block-code"><code>&#91;Parameter(Mandatory)]
&#91;ValidateSer('TCP', 'HTTP', 'Console')]
&#91;string]$Protocol,</code></pre>



<p>Correct:</p>



<pre class="wp-block-code"><code>&#91;Parameter(Mandatory)]
&#91;ValidateSer('TCP','HTTP','Console')]
&#91;string]$Protocol,</code></pre>



<h3 class="wp-block-heading" id="set-comma-after-the-last-parameter">Set comma after the last parameter</h3>



<p>Wrong:</p>



<pre class="wp-block-code"><code>Param (
    &#91;Parameter(Mandatory=$false)]
    &#91;ValidateSet('Install','Uninstall')]
    &#91;string]$DeploymentType = 'Install',
    &#91;Parameter(Mandatory=$false)]
    &#91;ValidateSet('Interactive','Silent','NonInteractive')]
    &#91;string]$DeployMode = 'Interactive',
    &#91;Parameter(Mandatory=$false)]
    &#91;switch]$AllowRebootPassThru = $false,
    &#91;Parameter(Mandatory=$false)]
    &#91;switch]$TerminalServerMode = $false,
    &#91;Parameter(Mandatory=$false)]
    &#91;switch]$DisableLogging = $false,
)</code></pre>



<p>Correct:</p>



<pre class="wp-block-code"><code>Param (
    &#91;Parameter(Mandatory=$false)]
    &#91;ValidateSet('Install','Uninstall')]
    &#91;string]$DeploymentType = 'Install',
    &#91;Parameter(Mandatory=$false)]
    &#91;ValidateSet('Interactive','Silent','NonInteractive')]
    &#91;string]$DeployMode = 'Interactive',
    &#91;Parameter(Mandatory=$false)]
    &#91;switch]$AllowRebootPassThru = $false,
    &#91;Parameter(Mandatory=$false)]
    &#91;switch]$TerminalServerMode = $false,
    &#91;Parameter(Mandatory=$false)]
    &#91;switch]$DisableLogging = $false
)</code></pre>
<p>The post <a href="https://xoap.io/docs/applicationxo-best-practices/">Best practices</a> appeared first on <a href="https://xoap.io">XOAP</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://xoap.io/docs/applicationxo-best-practices/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
