<?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>XOAP Docs Archive | XOAP</title>
	<atom:link href="https://xoap.io/docs/feed/" rel="self" type="application/rss+xml" />
	<link>https://xoap.io/docs/</link>
	<description>Platform for IT infrastructure and workplace automation</description>
	<lastBuildDate>Thu, 25 Jun 2026 11:05: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>XOAP Docs Archive | XOAP</title>
	<link>https://xoap.io/docs/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>AVD Manager feature list</title>
		<link>https://xoap.io/docs/avd-manager/</link>
					<comments>https://xoap.io/docs/avd-manager/#respond</comments>
		
		<dc:creator><![CDATA[Stella]]></dc:creator>
		<pubDate>Wed, 24 Jun 2026 13:46:45 +0000</pubDate>
				<guid isPermaLink="false">https://xoap.io/?post_type=docs&#038;p=31803</guid>

					<description><![CDATA[<p>XOAP AVD Manager is a browser-based control plane for Azure Virtual Desktop. Connect an Azure subscription and manage your entire AVD estate — host pools, session hosts, images, scaling, cost, and access — in minutes. No in-tenant appliance to deploy, no agents&#160;required&#160;to get started, and a free tier so you can prove value before you [&#8230;]</p>
<p>The post <a href="https://xoap.io/docs/avd-manager/">AVD Manager feature list</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">
<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>XOAP AVD Manager is a browser-based control plane for Azure Virtual Desktop. Connect an Azure subscription and manage your entire AVD estate — host pools, session hosts, images, scaling, cost, and access — in minutes. No in-tenant appliance to deploy, no agents&nbsp;required&nbsp;to get started, and a free tier so you can prove value before you pay.&nbsp;</p>
</blockquote>



<ul class="wp-block-list">
<li>Works across subscriptions and Entra tenants from a single, filterable view.&nbsp;</li>



<li>Live data, direct from Azure — host, session, and cost data read straight from the Azure ARM, Cost Management, and Log Analytics APIs.&nbsp;</li>



<li>Concurrent-user licensing — pay for the users you actually run at once, not everyone who has an account.&nbsp;</li>
</ul>



<h2 class="wp-block-heading" style="font-size:38px">1. Single-pane fleet overview</h2>



<ul class="wp-block-list">
<li>Live fleet dashboard — running hosts, active sessions, fleet&nbsp;utilization, and estimated monthly cost&nbsp;at a glance.&nbsp;</li>



<li>24-hour activity charts — sessions vs. capacity, CPU, and network, drawn from AVD Insights / Log Analytics.&nbsp;</li>



<li>Savings view — estimated cost savings vs. an always-on fleet, with a live scale-events feed.&nbsp;</li>



<li>One-click AVD Insights enablement — turn on diagnostics per connection or per host pool whenever a pool&nbsp;isn&#8217;t&nbsp;yet reporting.&nbsp;</li>
</ul>



<h2 class="wp-block-heading" style="font-size:38px">2. Host pool management&nbsp;</h2>



<ul class="wp-block-list">
<li>Full lifecycle for pooled and personal host pools — create, configure, and&nbsp;delete&nbsp;with type-to-confirm safety.&nbsp;</li>



<li>Guided New Host Pool flow — type, region, load balancing, image, scaling plan, connector, auto-heal, and&nbsp;FSLogix&nbsp;in one&nbsp;slideout, with Azure naming-convention suggestions.&nbsp;</li>



<li>At-a-glance health — per-pool health, scaling mode,&nbsp;utilization&nbsp;bar, assigned image, and connector coverage.&nbsp;</li>



<li>Pool-level operations — add hosts scoped to the pool, rolling reboot (drains and&nbsp;reboots&nbsp;one host at a time, skipping hosts with active sessions), and install Windows updates across all hosts.&nbsp;</li>
</ul>



<h2 class="wp-block-heading" style="font-size:38px">3. Session host management&nbsp;</h2>



<ul class="wp-block-list">
<li>Fleet-wide and per-pool host&nbsp;tables — Azure power state, session count, CPU/RAM, connector status and version, disk tier, and per-host image version.&nbsp;</li>



<li>Image-drift detection — a badge flags any host not running the pool&#8217;s assigned golden image.&nbsp;</li>



<li>Complete host actions — start, deallocate, restart, reimage, drain, resume, install Windows updates, install connector, and&nbsp;delete.&nbsp;</li>



<li>Deep host detail —&nbsp;utilization&nbsp;donuts, health checks, VM details, live sessions, and session diagnostics (latency, protocol health, and the last error events).&nbsp;</li>
</ul>



<h2 class="wp-block-heading" style="font-size:38px">4. Sessions &amp; helpdesk&nbsp;</h2>



<ul class="wp-block-list">
<li>Live session list — fleet-wide and per-pool, showing user, host pool, session host, state, active app, and start time, with search and filter.&nbsp;</li>



<li>Helpdesk actions per session — send a message, disconnect, or sign the user out (with an&nbsp;unsaved-work&nbsp;warning).&nbsp;</li>
</ul>



<h2 class="wp-block-heading" style="font-size:38px">5. Autoscaling &amp; power management</h2>



<ul class="wp-block-list">
<li>Reusable, named scaling plans — ramp-up / peak / ramp-down / off-peak schedules, weekday&nbsp;selection, capacity thresholds, minimum and warm-baseline host counts, and session / CPU / RAM triggers, assignable to many pools.&nbsp;</li>



<li>Visual&nbsp;scaling-plan&nbsp;builder with a live preview.&nbsp;</li>



<li>Weekend / off-day shutdown — automatically deallocates hosts on non-working days.&nbsp;</li>



<li>Holiday overrides — set specific dates with their own&nbsp;minimum&nbsp;host count.&nbsp;</li>



<li>Manual override — pin the running host count now; it auto-expires at the next&nbsp;schedule&nbsp;transition.&nbsp;</li>



<li>Scale-event log — every host-count change with before/after counts and the trigger that caused it.&nbsp;</li>
</ul>



<h2 class="wp-block-heading" style="font-size:38px">6. Cost intelligence &amp; optimization&nbsp;</h2>



<ul class="wp-block-list">
<li>Real per-pool cost — day / week / month actuals from Azure Cost Management, scoped to the AVD resource groups, plus cost-per-session and spend-by-service.&nbsp;</li>



<li>Estimated savings vs. always-on, so you can show the value of scaling.&nbsp;</li>



<li>Per-pool monthly budgets with threshold alerting.&nbsp;</li>



<li>Automatic disk tiering — Premium SSD while a host is running, Standard HDD when&nbsp;it&#8217;s&nbsp;deallocated, to cut idle storage spend.&nbsp;</li>
</ul>



<h2 class="wp-block-heading" style="font-size:38px">7. Alerts &amp; budgets&nbsp;</h2>



<ul class="wp-block-list">
<li>Proactive monitoring created as native Azure alert resources — no separate monitoring tool to wire up. Eight ready-to-use templates:&nbsp;</li>



<li>CPU high, low memory, and host-down metric alerts.&nbsp;</li>



<li>Unhealthy hosts, connection errors, high latency, and no available&nbsp;hosts&nbsp;log-based alerts (KQL over AVD Insights).&nbsp;</li>



<li>Monthly cost budget with 80% / 100% thresholds and optional forecast.&nbsp;</li>



<li>Delivery via Azure action groups and email.&nbsp;</li>
</ul>



<h2 class="wp-block-heading" style="font-size:38px">8. Image lifecycle management&nbsp;</h2>



<ul class="wp-block-list">
<li>Flexible golden-image sources — Azure Marketplace (latest Windows 11 multi-session), Compute Gallery, or managed images.&nbsp;</li>



<li>Keep-updated&nbsp;tracking — automatically follow the latest image version, gated to a maintenance window, with one-click rollback to the&nbsp;previous&nbsp;image.&nbsp;</li>



<li>Rolling rollout — drains and replaces hosts in batches with a color-coded progress view (queued / in-progress / done / failed) and per-host status.&nbsp;</li>



<li>Safe rollover — replacement hosts get&nbsp;previous&nbsp;names (during rollout the replacement host is renamed), and personal-desktop user assignments migrate to the new host automatically.&nbsp;</li>



<li>Image-deleted alert when an assigned image version no longer exists, plus per-host drift badges.&nbsp;</li>
</ul>



<h2 class="wp-block-heading" style="font-size:38px">9. Maintenance &amp; patching&nbsp;</h2>



<ul class="wp-block-list">
<li>Per-pool maintenance windows (days / start / end / time zone) that gate automated refreshes and reboots.&nbsp;</li>



<li>Scheduled rolling reboots.&nbsp;</li>



<li>Windows Update patching — per host or across all hosts; deallocated hosts are started, patched, then deallocated again.&nbsp;</li>
</ul>



<h2 class="wp-block-heading" style="font-size:38px">10. Automation&nbsp;</h2>



<ul class="wp-block-list">
<li>Scripted Actions library — reuse your existing XOAP scripted actions or create new ones in a guided flow.&nbsp;</li>



<li>Event hooks — trigger a scripted action on any of 30+ AVD events (host start / stop / restart / drain / registered / unhealthy, scaling, schedule, session, and lifecycle events), with a recent-fires&nbsp;log.&nbsp;</li>
</ul>



<h2 class="wp-block-heading" style="font-size:38px">11. Workspaces, application groups &amp; applications&nbsp;</h2>



<ul class="wp-block-list">
<li>Application Groups — every Desktop and RemoteApp group across all connections, with its host pool, publishing workspaces, and RemoteApp count; create new groups,&nbsp;publish to&nbsp;workspaces, and manage user assignments.&nbsp;</li>



<li>Workspaces — grid and&nbsp;detail&nbsp;views; publish or unpublish application groups, assign users per published group, and a Connect panel with the subscribe URL, web client link, and an Open in Windows App deep link. Safe delete and&nbsp;force-delete&nbsp;with a reviewable resource list.&nbsp;</li>



<li>Applications — App Attach / MSIX packages and published&nbsp;RemoteApps, with a Publish RemoteApp flow and assignment management. Published apps surface in both pool and host detail.&nbsp;</li>



<li>FSLogix&nbsp;storage — create and manage the storage accounts and file shares behind user profiles.&nbsp;</li>
</ul>



<h2 class="wp-block-heading" style="font-size:38px">12. Directory &amp; user assignment&nbsp;</h2>



<ul class="wp-block-list">
<li>Full Entra directory — users and groups read live via Microsoft Graph, with on-prem-synced identities flagged as AD DS (synced), plus search and source filtering.&nbsp;</li>



<li>Real Azure RBAC assignment — assign any principal to an application group, a host pool, or a specific session host (Desktop Virtualization User on app groups, Virtual Machine User Login on VMs).&nbsp;</li>



<li>Assignment&nbsp;slideout&nbsp;— multi-select principals and, for application groups, read back current assignments by name with one-click revoke.&nbsp;</li>
</ul>



<h2 class="wp-block-heading" style="font-size:38px">13. Access control &amp; governance&nbsp;</h2>



<ul class="wp-block-list">
<li>Role / plane model — Operations, Administration, and Infrastructure planes gate every action, with a “Viewing as” preview to check what each role sees.&nbsp;</li>



<li>Action log — every resource action (pool and host changes, image rollouts, reboots, patching, deployments) is recorded with timestamp, resource, and result, shown on each pool&#8217;s Activity tab.&nbsp;</li>
</ul>



<h2 class="wp-block-heading" style="font-size:38px">14. AI assistant&nbsp;</h2>



<ul class="wp-block-list">
<li>A platform-wide assistant powered by Claude, available throughout XOAP:&nbsp;</li>



<li>Explain — ask about any resource and get answers grounded in a sanitized, redacted snapshot of your fleet, cost, and scaling state.&nbsp;</li>



<li>Create &amp; manage — add a session host, create an application group, assign a user, and more — through a confirm-then-execute, names-only model: you confirm in plain language, and the platform resolves names to Azure resource IDs. The assistant never touches raw IDs, scopes, or credentials. The action set is growing.&nbsp;</li>



<li>Usage transparency — the launcher shows prompts&nbsp;remaining&nbsp;today against your plan&#8217;s limit.&nbsp;</li>
</ul>



<h2 class="wp-block-heading" style="font-size:38px">15. Multi-subscription &amp; multi-tenant&nbsp;</h2>



<ul class="wp-block-list">
<li>Merged fleet across subscriptions — one view of every pool, host, session, cost, and health signal.&nbsp;</li>



<li>Cross-tenant from one pane — manage AVD across multiple Entra tenants, each with its own isolated connection credential, filterable per connection.&nbsp;</li>



<li>Every resource tagged by its source connection for clean attribution.&nbsp;</li>
</ul>



<h2 class="wp-block-heading" style="font-size:38px">16. Getting started&nbsp;</h2>



<ul class="wp-block-list">
<li>Connect-first empty state — add an Azure connection inline without leaving&nbsp;AVD&nbsp;Manager.&nbsp;</li>



<li>Three start paths: QuickStart (a one-click disposable sandbox — resource group, network, pool, app group, workspace, scaling plan, and hosts — with an image picker, convention-based names, background provisioning with retry, and one-click teardown); Enterprise (a guided wizard covering governance tags, identity, network, image, scaling, insights, and connector); Manual (go straight to the manager and create each resource yourself).&nbsp;</li>



<li>VM size picker with live pricing — each size shows real pay-as-you-go pricing (per hour and per month, from the Azure Retail Prices API) alongside vCPU, RAM, and network, with a Recommended for AVD quick-pick row.&nbsp;</li>



<li>Tracked deployments — every host-add is a job with a live phase and an expandable, color-coded step log (creating VM → registering → Available, or the failure reason with remediation).&nbsp;</li>



<li>Workspace-friendly&nbsp;slideouts&nbsp;— maximize any panel to full width or minimize it to a side handle without losing your input.&nbsp;</li>
</ul>



<h2 class="wp-block-heading" style="font-size:38px">17. Licensing </h2>



<ul class="wp-block-list">
<li>Concurrent-user model — pay for peak concurrent users, not named or monthly-active users.&nbsp;</li>



<li>Licensing tab — current plan,&nbsp;managed-systems&nbsp;usage, live concurrent users, 30-day peak, and licensed seats with an over-license warning.&nbsp;</li>
</ul>



<h2 class="wp-block-heading" style="font-size:38px">Editions&nbsp;</h2>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><td>&nbsp;</td><td><strong>Free</strong>&nbsp;</td><td><strong>Paid (Workspace)</strong>&nbsp;</td></tr><tr><td>Price&nbsp;</td><td>$0&nbsp;</td><td>Flat workspace fee + concurrent-user licensing&nbsp;</td></tr><tr><td>Host pools / hosts&nbsp;</td><td>Manage 1 pool / 5 hosts (the rest are view-only)&nbsp;</td><td>Unlimited&nbsp;</td></tr><tr><td>Deploy&nbsp;</td><td>QuickStart + Manual&nbsp;</td><td>+ Enterprise guided wizard&nbsp;</td></tr><tr><td>View everything&nbsp;</td><td>Pools, hosts, sessions, cost, workspaces, app groups,&nbsp;RemoteApps, storage&nbsp;</td><td>✓&nbsp;</td></tr><tr><td>Scaling plans&nbsp;</td><td>Read-only example&nbsp;</td><td>Full builder + assignment&nbsp;</td></tr><tr><td>Automation &amp; hooks&nbsp;</td><td>—&nbsp;</td><td>✓&nbsp;</td></tr><tr><td>Access control &amp; RBAC&nbsp;</td><td>—&nbsp;</td><td>✓&nbsp;</td></tr><tr><td>App Attach / MSIX&nbsp;</td><td>RemoteApps&nbsp;only&nbsp;</td><td>✓&nbsp;</td></tr><tr><td>FSLogix&nbsp;management&nbsp;</td><td>—&nbsp;</td><td>✓&nbsp;</td></tr></tbody></table></figure>



<h2 class="wp-block-heading" style="font-size:38px">On the roadmap</h2>



<p>We&#8217;re&nbsp;transparent about scope. The following are not in the product today and are on our roadmap:&nbsp;</p>



<ul class="wp-block-list">
<li>Windows 365 management&nbsp;</li>



<li>Intune integration&nbsp;</li>



<li>Multi-region disaster recovery / failover&nbsp;</li>



<li>Always-on server-side automation (event hooks currently dispatch while the manager is open)&nbsp;</li>



<li>MSP packaging (per-customer grouping, delegated customer logins, and per-customer branding and billing on top of the cross-tenant management we already provide)&nbsp;</li>
</ul>
</div>
<p>The post <a href="https://xoap.io/docs/avd-manager/">AVD Manager feature list</a> appeared first on <a href="https://xoap.io">XOAP</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://xoap.io/docs/avd-manager/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>FAQ</title>
		<link>https://xoap.io/docs/psadt-package-wizard-faq/</link>
					<comments>https://xoap.io/docs/psadt-package-wizard-faq/#respond</comments>
		
		<dc:creator><![CDATA[Stella]]></dc:creator>
		<pubDate>Tue, 28 Apr 2026 12:00:46 +0000</pubDate>
				<guid isPermaLink="false">https://xoap.io/?post_type=docs&#038;p=31237</guid>

					<description><![CDATA[<p>Can I work on multiple packages at the same time? Yes. Create as many packages as you need from the dashboard (free edition limit: 10). Switch between them by clicking a card or using the package picker. Each package has its own files, configuration, phases, and test-run settings. Do I need an internet connection? Only [&#8230;]</p>
<p>The post <a href="https://xoap.io/docs/psadt-package-wizard-faq/">FAQ</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">Can I work on multiple packages at the same time?<a href="https://github.com/xoap-io/psadt-package-wizard/blob/dev/docs/USER-MANUAL.md#can-i-work-on-multiple-packages-at-the-same-time"></a></h2>



<p>Yes. Create as many packages as you need from the dashboard (free edition limit: 10). Switch between them by clicking a card or using the package picker. Each package has its own files, configuration, phases, and test-run settings.</p>



<h2 class="wp-block-heading" style="font-size:38px">Do I need an internet connection?<a href="https://github.com/xoap-io/psadt-package-wizard/blob/dev/docs/USER-MANUAL.md#do-i-need-an-internet-connection"></a></h2>



<p>Only for:</p>



<ul class="wp-block-list">
<li>Downloading .NET 9 runtimes (first install only, if not already installed)</li>



<li>Downloading the latest PSADT from GitHub (optional)</li>



<li>Checking for toolkit updates (optional; toggle in Settings)</li>
</ul>



<p>All other functionality works completely offline.</p>



<h2 class="wp-block-heading" style="font-size:38px">Where are my packages saved?<a href="https://github.com/xoap-io/psadt-package-wizard/blob/dev/docs/USER-MANUAL.md#where-are-my-packages-saved"></a></h2>



<p>Package definitions (configuration, phase code, parameters) are saved in&nbsp;<code>%AppData%\XOAP\PackageWizard\packages.json</code>. Uploaded files are in&nbsp;<code>%AppData%\XOAP\PackageWizard\workspace\Files\{packageId}\</code>.</p>



<h2 class="wp-block-heading" style="font-size:38px">Can I back up my work?<a href="https://github.com/xoap-io/psadt-package-wizard/blob/dev/docs/USER-MANUAL.md#can-i-back-up-my-work"></a></h2>



<p>Yes. Copy the entire&nbsp;<code>%AppData%\XOAP\PackageWizard\</code>&nbsp;folder. It contains all your packages, preferences, uploaded files, and downloaded toolkits.</p>



<h2 class="wp-block-heading" style="font-size:38px">How do I use the exported package?<a href="https://github.com/xoap-io/psadt-package-wizard/blob/dev/docs/USER-MANUAL.md#how-do-i-use-the-exported-package"></a></h2>



<p>The exported&nbsp;<code>.zip</code>&nbsp;is a standard PSADT v4 package. Extract it and run:</p>



<pre class="wp-block-preformatted"># Interactive install
.\Invoke-AppDeployToolkit.ps1 -DeploymentType Install

# Silent install
.\Invoke-AppDeployToolkit.ps1 -DeploymentType Install -DeployMode Silent

# Uninstall
.\Invoke-AppDeployToolkit.ps1 -DeploymentType Uninstall

# Repair
.\Invoke-AppDeployToolkit.ps1 -DeploymentType Repair</pre>



<p>Or deploy it via SCCM/MECM, Intune, or any tool that executes PowerShell scripts.</p>



<h2 class="wp-block-heading" style="font-size:38px">Can I import my old PSADT v3 packages?<a href="https://github.com/xoap-io/psadt-package-wizard/blob/dev/docs/USER-MANUAL.md#can-i-import-my-old-psadt-v3-packages"></a></h2>



<p>Yes. Use&nbsp;<strong>Import Local</strong>&nbsp;on the dashboard. The wizard detects v3 packages (<code>Deploy-Application.ps1</code>) and translates commands, variables, and parameters to v4 syntax automatically. Commands that map to multiple v4 functions are annotated with&nbsp;<code># TODO</code>&nbsp;comments for you to resolve.</p>



<h2 class="wp-block-heading" style="font-size:38px">The application won&#8217;t start — what do I check?<a href="https://github.com/xoap-io/psadt-package-wizard/blob/dev/docs/USER-MANUAL.md#the-application-wont-start--what-do-i-check"></a></h2>



<ol class="wp-block-list">
<li><strong>Check the logs</strong>&nbsp;at&nbsp;<code>%AppData%\XOAP\PackageWizard\logs\</code>
<ul class="wp-block-list">
<li><code>desktop-{date}.log</code>&nbsp;— Shows startup errors, API health check results</li>



<li><code>api-{session}.log</code>&nbsp;— Shows API server errors</li>
</ul>
</li>



<li><strong>Verify .NET 9 is installed:</strong>&nbsp;Open a command prompt and run&nbsp;<code>dotnet --list-runtimes</code>. Look for&nbsp;<code>Microsoft.WindowsDesktop.App 9.0.x</code>&nbsp;<strong>and</strong>&nbsp;<code>Microsoft.AspNetCore.App 9.0.x</code>.</li>



<li><strong>Reinstall</strong>&nbsp;if the issue persists — uninstall first, delete the install folder, then reinstall.</li>
</ol>



<h2 class="wp-block-heading" style="font-size:38px">How do I update XOAP PSADT Package Wizard?<a href="https://github.com/xoap-io/psadt-package-wizard/blob/dev/docs/USER-MANUAL.md#how-do-i-update-xoap-psadt-package-wizard"></a></h2>



<p>Run the new installer. It will upgrade the existing installation in place. Your packages and settings are stored in&nbsp;<code>%AppData%</code>&nbsp;and are not affected by upgrades.</p>



<h2 class="wp-block-heading" style="font-size:38px">Can I change the install location?<a href="https://github.com/xoap-io/psadt-package-wizard/blob/dev/docs/USER-MANUAL.md#can-i-change-the-install-location"></a></h2>



<p>Yes, during installation you can choose any folder. The default (<code>C:\Program Files\XOAP PSADT Package Wizard</code>) is recommended because the&nbsp;<code>[InstallDelete]</code>&nbsp;step in Inno Setup&#8217;s upgrade handling looks for that location.</p>



<h2 class="wp-block-heading" style="font-size:38px">Is my data sent anywhere?<a href="https://github.com/xoap-io/psadt-package-wizard/blob/dev/docs/USER-MANUAL.md#is-my-data-sent-anywhere"></a></h2>



<p>No. XOAP PSADT Package Wizard runs entirely on your local machine. The only outbound network requests are:</p>



<ul class="wp-block-list">
<li>Checking GitHub for the latest PSADT version (optional, can be disabled in Settings)</li>



<li>Downloading PSADT from GitHub (only when you click&nbsp;<strong>Download Latest</strong>)</li>



<li>Downloading .NET runtimes from Microsoft (only during first install if needed)</li>
</ul>



<p>No telemetry, no cloud services, no data leaves your machine.</p>



<h2 class="wp-block-heading" style="font-size:38px">What do the &#8220;Not available in Free version&#8221; lock badges mean?<a href="https://github.com/xoap-io/psadt-package-wizard/blob/dev/docs/USER-MANUAL.md#what-do-the-not-available-in-free-version-lock-badges-mean"></a></h2>



<p>They mark features that are visible in the UI so you can see the full feature surface, but are not active in the free edition. See&nbsp;<a href="https://github.com/xoap-io/psadt-package-wizard/blob/dev/docs/EDITIONS.md">EDITIONS.md</a>&nbsp;for the full comparison.</p>



<h2 class="wp-block-heading" style="font-size:38px">How do I test my script without exporting?<a href="https://github.com/xoap-io/psadt-package-wizard/blob/dev/docs/USER-MANUAL.md#how-do-i-test-my-script-without-exporting"></a></h2>



<p>Go to the&nbsp;<strong>Preview</strong>&nbsp;step (step 7), pick a&nbsp;<code>DeploymentType</code>&nbsp;and&nbsp;<code>DeployMode</code>, optionally toggle&nbsp;<strong>Run as Admin</strong>, and click&nbsp;<strong>Test Run</strong>. The script executes on your local machine and streams output into the embedded terminal. Test Run has a 120-second timeout.</p>
</div>
<p>The post <a href="https://xoap.io/docs/psadt-package-wizard-faq/">FAQ</a> appeared first on <a href="https://xoap.io">XOAP</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://xoap.io/docs/psadt-package-wizard-faq/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>File locations</title>
		<link>https://xoap.io/docs/psadt-package-wizard-file-locations/</link>
					<comments>https://xoap.io/docs/psadt-package-wizard-file-locations/#respond</comments>
		
		<dc:creator><![CDATA[Stella]]></dc:creator>
		<pubDate>Tue, 28 Apr 2026 11:59:52 +0000</pubDate>
				<guid isPermaLink="false">https://xoap.io/?post_type=docs&#038;p=31235</guid>

					<description><![CDATA[<p>What Where Application C:\Program Files\XOAP PSADT Package Wizard\ Packages and settings %AppData%\XOAP\PackageWizard\ Uploaded files %AppData%\XOAP\PackageWizard\workspace\Files\{packageId}\ Installed-apps snapshot %AppData%\XOAP\PackageWizard\workspace\installed-apps-snapshot.json API logs %AppData%\XOAP\PackageWizard\logs\api-{session}.log Desktop shell logs %AppData%\XOAP\PackageWizard\logs\desktop-{date}.log Downloaded toolkits %AppData%\XOAP\PackageWizard\Toolkit\{tag}\ WebView2 cache %AppData%\XOAP\PackageWizard\WebView2\ To open&#160;%AppData%\XOAP\PackageWizard\&#160;directly: press&#160;Win+R, type&#160;%AppData%\XOAP\PackageWizard, press Enter.</p>
<p>The post <a href="https://xoap.io/docs/psadt-package-wizard-file-locations/">File locations</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">
<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>What</th><th>Where</th></tr></thead><tbody><tr><td>Application</td><td><code>C:\Program Files\XOAP PSADT Package Wizard\</code></td></tr><tr><td>Packages and settings</td><td><code>%AppData%\XOAP\PackageWizard\</code></td></tr><tr><td>Uploaded files</td><td><code>%AppData%\XOAP\PackageWizard\workspace\Files\{packageId}\</code></td></tr><tr><td>Installed-apps snapshot</td><td><code>%AppData%\XOAP\PackageWizard\workspace\installed-apps-snapshot.json</code></td></tr><tr><td>API logs</td><td><code>%AppData%\XOAP\PackageWizard\logs\api-{session}.log</code></td></tr><tr><td>Desktop shell logs</td><td><code>%AppData%\XOAP\PackageWizard\logs\desktop-{date}.log</code></td></tr><tr><td>Downloaded toolkits</td><td><code>%AppData%\XOAP\PackageWizard\Toolkit\{tag}\</code></td></tr><tr><td>WebView2 cache</td><td><code>%AppData%\XOAP\PackageWizard\WebView2\</code></td></tr></tbody></table></figure>



<p>To open&nbsp;<code>%AppData%\XOAP\PackageWizard\</code>&nbsp;directly: press&nbsp;<code>Win+R</code>, type&nbsp;<code>%AppData%\XOAP\PackageWizard</code>, press Enter.</p>
</div>
<p>The post <a href="https://xoap.io/docs/psadt-package-wizard-file-locations/">File locations</a> appeared first on <a href="https://xoap.io">XOAP</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://xoap.io/docs/psadt-package-wizard-file-locations/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Keyboard &#038; UX tips</title>
		<link>https://xoap.io/docs/psadt-package-wizard-keyboard-and-ux-tips/</link>
					<comments>https://xoap.io/docs/psadt-package-wizard-keyboard-and-ux-tips/#respond</comments>
		
		<dc:creator><![CDATA[Stella]]></dc:creator>
		<pubDate>Tue, 28 Apr 2026 11:58:41 +0000</pubDate>
				<guid isPermaLink="false">https://xoap.io/?post_type=docs&#038;p=31233</guid>

					<description><![CDATA[<p>The post <a href="https://xoap.io/docs/psadt-package-wizard-keyboard-and-ux-tips/">Keyboard &amp; UX tips</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">
<p><a href="https://github.com/xoap-io/psadt-package-wizard/blob/dev/docs/USER-MANUAL.md#keyboard--ux-tips"></a></p>



<ul class="wp-block-list">
<li><strong>Auto-save</strong>&nbsp;runs every 2 seconds while you work, and runs once more when you click&nbsp;<strong>Save</strong>&nbsp;in the wizard header strip or navigate away.</li>



<li><strong>Browser refresh warning</strong>&nbsp;— if you reload the page with unsaved changes, the browser will prompt you to confirm.</li>



<li><strong>Skip to main content</strong>&nbsp;— press Tab from the document root to reach a hidden skip link for keyboard navigation.</li>



<li><strong>Mobile-friendly</strong>&nbsp;— the sidebar can be collapsed with the hamburger toggle on narrow viewports.</li>



<li><strong>Maximize editor</strong>&nbsp;— every code editor has a button (arrows-diagonal icon) to expand to full-screen, useful for long phase bodies.</li>



<li><strong>Esc to close drawers/modals</strong>&nbsp;— the Function Builder, tag drawer, import drawer, and confirm modal all support overlay click / Esc to close.</li>
</ul>
</div>
<p>The post <a href="https://xoap.io/docs/psadt-package-wizard-keyboard-and-ux-tips/">Keyboard &amp; UX tips</a> appeared first on <a href="https://xoap.io">XOAP</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://xoap.io/docs/psadt-package-wizard-keyboard-and-ux-tips/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Function builder &#038; cmdlet autocomplete</title>
		<link>https://xoap.io/docs/psadt-package-wizard-function-builder-and-cmdlet-autocomplete/</link>
					<comments>https://xoap.io/docs/psadt-package-wizard-function-builder-and-cmdlet-autocomplete/#respond</comments>
		
		<dc:creator><![CDATA[Stella]]></dc:creator>
		<pubDate>Tue, 28 Apr 2026 11:56:43 +0000</pubDate>
				<guid isPermaLink="false">https://xoap.io/?post_type=docs&#038;p=31231</guid>

					<description><![CDATA[<p>The code editors in the Install / Uninstall / Repair phases include two productivity tools: Cmdlet autocomplete Built into every PowerShell code editor. No setup required. Function builder modal Click the&#160;Function Builder&#160;icon in any phase editor toolbar. A modal opens showing a&#160;category sidebar&#160;and a&#160;function list. Categories: Category Typical cmdlets Free edition All — Always visible [&#8230;]</p>
<p>The post <a href="https://xoap.io/docs/psadt-package-wizard-function-builder-and-cmdlet-autocomplete/">Function builder &amp; cmdlet autocomplete</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-92b27ee0 wp-block-group-is-layout-flex">
<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>The code editors in the Install / Uninstall / Repair phases include two productivity tools:</p>
</blockquote>



<h2 class="wp-block-heading" style="font-size:38px">Cmdlet autocomplete<a href="https://github.com/xoap-io/psadt-package-wizard/blob/dev/docs/USER-MANUAL.md#cmdlet-autocomplete"></a></h2>



<p>Built into every PowerShell code editor. No setup required.</p>



<ul class="wp-block-list">
<li><strong>Cmdlet suggestion</strong>&nbsp;— type any prefix (e.g.&nbsp;<code>Start-ADT</code>) and the editor proposes matching cmdlets from the PSADT v4 library. Accepting a suggestion inserts the cmdlet with a snippet for each required parameter.</li>



<li><strong>Parameter suggestion</strong>&nbsp;— after a cmdlet name, type a space and&nbsp;<code>-</code>&nbsp;to see all parameters with type, required flag, description, and valid values (if any).</li>



<li>Works across every phase editor and the Function Builder modal&#8217;s code preview.</li>
</ul>



<h2 class="wp-block-heading" style="font-size:38px">Function builder modal<a href="https://github.com/xoap-io/psadt-package-wizard/blob/dev/docs/USER-MANUAL.md#function-builder-modal"></a></h2>



<p>Click the&nbsp;<strong>Function Builder</strong>&nbsp;icon in any phase editor toolbar. A modal opens showing a&nbsp;<strong>category sidebar</strong>&nbsp;and a&nbsp;<strong>function list</strong>.</p>



<p><strong>Categories:</strong></p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>Category</th><th>Typical cmdlets</th><th>Free edition</th></tr></thead><tbody><tr><td>All</td><td>—</td><td>Always visible</td></tr><tr><td><strong>Process</strong></td><td><code>Start-ADTProcess</code>,&nbsp;<code>Start-ADTProcessAsUser</code>,&nbsp;<code>Get-ADTRunningProcesses</code>,&nbsp;<code>Stop-ADTProcesses</code>, &#8230;</td><td><strong>Enabled</strong></td></tr><tr><td><strong>MSI/MSP</strong></td><td><code>Start-ADTMsiProcess</code>,&nbsp;<code>Uninstall-ADTApplication</code>,&nbsp;<code>Get-ADTMsiTableProperty</code>, &#8230;</td><td><strong>Enabled</strong></td></tr><tr><td>Files</td><td><code>Copy-ADTFile</code>,&nbsp;<code>Remove-ADTFile</code>,&nbsp;<code>New-ADTFolder</code>, &#8230;</td><td>Locked</td></tr><tr><td>Registry</td><td><code>Set-ADTRegistryKey</code>,&nbsp;<code>Remove-ADTRegistryKey</code>,&nbsp;<code>Get-ADTRegistryKey</code>, &#8230;</td><td>Locked</td></tr><tr><td>UI/Dialogs</td><td><code>Show-ADTInstallationPrompt</code>,&nbsp;<code>Show-ADTWelcomePrompt</code>,&nbsp;<code>Show-ADTBalloonTip</code>, &#8230;</td><td>Locked</td></tr><tr><td>Services</td><td><code>Start-ADTService</code>,&nbsp;<code>Stop-ADTService</code>,&nbsp;<code>Set-ADTServiceStartMode</code>, &#8230;</td><td>Locked</td></tr><tr><td>App Mgmt</td><td><code>Get-ADTApplication</code>,&nbsp;<code>Uninstall-ADTApplication</code>, &#8230;</td><td>Locked</td></tr><tr><td>Environment</td><td><code>Get-ADTEnvironmentVariable</code>,&nbsp;<code>Set-ADTEnvironmentVariable</code>, &#8230;</td><td>Locked</td></tr><tr><td>Shortcuts</td><td><code>New-ADTShortcut</code>,&nbsp;<code>Remove-ADTShortcut</code>, &#8230;</td><td>Locked</td></tr><tr><td>System</td><td><code>Get-ADTFreeDiskSpace</code>,&nbsp;<code>Get-ADTWindowTitle</code>, &#8230;</td><td>Locked</td></tr><tr><td>Logging</td><td><code>Write-ADTLogEntry</code>,&nbsp;<code>Close-ADTSession</code>, &#8230;</td><td>Locked</td></tr></tbody></table></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>Locked cmdlet&nbsp;<strong>cards</strong>&nbsp;still display (with the lock badge) so you can see what exists, but selecting them does nothing. Cmdlet&nbsp;<strong>autocomplete</strong>&nbsp;in the editor includes all cmdlets regardless of category, so typing them directly works even in the free edition — only the visual builder is gated.</p>
</blockquote>



<p><strong>For each function card:</strong></p>



<ul class="wp-block-list">
<li>Name and short description</li>



<li>A visual parameter editor (text inputs, dropdowns for validate sets, switches for&nbsp;<code>SwitchParameter</code>)</li>



<li>A&nbsp;<strong>file-path picker</strong>&nbsp;for parameters named&nbsp;<code>FilePath</code>,&nbsp;<code>Path</code>,&nbsp;<code>Destination</code>,&nbsp;<code>StubExePath</code>,&nbsp;<code>TargetPath</code>,&nbsp;<code>IconLocation</code>,&nbsp;<code>WorkingDirectory</code>&nbsp;— populated from your uploaded package files</li>



<li>Live code preview of the generated snippet</li>



<li><strong>Insert</strong>&nbsp;— drops the snippet at the cursor in the current code editor</li>
</ul>
</div>
<p>The post <a href="https://xoap.io/docs/psadt-package-wizard-function-builder-and-cmdlet-autocomplete/">Function builder &amp; cmdlet autocomplete</a> appeared first on <a href="https://xoap.io">XOAP</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://xoap.io/docs/psadt-package-wizard-function-builder-and-cmdlet-autocomplete/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Settings</title>
		<link>https://xoap.io/docs/psadt-package-wizard-settings/</link>
					<comments>https://xoap.io/docs/psadt-package-wizard-settings/#respond</comments>
		
		<dc:creator><![CDATA[Stella]]></dc:creator>
		<pubDate>Tue, 28 Apr 2026 11:55:43 +0000</pubDate>
				<guid isPermaLink="false">https://xoap.io/?post_type=docs&#038;p=31229</guid>

					<description><![CDATA[<p>Open&#160;Settings&#160;from the sidebar footer. It is organized into three side-tabs. General tab Default package values Field Description Default App Script Author Pre-fills the&#160;AppScriptAuthor&#160;field in every new package. Leave empty to preserve the toolkit&#8217;s own default. Default Require Admin Tri-state (Not Defined / True / False). &#8220;Not Defined&#8221; preserves the toolkit value; True/False overrides it for [&#8230;]</p>
<p>The post <a href="https://xoap.io/docs/psadt-package-wizard-settings/">Settings</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">
<p><a href="https://github.com/xoap-io/psadt-package-wizard/blob/dev/docs/USER-MANUAL.md#settings"></a></p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>Open&nbsp;<strong>Settings</strong>&nbsp;from the sidebar footer. It is organized into three side-tabs.</p>
</blockquote>



<h2 class="wp-block-heading" style="font-size:38px">General tab<a href="https://github.com/xoap-io/psadt-package-wizard/blob/dev/docs/USER-MANUAL.md#general-tab"></a></h2>



<h3 class="wp-block-heading" style="font-size:28px">Default package values<a href="https://github.com/xoap-io/psadt-package-wizard/blob/dev/docs/USER-MANUAL.md#default-package-values"></a></h3>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>Field</th><th>Description</th></tr></thead><tbody><tr><td><strong>Default App Script Author</strong></td><td>Pre-fills the&nbsp;<code>AppScriptAuthor</code>&nbsp;field in every new package. Leave empty to preserve the toolkit&#8217;s own default.</td></tr><tr><td><strong>Default Require Admin</strong></td><td>Tri-state (Not Defined / True / False). &#8220;Not Defined&#8221; preserves the toolkit value; True/False overrides it for new packages.</td></tr><tr><td><strong>Default Output Folder</strong></td><td>Where exported&nbsp;<code>.zip</code>&nbsp;packages are saved in desktop mode. In the desktop app a&nbsp;<strong>Browse</strong>&nbsp;button opens a native folder picker.</td></tr></tbody></table></figure>



<h3 class="wp-block-heading" style="font-size:28px">Documentation options — locked in free edition<a href="https://github.com/xoap-io/psadt-package-wizard/blob/dev/docs/USER-MANUAL.md#documentation-options--locked-in-free-edition"></a></h3>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>Field</th><th>Description</th></tr></thead><tbody><tr><td><strong>Include README.md in exported packages</strong></td><td>When enabled, adds a generated&nbsp;<code>README.md</code>&nbsp;with package metadata, parameters, and deployment phases into every exported zip.&nbsp;<strong>Locked in free edition.</strong></td></tr></tbody></table></figure>



<h3 class="wp-block-heading" style="font-size:28px">Package storage — locked in free edition<a href="https://github.com/xoap-io/psadt-package-wizard/blob/dev/docs/USER-MANUAL.md#package-storage--locked-in-free-edition"></a></h3>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>Field</th><th>Description</th></tr></thead><tbody><tr><td><strong>Package Storage Path</strong></td><td>Sets a central / shared storage location so multiple users can collaborate on the same package workspace. Default:&nbsp;<code>%AppData%\XOAP\PackageWizard</code>.&nbsp;<strong>Locked in free edition</strong>&nbsp;— the text input and Browse button are displayed but disabled.</td></tr></tbody></table></figure>



<p>The&nbsp;<strong>Save Settings</strong>&nbsp;button at the top of the page saves General tab values and any pending Package Configuration edits in one action.</p>



<h2 class="wp-block-heading" style="font-size:38px">PSADT toolkit tab<a href="https://github.com/xoap-io/psadt-package-wizard/blob/dev/docs/USER-MANUAL.md#psadt-toolkit-tab"></a></h2>



<h3 class="wp-block-heading" style="font-size:28px">Active toolkit for export<a href="https://github.com/xoap-io/psadt-package-wizard/blob/dev/docs/USER-MANUAL.md#active-toolkit-for-export"></a></h3>



<p>Shows which toolkit will be used for script generation and export:</p>



<ul class="wp-block-list">
<li><strong>Source label</strong>&nbsp;—&nbsp;<code>Custom</code>,&nbsp;<code>Bundled</code>, or&nbsp;<code>No Toolkit Available</code></li>



<li><strong>Module Version</strong>&nbsp;— detected from&nbsp;<code>PSAppDeployToolkit/PSAppDeployToolkit.psd1</code></li>



<li><strong>Custom Extensions included</strong>&nbsp;— badge shown if&nbsp;<code>PSAppDeployToolkit.Extensions</code>&nbsp;is present</li>



<li><strong>Refresh</strong>&nbsp;— re-queries the server</li>
</ul>



<p>Below the status card:</p>



<ul class="wp-block-list">
<li><strong>Auto-check for toolkit updates on startup</strong>&nbsp;— toggles GitHub version check at startup</li>
</ul>



<p><strong>Resolution order</strong>&nbsp;(top wins):</p>



<ol class="wp-block-list">
<li>Custom toolkit path (if set and valid) — paid feature (see below)</li>



<li>Downloaded toolkit in&nbsp;<code>%AppData%\XOAP\PackageWizard\Toolkit\{tag}\</code></li>



<li>Bundled template shipped with the installer</li>
</ol>



<h4 class="wp-block-heading" style="font-size:21px">Download latest from GitHub<a href="https://github.com/xoap-io/psadt-package-wizard/blob/dev/docs/USER-MANUAL.md#download-latest-from-github"></a></h4>



<ul class="wp-block-list">
<li>Large&nbsp;<strong>Download Latest PSADT</strong>&nbsp;button — fetches the latest release from&nbsp;<code>github.com/PSAppDeployToolkit/PSAppDeployToolkit</code>, extracts it (zip-slip protected), and sets it as the active toolkit</li>



<li>Displays the latest release tag and an &#8220;Update available&#8221; badge when applicable</li>
</ul>



<h4 class="wp-block-heading" style="font-size:21px">Use custom toolkit — locked in free edition<a href="https://github.com/xoap-io/psadt-package-wizard/blob/dev/docs/USER-MANUAL.md#use-custom-toolkit--locked-in-free-edition"></a></h4>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>Field</th><th>Description</th></tr></thead><tbody><tr><td><strong>Custom path</strong></td><td>A folder you control that contains&nbsp;<code>PSAppDeployToolkit/PSAppDeployToolkit.psd1</code>. Useful for custom branding, extensions, and forks.</td></tr><tr><td><strong>Set Path</strong></td><td>Validates and activates the custom path</td></tr></tbody></table></figure>



<p><strong>Locked in free edition.</strong>&nbsp;Both the text input and the button are displayed but disabled.</p>



<h3 class="wp-block-heading" style="font-size:28px">Package configuration tab<a href="https://github.com/xoap-io/psadt-package-wizard/blob/dev/docs/USER-MANUAL.md#package-configuration-tab"></a></h3>



<p>Reads&nbsp;<code>Config/config.psd1</code>&nbsp;from the active toolkit and renders each section as a card.</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>Section</th><th>Contents</th><th>Editable?</th></tr></thead><tbody><tr><td><strong>Assets</strong></td><td>Icon paths, banner images, company logo</td><td><strong>Free:</strong>&nbsp;read-only (locked badge) —&nbsp;<strong>Paid:</strong>&nbsp;editable</td></tr><tr><td><strong>MSI</strong></td><td><code>MutexWaitTime</code>, MSI logging verbosity,&nbsp;<code>InstallParamsSilent</code>,&nbsp;<code>LoggingOptions</code>,&nbsp;<code>LogPath</code>, etc.</td><td><strong>Free &amp; Paid:</strong>&nbsp;editable</td></tr><tr><td><strong>Toolkit</strong></td><td>Toolkit file name, naming conventions, compression level</td><td><strong>Free:</strong>&nbsp;read-only (locked badge) —&nbsp;<strong>Paid:</strong>&nbsp;editable</td></tr><tr><td><strong>UI</strong></td><td>Dialog defer times, default language, banner height</td><td><strong>Free:</strong>&nbsp;read-only (locked badge) —&nbsp;<strong>Paid:</strong>&nbsp;editable</td></tr></tbody></table></figure>



<p>For each field the UI shows:</p>



<ul class="wp-block-list">
<li>The field key (e.g.&nbsp;<code>MSI_LogPath</code>)</li>



<li>Any comment/description parsed out of the&nbsp;<code>.psd1</code></li>



<li>A form control appropriate for the type (text input, number input, or True/False toggle)</li>
</ul>



<p>Editing a field and clicking&nbsp;<strong>Save Settings</strong>&nbsp;(top of page) writes the changes back to&nbsp;<code>config.psd1</code>&nbsp;(with zipslip / path-traversal protection). The signature block, if present, is stripped on save.</p>
</div>
<p>The post <a href="https://xoap.io/docs/psadt-package-wizard-settings/">Settings</a> appeared first on <a href="https://xoap.io">XOAP</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://xoap.io/docs/psadt-package-wizard-settings/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Tags</title>
		<link>https://xoap.io/docs/psadt-package-wizard-tags/</link>
					<comments>https://xoap.io/docs/psadt-package-wizard-tags/#respond</comments>
		
		<dc:creator><![CDATA[Stella]]></dc:creator>
		<pubDate>Tue, 28 Apr 2026 11:54:35 +0000</pubDate>
				<guid isPermaLink="false">https://xoap.io/?post_type=docs&#038;p=31245</guid>

					<description><![CDATA[<p>Tags help you organize packages in the dashboard. Open&#160;Tags&#160;from the sidebar footer. Managing Tags Assigning Tags Each package can have up to&#160;5 tags&#160;in the free edition. Tags appear as colored badges on package cards and in the tag filter dropdown.</p>
<p>The post <a href="https://xoap.io/docs/psadt-package-wizard-tags/">Tags</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">
<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>Tags help you organize packages in the dashboard. Open&nbsp;<strong>Tags</strong>&nbsp;from the sidebar footer.</p>
</blockquote>



<h2 class="wp-block-heading" style="font-size:38px">Managing Tags<a href="https://github.com/xoap-io/psadt-package-wizard/blob/dev/docs/USER-MANUAL.md#managing-tags"></a></h2>



<ul class="wp-block-list">
<li><strong>Create</strong>&nbsp;a tag with a name (max 40 characters), description (max 160), and color</li>



<li>Available colors:&nbsp;<code>cyan</code>,&nbsp;<code>pink</code>,&nbsp;<code>orange</code>,&nbsp;<code>green</code>,&nbsp;<code>purple</code>,&nbsp;<code>indigo</code></li>



<li><strong>Edit</strong>&nbsp;or&nbsp;<strong>Delete</strong>&nbsp;tags at any time. Deleting a tag removes it from all packages automatically.</li>
</ul>



<h2 class="wp-block-heading" style="font-size:38px">Assigning Tags<a href="https://github.com/xoap-io/psadt-package-wizard/blob/dev/docs/USER-MANUAL.md#assigning-tags"></a></h2>



<ul class="wp-block-list">
<li>From the dashboard, click the tag icon on a package card, or</li>



<li>Select multiple packages and click&nbsp;<strong>Assign Tags</strong>&nbsp;on the toolbar</li>
</ul>



<p>Each package can have up to&nbsp;<strong>5 tags</strong>&nbsp;in the free edition. Tags appear as colored badges on package cards and in the tag filter dropdown.</p>
</div>
<p>The post <a href="https://xoap.io/docs/psadt-package-wizard-tags/">Tags</a> appeared first on <a href="https://xoap.io">XOAP</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://xoap.io/docs/psadt-package-wizard-tags/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Logs</title>
		<link>https://xoap.io/docs/psadt-package-wizard-logs/</link>
					<comments>https://xoap.io/docs/psadt-package-wizard-logs/#respond</comments>
		
		<dc:creator><![CDATA[Stella]]></dc:creator>
		<pubDate>Tue, 28 Apr 2026 11:54:06 +0000</pubDate>
				<guid isPermaLink="false">https://xoap.io/?post_type=docs&#038;p=31227</guid>

					<description><![CDATA[<p>The&#160;Logs&#160;page (/logs) shows the API server&#8217;s log files. Files are stored in&#160;%AppData%\XOAP\PackageWizard\logs\. Each session&#8217;s log has a 10 MB size cap; files older than 14 days are cleaned up on startup. A parallel log for the desktop shell (desktop-{yyyy-MM-dd}.log) exists in the same folder but is not shown in this viewer.</p>
<p>The post <a href="https://xoap.io/docs/psadt-package-wizard-logs/">Logs</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">
<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>The&nbsp;<strong>Logs</strong>&nbsp;page (<code>/logs</code>) shows the API server&#8217;s log files.</p>
</blockquote>



<ul class="wp-block-list">
<li><strong>Session selector</strong>&nbsp;— each time the API starts it opens a new log file named&nbsp;<code>api-{yyyy-MM-dd-HHmmss}.log</code>. The dropdown lists all sessions still on disk (14-day retention).</li>



<li><strong>Monaco viewer</strong>&nbsp;— the selected log is rendered read-only in a code editor</li>



<li><strong>Search</strong>&nbsp;— filter lines in the current log</li>



<li><strong>Auto-refresh</strong>&nbsp;— the current session log refreshes every 5 seconds so you can watch requests stream in live</li>
</ul>



<p>Files are stored in&nbsp;<code>%AppData%\XOAP\PackageWizard\logs\</code>. Each session&#8217;s log has a 10 MB size cap; files older than 14 days are cleaned up on startup. A parallel log for the desktop shell (<code>desktop-{yyyy-MM-dd}.log</code>) exists in the same folder but is not shown in this viewer.</p>
</div>
<p>The post <a href="https://xoap.io/docs/psadt-package-wizard-logs/">Logs</a> appeared first on <a href="https://xoap.io">XOAP</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://xoap.io/docs/psadt-package-wizard-logs/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Installed apps</title>
		<link>https://xoap.io/docs/psadt-package-wizard-installed-apps/</link>
					<comments>https://xoap.io/docs/psadt-package-wizard-installed-apps/#respond</comments>
		
		<dc:creator><![CDATA[Stella]]></dc:creator>
		<pubDate>Tue, 28 Apr 2026 11:53:15 +0000</pubDate>
				<guid isPermaLink="false">https://xoap.io/?post_type=docs&#038;p=31225</guid>

					<description><![CDATA[<p>Installed apps The&#160;Installed Apps&#160;page (/installed-apps) lets you browse applications installed on your Windows machine. Controls Control Description Search Filter the list by application name Include system components Include hidden system apps in the listing Refresh Re-query the registry Details panel Select an app to see publisher, version, install location, uninstall string, registry source Generate Command [&#8230;]</p>
<p>The post <a href="https://xoap.io/docs/psadt-package-wizard-installed-apps/">Installed apps</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">Installed apps<a href="https://github.com/xoap-io/psadt-package-wizard/blob/dev/docs/USER-MANUAL.md#installed-apps"></a></h2>



<p>The&nbsp;<strong>Installed Apps</strong>&nbsp;page (<code>/installed-apps</code>) lets you browse applications installed on your Windows machine.</p>



<h2 class="wp-block-heading" style="font-size:38px">Controls<a href="https://github.com/xoap-io/psadt-package-wizard/blob/dev/docs/USER-MANUAL.md#controls"></a></h2>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>Control</th><th>Description</th></tr></thead><tbody><tr><td><strong>Search</strong></td><td>Filter the list by application name</td></tr><tr><td><strong>Include system components</strong></td><td>Include hidden system apps in the listing</td></tr><tr><td><strong>Refresh</strong></td><td>Re-query the registry</td></tr><tr><td><strong>Details panel</strong></td><td>Select an app to see publisher, version, install location, uninstall string, registry source</td></tr><tr><td><strong>Generate Command</strong></td><td>Produces both a&nbsp;<strong>v3</strong>&nbsp;(<code>Execute-MSI</code>&nbsp;/&nbsp;<code>Execute-Process</code>) and a&nbsp;<strong>v4</strong>&nbsp;(<code>Uninstall-ADTApplication</code>&nbsp;/&nbsp;<code>Start-ADTProcess</code>) uninstall command for the selected app</td></tr><tr><td><strong>Take Snapshot</strong></td><td>Take a &#8220;before&#8221; snapshot of installed apps to&nbsp;<code>%AppData%\XOAP\PackageWizard\workspace\installed-apps-snapshot.json</code></td></tr><tr><td><strong>Compare</strong></td><td>Compare current state to the last snapshot. Each app is reported as&nbsp;<code>installed</code>,&nbsp;<code>removed</code>,&nbsp;<code>modified</code>, or&nbsp;<code>unchanged</code></td></tr></tbody></table></figure>



<p>The registry is queried from:</p>



<ul class="wp-block-list">
<li><code>HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall\</code>&nbsp;(64-bit)</li>



<li><code>HKLM\Software\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\</code>&nbsp;(32-bit)</li>



<li><code>HKCU\Software\Microsoft\Windows\CurrentVersion\Uninstall\</code>&nbsp;(per-user)</li>
</ul>



<h2 class="wp-block-heading" style="font-size:38px">Snapshot workflow<a href="https://github.com/xoap-io/psadt-package-wizard/blob/dev/docs/USER-MANUAL.md#snapshot-workflow"></a></h2>



<ol class="wp-block-list">
<li>Click&nbsp;<strong>Take Snapshot</strong>&nbsp;before running your deployment</li>



<li>Run your PSADT package (via Test Run or a real deploy)</li>



<li>Click&nbsp;<strong>Compare</strong>&nbsp;to see which applications were installed, removed, or modified</li>



<li>Results show status for each app and can help you verify that your uninstall phase cleans up everything your install phase added</li>
</ol>
</div>
<p>The post <a href="https://xoap.io/docs/psadt-package-wizard-installed-apps/">Installed apps</a> appeared first on <a href="https://xoap.io">XOAP</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://xoap.io/docs/psadt-package-wizard-installed-apps/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Importing existing packages</title>
		<link>https://xoap.io/docs/psadt-package-wizard-importing-existing-packages/</link>
					<comments>https://xoap.io/docs/psadt-package-wizard-importing-existing-packages/#respond</comments>
		
		<dc:creator><![CDATA[Stella]]></dc:creator>
		<pubDate>Tue, 28 Apr 2026 11:52:20 +0000</pubDate>
				<guid isPermaLink="false">https://xoap.io/?post_type=docs&#038;p=31241</guid>

					<description><![CDATA[<p>You can import existing PSADT packages (v3 or v4) from&#160;.zip&#160;files. For each zip, the wizard will: For v3 packages, command names and variables are automatically translated to v4 syntax using the same translation service used by the&#160;/api/translate&#160;endpoint. After import, you can review and edit each package through the normal wizard steps.</p>
<p>The post <a href="https://xoap.io/docs/psadt-package-wizard-importing-existing-packages/">Importing existing packages</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">
<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>You can import existing PSADT packages (v3 or v4) from&nbsp;<code>.zip</code>&nbsp;files.</p>
</blockquote>



<ol class="wp-block-list">
<li>From the dashboard, click&nbsp;<strong>Import Local</strong></li>



<li>A drawer opens; drop one or more&nbsp;<code>.zip</code>&nbsp;files (or click to browse)</li>



<li>The wizard processes each zip and reports status</li>
</ol>



<p>For each zip, the wizard will:</p>



<ul class="wp-block-list">
<li>Detect whether it&#8217;s a v3 (<code>Deploy-Application.ps1</code>) or v4 (<code>Invoke-AppDeployToolkit.ps1</code>) package</li>



<li>Parse the script to extract session configuration values</li>



<li>Extract phase content (pre/main/post for each deployment type)</li>



<li>Extract any custom parameters</li>



<li>Copy&nbsp;<code>Files/*</code>&nbsp;into the package&#8217;s workspace directory</li>



<li>Add a new package to your workspace (respecting the 10-package cap)</li>
</ul>



<p>For v3 packages, command names and variables are automatically translated to v4 syntax using the same translation service used by the&nbsp;<code>/api/translate</code>&nbsp;endpoint.</p>



<p>After import, you can review and edit each package through the normal wizard steps.</p>



<p></p>
</div>
<p>The post <a href="https://xoap.io/docs/psadt-package-wizard-importing-existing-packages/">Importing existing packages</a> appeared first on <a href="https://xoap.io">XOAP</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://xoap.io/docs/psadt-package-wizard-importing-existing-packages/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
