<?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>Mon, 12 Oct 2026 11:33:15 +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>Free and Pro editions</title>
		<link>https://xoap.io/docs/xoap-package-wizard-free-pro/</link>
					<comments>https://xoap.io/docs/xoap-package-wizard-free-pro/#respond</comments>
		
		<dc:creator><![CDATA[Stella]]></dc:creator>
		<pubDate>Mon, 12 Oct 2026 11:33:14 +0000</pubDate>
				<guid isPermaLink="false">https://xoap.io/?post_type=docs&#038;p=32359</guid>

					<description><![CDATA[<p>Features that are not included in your edition are still visible. They show a lock icon and Not available in Free version, so you can see everything the product offers. When you click a locked feature, a message links to the plans. Feature Free Pro Number of packages 10 Unlimited Tags per package 5 Unlimited [&#8230;]</p>
<p>The post <a href="https://xoap.io/docs/xoap-package-wizard-free-pro/">Free and Pro editions</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>Features that are not included in your edition are still visible. They show a lock icon and <strong>Not available in Free version</strong>, so you can see everything the product offers. When you click a locked feature, a message links to the plans.</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>Feature</th><th class="has-text-align-center" data-align="center">Free</th><th class="has-text-align-center" data-align="center">Pro</th></tr></thead><tbody><tr><td>Number of packages</td><td class="has-text-align-center" data-align="center">10</td><td class="has-text-align-center" data-align="center">Unlimited</td></tr><tr><td>Tags per package</td><td class="has-text-align-center" data-align="center">5</td><td class="has-text-align-center" data-align="center">Unlimited</td></tr><tr><td>PSADT packages: create, edit, test, export as ZIP</td><td class="has-text-align-center" data-align="center"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /></td><td class="has-text-align-center" data-align="center"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /></td></tr><tr><td>Import PSADT v3/v4 packages (with v3 → v4 translation)</td><td class="has-text-align-center" data-align="center"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /></td><td class="has-text-align-center" data-align="center"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /></td></tr><tr><td>Test Run and Test in Sandbox</td><td class="has-text-align-center" data-align="center"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /></td><td class="has-text-align-center" data-align="center"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /></td></tr><tr><td>Detect Command, cmdlet autocomplete (all cmdlets)</td><td class="has-text-align-center" data-align="center"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /></td><td class="has-text-align-center" data-align="center"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /></td></tr><tr><td>Function Builder: Process and MSI/MSP</td><td class="has-text-align-center" data-align="center"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /></td><td class="has-text-align-center" data-align="center"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /></td></tr><tr><td>Function Builder: all other categories</td><td class="has-text-align-center" data-align="center">—</td><td class="has-text-align-center" data-align="center"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /></td></tr><tr><td>PSADT Templates</td><td class="has-text-align-center" data-align="center"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /></td><td class="has-text-align-center" data-align="center"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /></td></tr><tr><td>Installed Apps, Activity Log, Tags</td><td class="has-text-align-center" data-align="center"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /></td><td class="has-text-align-center" data-align="center"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /></td></tr><tr><td>App Catalog: browse</td><td class="has-text-align-center" data-align="center"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /></td><td class="has-text-align-center" data-align="center"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /></td></tr><tr><td>App Catalog: create packages and one-click updates</td><td class="has-text-align-center" data-align="center">—</td><td class="has-text-align-center" data-align="center"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /></td></tr><tr><td>Conversion Assistant: analysis</td><td class="has-text-align-center" data-align="center"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /></td><td class="has-text-align-center" data-align="center"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /></td></tr><tr><td>MSIX, App Attach and IntuneWin packages (create, convert to, build)</td><td class="has-text-align-center" data-align="center">—</td><td class="has-text-align-center" data-align="center"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /></td></tr><tr><td>Signing certificates</td><td class="has-text-align-center" data-align="center">—</td><td class="has-text-align-center" data-align="center"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /></td></tr><tr><td>Connections: Intune, Azure Storage, MECM uploads and deployments</td><td class="has-text-align-center" data-align="center">—</td><td class="has-text-align-center" data-align="center"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /></td></tr><tr><td>FSLogix App Masking rules</td><td class="has-text-align-center" data-align="center">—</td><td class="has-text-align-center" data-align="center"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /></td></tr><tr><td>README.md in exported packages</td><td class="has-text-align-center" data-align="center">—</td><td class="has-text-align-center" data-align="center"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /></td></tr><tr><td>Shared Package Storage</td><td class="has-text-align-center" data-align="center">—</td><td class="has-text-align-center" data-align="center"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /></td></tr><tr><td>Package Configuration: edit Assets, Toolkit and UI sections</td><td class="has-text-align-center" data-align="center">— (MSI only)</td><td class="has-text-align-center" data-align="center"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /></td></tr></tbody></table></figure>
</div>
<p>The post <a href="https://xoap.io/docs/xoap-package-wizard-free-pro/">Free and Pro editions</a> appeared first on <a href="https://xoap.io">XOAP</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://xoap.io/docs/xoap-package-wizard-free-pro/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>PSADT templates</title>
		<link>https://xoap.io/docs/psadt-templates/</link>
					<comments>https://xoap.io/docs/psadt-templates/#respond</comments>
		
		<dc:creator><![CDATA[Stella]]></dc:creator>
		<pubDate>Mon, 12 Oct 2026 11:31:37 +0000</pubDate>
				<guid isPermaLink="false">https://xoap.io/?post_type=docs&#038;p=32357</guid>

					<description><![CDATA[<p>Both editions. Settings → PSADT Templates stores your organisation&#8217;s PSADT customisations as reusable templates. Templates are stored outside the toolkit folder, so they survive PSADT toolkit downloads and updates. What a template contains Managing templates The list shows each template&#8217;s name (a star marks the default), description, contents and the date it was last modified. [&#8230;]</p>
<p>The post <a href="https://xoap.io/docs/psadt-templates/">PSADT templates</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><em>Both editions.</em> <strong>Settings → PSADT Templates</strong> stores your organisation&#8217;s PSADT customisations as reusable templates. Templates are stored outside the toolkit folder, so they <strong>survive PSADT toolkit downloads and updates</strong>.</p>



<h2 class="wp-block-heading" id="what-a-template-contains" style="font-size:38px">What a template contains</h2>



<ul class="wp-block-list">
<li><strong>Support Files</strong>: copied to <code>SupportFiles/</code></li>



<li><strong>Files</strong>: copied to <code>Files/</code>. A package&#8217;s own uploaded files win when the names are the same.</li>



<li><strong>Assets</strong>: copied to <code>Assets/</code>, for example your own <code>AppIcon.png</code>. These win over the toolkit&#8217;s files.</li>



<li><strong>Extensions Code</strong>: PowerShell added to <code>PSAppDeployToolkit.Extensions.psm1</code></li>



<li><strong>Script Functions</strong>: PowerShell functions added to the generated script, before the initialization section</li>
</ul>



<h2 class="wp-block-heading" id="managing-templates" style="font-size:38px">Managing templates</h2>



<p>The list shows each template&#8217;s name (a star marks the default), description, contents and the date it was last modified.</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>Action</th><th>Description</th></tr></thead><tbody><tr><td><strong>New Template</strong></td><td>Enter a name and description. Save once, then add files on the <strong>Files</strong> tab and code on the <strong>Extensions Code</strong> and <strong>Script Functions</strong> tabs.</td></tr><tr><td><strong>Edit</strong> (pencil)</td><td>Change the template</td></tr><tr><td><strong>Set default</strong> (star)</td><td>New PSADT packages use this template automatically. Click again to clear.</td></tr><tr><td><strong>Duplicate</strong></td><td>Create a copy</td></tr><tr><td><strong>Export</strong></td><td>Download the template as a ZIP to share or archive</td></tr><tr><td><strong>Import</strong></td><td>Load a template ZIP. If a template with that name already exists, <em>(imported)</em> is added to the name.</td></tr><tr><td><strong>Delete</strong></td><td>Remove the template (asks for confirmation)</td></tr></tbody></table></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p><strong>Review imported templates.</strong> Template code runs with full rights in every package that uses it. An imported template is therefore never made the default automatically, and the app warns you when an imported template contains code.</p>
</blockquote>



<h2 class="wp-block-heading" id="using-a-template-in-a-package" style="font-size:38px">Using a template in a package</h2>



<p>Choose the template on the <strong>Session Config</strong> step of a PSADT package, or choose <strong>None (stock toolkit)</strong>. The template is applied in the script preview, in test runs, in every export (ZIP, IntuneWin, MSIX, App Attach) and in uploads.</p>
</div>
<p>The post <a href="https://xoap.io/docs/psadt-templates/">PSADT templates</a> appeared first on <a href="https://xoap.io">XOAP</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://xoap.io/docs/psadt-templates/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>FSLogix App Masking rules</title>
		<link>https://xoap.io/docs/xoap-package-wizard-fslogix-app-masking/</link>
					<comments>https://xoap.io/docs/xoap-package-wizard-fslogix-app-masking/#respond</comments>
		
		<dc:creator><![CDATA[Stella]]></dc:creator>
		<pubDate>Mon, 12 Oct 2026 11:29:49 +0000</pubDate>
				<guid isPermaLink="false">https://xoap.io/?post_type=docs&#038;p=32355</guid>

					<description><![CDATA[<p>Pro edition. The FSLogix Rules page builds FSLogix App Masking rule sets and exports them as .fxr / .fxa file pairs. The files are compatible with Microsoft&#8217;s FSLogix Rule Editor. What App Masking does App Masking hides, redirects or changes files, folders, registry keys, fonts and printers per user or group on shared session hosts [&#8230;]</p>
<p>The post <a href="https://xoap.io/docs/xoap-package-wizard-fslogix-app-masking/">FSLogix App Masking rules</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><em>Pro edition.</em> The <strong>FSLogix Rules</strong> page builds FSLogix App Masking rule sets and exports them as <code>.fxr</code> / <code>.fxa</code> file pairs. The files are compatible with Microsoft&#8217;s FSLogix Rule Editor.</p>



<h2 class="wp-block-heading" id="what-app-masking-does" style="font-size:38px">What App Masking does</h2>



<p>App Masking hides, redirects or changes files, folders, registry keys, fonts and printers per user or group on shared session hosts (AVD, multi-session Windows). The rules are installed on the host, and the <strong>assignments</strong> decide who they apply to.</p>



<h2 class="wp-block-heading" id="creating-a-rule-set" style="font-size:38px">Creating a rule set</h2>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>Option</th><th>Description</th></tr></thead><tbody><tr><td><strong>New Rule Set</strong></td><td>Start from scratch</td></tr><tr><td><strong>New from installed app…</strong></td><td>Pick an installed application. A starter set is created that hides its install folder, uninstall registry key and Start menu shortcuts. Review it and add more rules if needed.</td></tr><tr><td><strong>Import…</strong></td><td>Load existing <code>.fxr</code> and/or <code>.fxa</code> files. Unsupported legacy rule types are skipped with a warning.</td></tr></tbody></table></figure>



<h2 class="wp-block-heading" id="rules-tab" style="font-size:38px">Rules tab</h2>



<p>For each rule:</p>



<ol class="wp-block-list">
<li>Choose the <strong>Action</strong>:
<ul class="wp-block-list">
<li><strong>Hide</strong></li>



<li><strong>Redirect</strong></li>



<li><strong>Set registry value</strong></li>
</ul>
</li>



<li>Choose the <strong>Item type</strong>:
<ul class="wp-block-list">
<li>folder or registry key</li>



<li>file or registry value</li>



<li>font</li>



<li>printer</li>
</ul>
</li>



<li>Enter the <strong>Source path</strong>, for example <code>C:\Program Files\MyApp\config.ini</code> or <code>HKLM\SOFTWARE\Contoso\App</code>.
<ul class="wp-block-list">
<li>Use <strong>Insert macro</strong> for FSLogix path macros such as <code>%ProgramFilesFolder64%</code>.</li>



<li>A <code>*</code> wildcard matches one complete path part only. <code>C:\Users\*\AppData</code> works, <code>C:\App*\</code> does not.</li>
</ul>
</li>



<li>Fill in the extra fields for the action:
<ul class="wp-block-list">
<li><strong>Redirect:</strong> the destination path, and optionally <strong>Copy original first</strong>.</li>



<li><strong>Set registry value:</strong> the value type (String, ExpandableString, DWord, QWord or MultiString) and the data.</li>
</ul>
</li>



<li>Optionally add a <strong>Comment</strong>.</li>
</ol>



<p><strong>Bulk add:</strong> paste many paths, one per line, to create a hiding rule for each at once.</p>



<p>Errors such as an empty path prevent saving. Warnings point out risky entries, for example hiding important Windows folders.</p>



<h2 class="wp-block-heading" id="assignments-tab" style="font-size:38px">Assignments tab</h2>



<p>Assignments decide <strong>who</strong> the rule set applies to. They are read from top to bottom, and <strong>the last matching entry wins</strong>.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>A new rule set starts as <em>Everyone / Doesn&#8217;t apply</em>, which means it applies to <strong>nobody</strong>. The editor warns you until you add an assignment that applies.</p>
</blockquote>



<ul class="wp-block-list">
<li><strong>Who:</strong> Everyone, User, Group (by SID), Process, Network, Computer, OU or Environment variable.</li>



<li><strong>Applies / Doesn&#8217;t apply</strong> for each entry.</li>



<li>Use the arrows to change the order.</li>



<li><strong>Presets:</strong>
<ul class="wp-block-list">
<li><strong>Apply to everyone</strong></li>



<li><strong>Apply to group, exempt administrators</strong></li>
</ul>
</li>
</ul>



<p>User and group assignments need identities synchronised from Active Directory. Cloud-only Entra ID accounts are not supported.</p>



<h2 class="wp-block-heading" id="preview-tab" style="font-size:38px">Preview tab</h2>



<p>Shows the exact <code>.fxr</code> and <code>.fxa</code> file contents and updates as you edit.</p>



<h2 class="wp-block-heading" id="exporting-and-deploying" style="font-size:38px">Exporting and deploying</h2>



<p>Click <strong>Download</strong> on a rule set:</p>



<ul class="wp-block-list">
<li><strong>In the app:</strong> the files are saved to your Default Output Folder.</li>



<li><strong>In a browser:</strong> you get a ZIP with both files.</li>
</ul>



<p>To deploy the rules:</p>



<ol class="wp-block-list">
<li>Copy both files to <code>C:\Program Files\FSLogix\Apps\Rules</code> on each session host, for example via your golden image, Intune, Group Policy or a PSADT package.</li>



<li>FSLogix picks them up immediately. No restart is needed.</li>



<li>To remove the rules, delete the file pair.</li>
</ol>



<p>Renaming a rule set only affects future exports. Files you exported earlier are not renamed.</p>
</div>
<p>The post <a href="https://xoap.io/docs/xoap-package-wizard-fslogix-app-masking/">FSLogix App Masking rules</a> appeared first on <a href="https://xoap.io">XOAP</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://xoap.io/docs/xoap-package-wizard-fslogix-app-masking/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Connections &#038; uploads</title>
		<link>https://xoap.io/docs/xoap-package-wizard-connections-uploads/</link>
					<comments>https://xoap.io/docs/xoap-package-wizard-connections-uploads/#respond</comments>
		
		<dc:creator><![CDATA[Stella]]></dc:creator>
		<pubDate>Mon, 12 Oct 2026 11:26:59 +0000</pubDate>
				<guid isPermaLink="false">https://xoap.io/?post_type=docs&#038;p=32353</guid>

					<description><![CDATA[<p>Pro edition. Connections let you send packages straight to Microsoft Intune, Azure Storage or Microsoft Configuration Manager (MECM). The Connections page Open Connections in the sidebar. The table shows Name, Type, Target, Authentication and Last test (Passed / Failed / Not tested). Each row has Test connection, Edit and Delete. Click New Connection to add [&#8230;]</p>
<p>The post <a href="https://xoap.io/docs/xoap-package-wizard-connections-uploads/">Connections &amp; uploads</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><em>Pro edition.</em> Connections let you send packages straight to Microsoft Intune, Azure Storage or Microsoft Configuration Manager (MECM).</p>



<h2 class="wp-block-heading" id="the-connections-page" style="font-size:38px">The Connections page</h2>



<p>Open <strong>Connections</strong> in the sidebar. The table shows Name, Type, Target, Authentication and Last test (Passed / Failed / Not tested). Each row has <strong>Test connection</strong>, <strong>Edit</strong> and <strong>Delete</strong>. Click <strong>New Connection</strong> to add one.</p>



<p>All connection details stay on your computer:</p>



<ul class="wp-block-list">
<li>Secrets are encrypted with Windows DPAPI for your user account.</li>



<li>Secrets are never shown again after you save them.</li>
</ul>



<h2 class="wp-block-heading" id="microsoft-intune" style="font-size:38px">Microsoft Intune</h2>



<p><strong>Before you start, you need:</strong></p>



<ul class="wp-block-list">
<li>An app registration in Microsoft Entra ID.</li>



<li>The API permission <code>DeviceManagementApps.ReadWrite.All</code>, with admin consent granted.</li>



<li>For interactive sign-in: the redirect URI <code>http://localhost</code> (platform <em>Mobile and desktop applications</em>).</li>



<li>For app-only sign-in: a client secret.</li>
</ul>



<p><strong>Fields:</strong></p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>Field</th><th>Description</th></tr></thead><tbody><tr><td>Connection name</td><td>For example <code>Contoso Intune (Prod)</code></td></tr><tr><td>Tenant ID</td><td>Your Entra tenant ID</td></tr><tr><td>Application (client) ID</td><td>Your app registration&#8217;s client ID</td></tr><tr><td>Authentication</td><td><strong>Sign in as me (interactive)</strong>: your browser opens for sign-in. <strong>App-only (client secret)</strong>: enter the client secret.</td></tr></tbody></table></figure>



<h2 class="wp-block-heading" id="azure-storage" style="font-size:38px">Azure Storage</h2>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>Field</th><th>Description</th></tr></thead><tbody><tr><td>Storage service</td><td><strong>Blob container</strong> or <strong>File share (Azure Files, e.g. App Attach)</strong></td></tr><tr><td>Authentication</td><td><strong>Connection string</strong>, <strong>SAS URL</strong> or <strong>Service principal (Entra ID)</strong></td></tr><tr><td>Container / File share name</td><td>The target container or share. For a SAS URL it is only needed with account-level SAS URLs.</td></tr><tr><td>Tenant ID, Application (client) ID, Storage account name, Client secret</td><td>For a service principal. The app registration needs a data role on the storage account, for example <em>Storage Blob Data Contributor</em>.</td></tr></tbody></table></figure>



<h2 class="wp-block-heading" id="mecm-configuration-manager" style="font-size:38px">MECM / Configuration Manager</h2>



<p><strong>Before you start, you need:</strong></p>



<ul class="wp-block-list">
<li>The Configuration Manager console installed on this computer.</li>



<li>A Windows account with ConfigMgr administrative rights. The app always connects as the signed-in Windows user, so no password is stored.</li>



<li>A content share where:
<ul class="wp-block-list">
<li>your account has write access</li>



<li>the site server&#8217;s computer account has read access</li>
</ul>
</li>
</ul>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>Field</th><th>Description</th></tr></thead><tbody><tr><td>SMS Provider server</td><td>Usually the primary site server, for example <code>cm01.contoso.com</code></td></tr><tr><td>Site code</td><td>Three characters, for example <code>PS1</code></td></tr><tr><td>Content share</td><td>UNC path, for example <code>\\fs01\Sources$\Applications</code></td></tr></tbody></table></figure>



<h2 class="wp-block-heading" id="testing-a-connection" style="font-size:38px">Testing a connection</h2>



<p>Click <strong>Test connection</strong>, either in the editor before you save or on a saved row. The test checks:</p>



<ul class="wp-block-list">
<li><strong>Intune:</strong> that sign-in works and the permission is granted</li>



<li><strong>Azure Storage:</strong> that the container or share can be accessed</li>



<li><strong>MECM:</strong> that the console and module are present, the content share is writable and the site responds. The result shows the site name and version. The first test takes about 20 seconds.</li>
</ul>



<h2 class="wp-block-heading" id="uploading-a-package" style="font-size:38px">Uploading a package</h2>



<ol class="wp-block-list">
<li>On a PSADT, MSIX or IntuneWin package card, click the <strong>upload</strong> (cloud) icon.</li>



<li>Choose the <strong>Destination</strong> and a <strong>Connection</strong>:DestinationPackage typesWhat happens<strong>Microsoft Intune</strong>PSADT, IntuneWinPublished as a Win32 app. A PSADT package is wrapped as <code>.intunewin</code> automatically.<strong>Azure Storage</strong>PSADT, MSIX, IntuneWinThe package file is uploaded to the container or file share<strong>MECM</strong>PSADTOpens the <em>Deploy to MECM</em> panel (see below)</li>



<li>Click <strong>Start Upload</strong>. You can click <strong>Hide (upload continues)</strong> and keep working. A notification appears when the upload finishes, even if you have moved to another page.</li>
</ol>



<p>After an Intune upload, review assignments and details in the Intune admin center. It can take a few minutes until the app is fully available there.</p>



<h2 class="wp-block-heading" id="uploading-several-packages" style="font-size:38px">Uploading several packages</h2>



<p>Select packages on the workspace and click the toolbar <strong>upload</strong> icon. Choose Microsoft Intune or Azure Storage. Each package shows its own status (Waiting / Building / Published / Uploaded), and a summary appears at the end. MECM is not available for bulk uploads.</p>



<h2 class="wp-block-heading" id="deploying-to-mecm" style="font-size:38px">Deploying to MECM</h2>



<p>The <strong>Deploy to MECM</strong> panel walks you through the following:</p>



<ol class="wp-block-list">
<li><strong>MECM connection.</strong> Collections and distribution points are loaded from the site. The first load takes about 20 seconds; the list is kept for 5 minutes, and <strong>Refresh</strong> reloads it.</li>



<li><strong>Application.</strong> Name, publisher, version and description are pre-filled from the package.</li>



<li><strong>Detection rules.</strong> Choose MSI product code, file exists, registry key exists, or a PowerShell script.
<ul class="wp-block-list">
<li>If the package contains an MSI, its product code is filled in for you.</li>



<li>A script rule must be the only rule.</li>
</ul>
</li>



<li><strong>Target collection.</strong> Pick an existing device collection, or create a new one:
<ul class="wp-block-list">
<li>Give it a name and a limiting collection.</li>



<li>The new collection is created empty. Add members in the console.</li>
</ul>
</li>



<li><strong>Content distribution.</strong> Choose distribution point groups and/or individual distribution points.</li>



<li><strong>Deployment.</strong> Choose the purpose:<ul><li><strong>Available</strong> (self-service in Software Center)</li><li><strong>Required</strong> (installs automatically, with an optional deadline)</li></ul>Also choose the user notification setting.</li>



<li>Optionally open <strong>Preview the deployment script</strong>.</li>



<li>Click <strong>Deploy</strong>.</li>
</ol>



<p>The package content is copied to <code>{content share}\Applications\{Publisher}\{Name}\{Version}</code>. The application, the PSADT deployment type, the collection, the content distribution and the deployment are created, and progress is shown live. Content distribution to the distribution points then finishes in the background.</p>



<p>Possible conflicts:</p>



<ul class="wp-block-list">
<li><strong>An application with the same name already exists.</strong> The deploy stops before anything is created.</li>



<li><strong>The content folder already exists.</strong> Turn on <strong>Overwrite the content folder</strong>, or increase the version.</li>
</ul>
</div>
<p>The post <a href="https://xoap.io/docs/xoap-package-wizard-connections-uploads/">Connections &amp; uploads</a> appeared first on <a href="https://xoap.io">XOAP</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://xoap.io/docs/xoap-package-wizard-connections-uploads/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>App Catalog</title>
		<link>https://xoap.io/docs/xoap-package-wizard-app-catalog/</link>
					<comments>https://xoap.io/docs/xoap-package-wizard-app-catalog/#respond</comments>
		
		<dc:creator><![CDATA[Stella]]></dc:creator>
		<pubDate>Mon, 12 Oct 2026 11:24:12 +0000</pubDate>
				<guid isPermaLink="false">https://xoap.io/?post_type=docs&#038;p=32351</guid>

					<description><![CDATA[<p>Browsing: all editions. Creating packages: Pro. The App Catalog lists applications from two sources: You can create a ready-to-review PSADT package for any of them. The App Catalog needs an internet connection. The list is cached for 24 hours. If no source can be reached, the last cached list is shown with a stale data [&#8230;]</p>
<p>The post <a href="https://xoap.io/docs/xoap-package-wizard-app-catalog/">App Catalog</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><em>Browsing: all editions. Creating packages: Pro.</em></p>



<p>The <strong>App Catalog</strong> lists applications from two sources:</p>



<ul class="wp-block-list">
<li>about 600 apps from the <strong>Evergreen</strong> project</li>



<li>about 14,000 apps from the <strong>Windows Package Manager (winget)</strong> community repository</li>
</ul>



<p>You can create a ready-to-review PSADT package for any of them.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>The App Catalog needs an internet connection. The list is cached for 24 hours. If no source can be reached, the last cached list is shown with a <strong>stale data</strong> badge.</p>
</blockquote>



<h2 class="wp-block-heading" id="browsing" style="font-size:38px">Browsing</h2>



<ul class="wp-block-list">
<li><strong>Search</strong> by name, publisher or package ID. Sort by the columns and page through the results.</li>



<li>Use the <strong>source filter</strong> (All / Evergreen / winget) to show one source. A badge on each row shows its source.</li>



<li>The link icon opens the vendor&#8217;s web page (Evergreen apps).</li>



<li>Click a row to open the configuration panel.</li>
</ul>



<p>For winget apps, the list first shows the publisher part of the package ID (for example <em>Microsoft</em>). The full publisher name is read when the package is created.</p>



<h2 class="wp-block-heading" id="configuring-the-release" style="font-size:38px">Configuring the release</h2>



<p>The panel only offers the choices that exist for that app, with sensible defaults:</p>



<ul class="wp-block-list">
<li><strong>Version</strong>: newest preselected</li>



<li><strong>Architecture</strong>: x64 preferred, then ARM64, then x86</li>



<li><strong>Channel</strong>: Stable preferred</li>



<li><strong>Installer type</strong>: MSI preferred over EXE</li>



<li><strong>Language</strong>: English preferred</li>
</ul>



<p>A summary shows the installer file, its size, the download host and whether a checksum is available.</p>



<h2 class="wp-block-heading" id="create-package-pro" style="font-size:38px">Create package (Pro)</h2>



<p>When you click <strong>Create package</strong>, the wizard does the following:</p>



<ol class="wp-block-list">
<li><strong>Downloads the installer</strong> into the new package (with progress; you can cancel).</li>



<li><strong>Checks the download.</strong> It verifies the SHA-256 checksum when one is published (always for winget) and checks that the file really is an installer.</li>



<li><strong>Determines the silent switches:</strong>
<ul class="wp-block-list">
<li>MSI installers always use <code>/qn /norestart</code>.</li>



<li>For EXE installers it uses the first match from: the curated list, the winget manifest, a scan of the installer, the winget installer type, and finally the file name.</li>



<li>If nothing matches, the package is flagged <strong>needs review</strong>, and the generated install phase stops with an error instead of starting an interactive setup.</li>



<li>winget apps that install per user only get a hint, because PSADT installs machine-wide.</li>
</ul>
</li>



<li><strong>Creates the PSADT package</strong> with:<ul><li>application details</li><li>a silent install phase</li><li>a registry-based uninstall phase</li><li>a repair phase</li></ul>The package then opens on <strong>Session Config</strong> for review.</li>
</ol>



<p>Review and adjust the generated package like any other package before you export it. Catalog packages count towards the Free edition limit.</p>



<h2 class="wp-block-heading" id="update-badges" style="font-size:38px">Update badges</h2>



<p>Packages created from the catalog remember the app and release they came from.</p>



<ul class="wp-block-list">
<li><strong>When the check runs.</strong> When you open the Packages Workspace, they are checked against the catalog. This happens at most every 6 hours and is skipped silently when offline.</li>



<li><strong>The badge.</strong> If a newer version exists, the card shows an amber <strong>UPDATE</strong> badge with the new version.</li>



<li><strong>The update button</strong> (Pro) creates a <strong>new</strong> package at the new version. The existing package is kept.
<ul class="wp-block-list">
<li>Tags and the PSADT template are carried over.</li>



<li>Manual edits to the phases are <strong>not</strong> carried over. Re-apply them before you export.</li>
</ul>
</li>



<li><strong>Same variant only.</strong> Updates are only shown for the same architecture, channel and installer type that you originally picked.</li>
</ul>



<p>Packages created before version 2.1.0, and converted copies, do not show update badges. Create them again from the catalog to get update badges.</p>
</div>
<p>The post <a href="https://xoap.io/docs/xoap-package-wizard-app-catalog/">App Catalog</a> appeared first on <a href="https://xoap.io">XOAP</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://xoap.io/docs/xoap-package-wizard-app-catalog/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Converting packages</title>
		<link>https://xoap.io/docs/xoap-package-wizard-converting-packages/</link>
					<comments>https://xoap.io/docs/xoap-package-wizard-converting-packages/#respond</comments>
		
		<dc:creator><![CDATA[Stella]]></dc:creator>
		<pubDate>Mon, 12 Oct 2026 11:21:35 +0000</pubDate>
				<guid isPermaLink="false">https://xoap.io/?post_type=docs&#038;p=32349</guid>

					<description><![CDATA[<p>Use the Conversion Assistant to turn a package into another type, for example PSADT → MSIX, MSIX → App Attach, or PSADT → IntuneWin. Each target card shows: Conversion always creates a new package. The original is not changed. Name, version, publisher, architecture, uploaded files and tags are carried over. The analysis is available in [&#8230;]</p>
<p>The post <a href="https://xoap.io/docs/xoap-package-wizard-converting-packages/">Converting 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">
<p>Use the <strong>Conversion Assistant</strong> to turn a package into another type, for example PSADT → MSIX, MSIX → App Attach, or PSADT → IntuneWin.</p>



<ol class="wp-block-list">
<li>On the Packages Workspace, click <strong>Convert…</strong> on a package card.</li>



<li>The assistant analyses the package and shows a card for each target type.</li>
</ol>



<p>Each target card shows:</p>



<ul class="wp-block-list">
<li><strong>Readiness:</strong> <em>Ready to build</em>, <em>N details needed</em>, or <em>Not possible from this payload</em></li>



<li><strong>Carries over automatically:</strong> values taken from the source, such as name, version, publisher, install and uninstall commands, and silent switches</li>



<li><strong>Needs your input:</strong> only the fields the assistant cannot derive, with pickers for your uploaded files</li>



<li><strong>Checks:</strong> a preview of the build validation</li>



<li><strong>This machine:</strong> notes about your computer, for example that App Attach needs administrator rights</li>
</ul>



<p>Conversion always creates a <strong>new</strong> package. The original is not changed. Name, version, publisher, architecture, uploaded files and tags are carried over. The analysis is available in both editions; creating MSIX, App Attach or IntuneWin packages needs Pro.</p>



<h2 class="wp-block-heading" id="when-the-package-contains-an-installer" style="font-size:38px">When the package contains an installer</h2>



<p>MSIX and App Attach need the <strong>installed</strong> application, not its setup program. If the source package contains an installer, the assistant offers three options:</p>



<ul class="wp-block-list">
<li><strong>Repackage the installer</strong> (recommended). The wizard unpacks the installer without running it on your machine:<ul><li><strong>MSI:</strong> an administrative extraction rebuilds files, registry and shortcuts.</li><li><strong>Inno Setup, NSIS and self-extracting archives:</strong> unpacked with an extraction tool when one is available.</li><li><strong>Other installers</strong> (WiX Burn, InstallShield, unknown): are passed to <em>Install &amp; capture</em>, with the reason shown.</li></ul>Repackaging runs in the background with progress and <strong>Cancel</strong>. Afterwards a pre-filled package opens in the wizard, and a report shows what was rebuilt and what was skipped.</li>



<li><strong>Install &amp; capture.</strong> The installer runs silently and the wizard records what changed in the file system and registry. Things to know:
<ul class="wp-block-list">
<li>The app must run as administrator.</li>



<li>Use a disposable virtual machine for this.</li>



<li>Your own user profile data is never captured.</li>
</ul>
</li>



<li><strong>Keep as-is.</strong> Builds a package that contains the raw installer. You get a warning that the result will probably not work as expected.</li>
</ul>



<h2 class="wp-block-heading" id="viability-check" style="font-size:38px">Viability check</h2>



<p>Before any work is done, the assistant checks whether the app can work as MSIX or App Attach at all:</p>



<ul class="wp-block-list">
<li><strong>Blockers (not possible):</strong> kernel drivers, credential providers, in-process shell extensions (for example Explorer context menus), and hardware license dongles. The evidence is named.</li>



<li><strong>Conditional:</strong> Windows services work with MSIX but not with App Attach.</li>



<li><strong>Warnings:</strong> writes to the install folder, scheduled tasks, machine environment variables.</li>
</ul>



<h2 class="wp-block-heading" id="other-conversions" style="font-size:38px">Other conversions</h2>



<ul class="wp-block-list">
<li><strong>PSADT → IntuneWin</strong> offers two options:
<ul class="wp-block-list">
<li><em>Deploy this PSADT package via Intune</em>: the whole PSADT package is wrapped.</li>



<li><em>Repackage the raw installer</em>: install and uninstall commands are derived from the installer.</li>
</ul>
</li>



<li><strong>Conversions to PSADT</strong> create real install and uninstall code from the source:
<ul class="wp-block-list">
<li>An <code>.msi</code> becomes <code>Start-ADTMsiProcess</code>.</li>



<li>An MSIX is built, signed and provisioned machine-wide, and its certificate is trusted.</li>
</ul>
</li>
</ul>
</div>
<p>The post <a href="https://xoap.io/docs/xoap-package-wizard-converting-packages/">Converting packages</a> appeared first on <a href="https://xoap.io">XOAP</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://xoap.io/docs/xoap-package-wizard-converting-packages/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Testing packages</title>
		<link>https://xoap.io/docs/xoap-package-wizard-testing-packages/</link>
					<comments>https://xoap.io/docs/xoap-package-wizard-testing-packages/#respond</comments>
		
		<dc:creator><![CDATA[Stella]]></dc:creator>
		<pubDate>Mon, 12 Oct 2026 11:19:45 +0000</pubDate>
				<guid isPermaLink="false">https://xoap.io/?post_type=docs&#038;p=32347</guid>

					<description><![CDATA[<p>Test Run (PSADT) On the Preview step of a PSADT package: The script runs on this computer with exactly the files, toolkit and template that the exported package would contain. Its output appears in the PowerShell Output panel. A test run stops after 120 seconds. Test Run installs software on your own machine. To keep [&#8230;]</p>
<p>The post <a href="https://xoap.io/docs/xoap-package-wizard-testing-packages/">Testing 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">
<h2 class="wp-block-heading" id="test-run-psadt" style="font-size:38px">Test Run (PSADT)</h2>



<p>On the <strong>Preview</strong> step of a PSADT package:</p>



<ol class="wp-block-list">
<li>Choose <strong>Deployment Type</strong> (Install / Uninstall / Repair) and <strong>Deploy Mode</strong>.</li>



<li>Optionally turn on <strong>Run as Admin</strong>. Most installations need it, and Windows shows a UAC prompt.</li>



<li>Click <strong>Test Run</strong>.</li>
</ol>



<p>The script runs <strong>on this computer</strong> with exactly the files, toolkit and template that the exported package would contain. Its output appears in the <strong>PowerShell Output</strong> panel. A test run stops after 120 seconds.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>Test Run installs software on your own machine. To keep your machine clean, use <strong>Test in Sandbox</strong>.</p>
</blockquote>



<h2 class="wp-block-heading" id="test-in-sandbox-psadt" style="font-size:38px">Test in Sandbox (PSADT)</h2>



<p><strong>Test in Sandbox</strong> runs the package on a clean, disposable Windows machine (Windows Sandbox), without leaving the app. It shows you how the package behaves on a fresh client.</p>



<ol class="wp-block-list">
<li>Enable Windows Sandbox once: <strong>Settings → General → Windows Sandbox → Enable Windows Sandbox</strong>. Windows shows an administrator prompt, and a restart is needed afterwards. Windows Sandbox is not available on Windows Home editions.</li>



<li>On the <strong>Preview</strong> step, choose Deployment Type and Deploy Mode:
<ul class="wp-block-list">
<li><strong>Silent</strong> or <strong>NonInteractive</strong> for a fully automatic test</li>



<li><strong>Interactive</strong> if you want to click through the PSADT dialogs in the sandbox window yourself</li>
</ul>
</li>



<li>Click <strong>Test in Sandbox</strong>.</li>
</ol>



<p>A progress panel follows the run. When it finishes, it shows:</p>



<ul class="wp-block-list">
<li>the result based on the exit code</li>



<li>the <strong>PSADT deployment log</strong></li>
</ul>



<p>Further notes:</p>



<ul class="wp-block-list">
<li><strong>Cancel</strong> stops the test and closes the sandbox.</li>



<li><strong>Close Sandbox</strong> closes the sandbox window after the test.</li>



<li>Only one sandbox can run at a time.</li>



<li>Everything inside the sandbox is discarded when it closes.</li>
</ul>



<h2 class="wp-block-heading" id="verifying-with-installed-apps-snapshots" style="font-size:38px">Verifying with Installed Apps snapshots</h2>



<p>Use the snapshot feature on the Installed Apps page to check what a package really installed and whether the uninstall removed it again.</p>
</div>



<p></p>
<p>The post <a href="https://xoap.io/docs/xoap-package-wizard-testing-packages/">Testing packages</a> appeared first on <a href="https://xoap.io">XOAP</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://xoap.io/docs/xoap-package-wizard-testing-packages/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Creating an IntuneWin package</title>
		<link>https://xoap.io/docs/xoap-package-wizard-intunewin/</link>
					<comments>https://xoap.io/docs/xoap-package-wizard-intunewin/#respond</comments>
		
		<dc:creator><![CDATA[Stella]]></dc:creator>
		<pubDate>Mon, 12 Oct 2026 11:17:13 +0000</pubDate>
				<guid isPermaLink="false">https://xoap.io/?post_type=docs&#038;p=32345</guid>

					<description><![CDATA[<p>Pro edition. Creates a Microsoft Intune Win32 app package. Step 1: Source Files Upload the setup files, for example the MSI, EXE, scripts and configuration files. Step 2: App Information Enter Name (required), Publisher, Version and Description. These are shown in the Intune admin center. Step 3: Program Field Description Setup file (required) The installer, [&#8230;]</p>
<p>The post <a href="https://xoap.io/docs/xoap-package-wizard-intunewin/">Creating an IntuneWin package</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><em>Pro edition.</em> Creates a Microsoft Intune Win32 app package.</p>



<h2 class="wp-block-heading" id="step-1-source-files" style="font-size:38px">Step 1: Source Files</h2>



<p>Upload the setup files, for example the MSI, EXE, scripts and configuration files.</p>



<h2 class="wp-block-heading" id="step-2-app-information" style="font-size:38px">Step 2: App Information</h2>



<p>Enter <strong>Name</strong> (required), <strong>Publisher</strong>, <strong>Version</strong> and <strong>Description</strong>. These are shown in the Intune admin center.</p>



<h2 class="wp-block-heading" id="step-3-program" style="font-size:38px">Step 3: Program</h2>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>Field</th><th>Description</th></tr></thead><tbody><tr><td><strong>Setup file</strong> (required)</td><td>The installer, chosen from the uploaded files (picked automatically if there is only one)</td></tr><tr><td><strong>Install command</strong> (required)</td><td>The silent install command line, for example <code>msiexec /i "setup.msi" /qn</code></td></tr><tr><td><strong>Uninstall command</strong> (required)</td><td>The silent uninstall command line</td></tr><tr><td><strong>Install behavior</strong></td><td><strong>System</strong> or <strong>User</strong></td></tr></tbody></table></figure>



<p>For MSI installers, the product information and a product-code detection rule are filled in automatically.</p>



<h2 class="wp-block-heading" id="step-4-detection-rules" style="font-size:38px">Step 4: Detection Rules</h2>



<p>Intune uses detection rules to find out whether the app is installed.</p>



<ul class="wp-block-list">
<li>Add as many rules as you need with <strong>+ Add detection rule</strong>. All rules must match.</li>



<li>Rule types:
<ul class="wp-block-list">
<li><strong>msi</strong>: the MSI product code</li>



<li><strong>file</strong>: the full path of a file</li>



<li><strong>registry</strong>: a registry key, for example <code>HKLM\SOFTWARE\…</code></li>



<li><strong>script</strong>: a detection PowerShell script</li>
</ul>
</li>



<li>At least one rule is required to publish the app in Intune.</li>
</ul>



<h2 class="wp-block-heading" id="step-5-requirements" style="font-size:38px">Step 5: Requirements</h2>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>Field</th><th>Description</th></tr></thead><tbody><tr><td><strong>Minimum OS</strong></td><td>Windows 10 1607 up to Windows 11 24H2</td></tr><tr><td><strong>Architecture</strong></td><td>x64, x86 or arm64</td></tr><tr><td><strong>Minimum disk space (MB)</strong></td><td>Free disk space required for the installation</td></tr></tbody></table></figure>



<h2 class="wp-block-heading" id="step-6-preview-build" style="font-size:38px">Step 6: Preview &amp; Build</h2>



<p>Review the build plan and click <strong>Finish</strong>.</p>



<p><strong>Result:</strong></p>



<ul class="wp-block-list">
<li><code>{name}.intunewin</code>: the encrypted package</li>



<li><code>{name}.intune.json</code>: all app details, commands and detection rules, ready for automated publishing</li>
</ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>To deliver a <strong>PSADT</strong> package through Intune, you don&#8217;t need an IntuneWin package. Upload the PSADT package to Intune directly (see <a href="https://risconsulting.sharepoint.com/sites/Marketing/_layouts/15/embed.aspx?UniqueId=66a18e40-3215-4954-8779-2ffe160ffdb2&amp;shareLink=&amp;client_id=Microsoft+Teams&amp;requestContext=%7B%7D&amp;embed=%7B%22clickTime%22%3A1791803107457%2C%22ct%22%3A1791803107471%2C%22tp%22%3Atrue%2C%22ump%22%3Atrue%2C%22htp%22%3Atrue%2C%22mpmp%22%3Atrue%7D#13-connections--uploads">Connections &amp; uploads</a>). It is wrapped as <code>.intunewin</code> automatically.</p>
</blockquote>
</div>



<p></p>
<p>The post <a href="https://xoap.io/docs/xoap-package-wizard-intunewin/">Creating an IntuneWin package</a> appeared first on <a href="https://xoap.io">XOAP</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://xoap.io/docs/xoap-package-wizard-intunewin/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Creating an App Attach package</title>
		<link>https://xoap.io/docs/xoap-package-wizard-app-attach/</link>
					<comments>https://xoap.io/docs/xoap-package-wizard-app-attach/#respond</comments>
		
		<dc:creator><![CDATA[Stella]]></dc:creator>
		<pubDate>Mon, 12 Oct 2026 11:14:48 +0000</pubDate>
				<guid isPermaLink="false">https://xoap.io/?post_type=docs&#038;p=32342</guid>

					<description><![CDATA[<p>Pro edition. App Attach delivers an MSIX app to Azure Virtual Desktop or Windows 365 session hosts by mounting it from a disk image instead of installing it. Step 1: MSIX Source Upload one of the following: Step 2: Image Format Field Description MSIX package Choose an uploaded .msix (picked automatically if there is only [&#8230;]</p>
<p>The post <a href="https://xoap.io/docs/xoap-package-wizard-app-attach/">Creating an App Attach package</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><em>Pro edition.</em> App Attach delivers an MSIX app to Azure Virtual Desktop or Windows 365 session hosts by mounting it from a disk image instead of installing it.</p>



<h2 class="wp-block-heading" id="step-1-msix-source" style="font-size:38px">Step 1: MSIX Source</h2>



<p>Upload one of the following:</p>



<ul class="wp-block-list">
<li>a ready-made <code>.msix</code> or <code>.msixbundle</code>, or</li>



<li>the application files. The wizard then builds and signs the MSIX for you.</li>
</ul>



<h2 class="wp-block-heading" id="step-2-image-format" style="font-size:38px">Step 2: Image Format</h2>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>Field</th><th>Description</th></tr></thead><tbody><tr><td><strong>MSIX package</strong></td><td>Choose an uploaded <code>.msix</code> (picked automatically if there is only one). Leave it empty to build the MSIX from the uploaded application files.</td></tr><tr><td><strong>Image format</strong></td><td><strong>VHDX</strong> (recommended for most hosts), <strong>VHD</strong> (legacy) or <strong>CIM</strong> (fastest mount on Windows 11 hosts)</td></tr><tr><td><strong>Image size (MB)</strong></td><td>Size of the VHDX or VHD (default 512 MB). It must be about 1.2 × the app size plus 50 MB. Not used for CIM.</td></tr></tbody></table></figure>



<p>About CIM images:</p>



<ul class="wp-block-list">
<li>A CIM image consists of several files: <code>{name}.cim</code> plus <code>objectid_*</code> and <code>region_*</code> files. Always copy all of them together.</li>



<li>The generated scripts need the <code>CimDiskImage</code> PowerShell module on the session host. AVD&#8217;s built-in App Attach mounts CIM images without this module.</li>



<li>Use VHDX for Windows Server 2019 and 2022 hosts.</li>
</ul>



<p>A ready-made <code>.msix</code> that you upload is checked before it is used:</p>



<ul class="wp-block-list">
<li>Unsigned packages are rejected.</li>



<li>Packages whose publisher does not match their signature are rejected.</li>



<li>If the signer is not trusted on this machine, you get a warning.</li>
</ul>



<h2 class="wp-block-heading" id="step-3-signing" style="font-size:38px">Step 3: Signing</h2>



<p>This step offers the same certificate and timestamp settings as the MSIX wizard. It applies when the wizard builds the MSIX itself. The public certificate (<code>.cer</code>) is saved next to the image, and the Stage script trusts it automatically on the session host.</p>



<h2 class="wp-block-heading" id="step-4-lifecycle-scripts" style="font-size:38px">Step 4: Lifecycle Scripts</h2>



<p>App Attach uses four scripts:</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>Script</th><th>Runs as</th><th>When</th></tr></thead><tbody><tr><td><strong>Stage</strong></td><td>Administrator</td><td>At host startup: mounts the image and stages the app</td></tr><tr><td><strong>Register</strong></td><td>User</td><td>At sign-in: registers the app for the user</td></tr><tr><td><strong>Deregister</strong></td><td>User</td><td>At sign-out</td></tr><tr><td><strong>Destage</strong></td><td>Administrator</td><td>At host shutdown: removes the app and dismounts the image</td></tr></tbody></table></figure>



<p>Working default scripts are generated for you. To change one, click <strong>Customize</strong>:</p>



<ul class="wp-block-list">
<li>You can use <strong>Insert snippet…</strong> for logging or error handling.</li>



<li><strong>Reset to generated default</strong> undoes your changes.</li>
</ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>For AVD host pools, Microsoft recommends the built-in App Attach feature in the Azure portal. In that case you only need the image.</p>
</blockquote>



<h2 class="wp-block-heading" id="step-5-metadata" style="font-size:38px">Step 5: Metadata</h2>



<p>Enter the <strong>Display name</strong> (required) and the <strong>Version</strong>.</p>



<h2 class="wp-block-heading" id="step-6-preview-build" style="font-size:38px">Step 6: Preview &amp; Build</h2>



<p>The step shows the validation results and the image plan, and checks this machine:</p>



<ul class="wp-block-list">
<li>If the <code>msixmgr</code> tool is missing, the build is blocked and the reason is explained.</li>



<li>Creating a disk image needs administrator rights. If the app is not running as administrator, the <strong>Request admin rights (UAC)</strong> switch appears (on by default). Windows shows an administrator prompt when the build starts. Choose <strong>Yes</strong> in that prompt.</li>
</ul>



<p>Click <strong>Build App Attach Image</strong>.</p>



<p><strong>Result:</strong></p>



<ul class="wp-block-list">
<li>the image (<code>.vhdx</code>, <code>.vhd</code>, or the <code>.cim</code> file set)</li>



<li>the four lifecycle scripts</li>



<li><code>{name}.cer</code></li>
</ul>



<p>App Attach images are built to disk and cannot be uploaded from the app. Copy them to your file share yourself.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>
</div>
<p>The post <a href="https://xoap.io/docs/xoap-package-wizard-app-attach/">Creating an App Attach package</a> appeared first on <a href="https://xoap.io">XOAP</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://xoap.io/docs/xoap-package-wizard-app-attach/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Creating an MSIX package</title>
		<link>https://xoap.io/docs/xoap-package-wizard-msix/</link>
					<comments>https://xoap.io/docs/xoap-package-wizard-msix/#respond</comments>
		
		<dc:creator><![CDATA[Stella]]></dc:creator>
		<pubDate>Mon, 12 Oct 2026 11:11:32 +0000</pubDate>
				<guid isPermaLink="false">https://xoap.io/?post_type=docs&#038;p=32340</guid>

					<description><![CDATA[<p>Pro edition. An MSIX package contains the installed application files (not an installer), together with a manifest that describes the app to Windows. If you only have an installer (setup.exe or .msi), create a PSADT package with it and convert it to MSIX. The Conversion Assistant can repackage the installer for you. Step 1: Source [&#8230;]</p>
<p>The post <a href="https://xoap.io/docs/xoap-package-wizard-msix/">Creating an MSIX package</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><em>Pro edition.</em> An MSIX package contains the <strong>installed</strong> application files (not an installer), together with a manifest that describes the app to Windows.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>If you only have an installer (setup.exe or .msi), create a PSADT package with it and convert it to MSIX. The Conversion Assistant can repackage the installer for you.</p>
</blockquote>



<h2 class="wp-block-heading" id="step-1-source-files" style="font-size:38px">Step 1: Source Files</h2>



<p>Upload the application files, for example the folder with the application&#8217;s EXE and DLL files.</p>



<h2 class="wp-block-heading" id="step-2-package-identity" style="font-size:38px">Step 2: Package Identity</h2>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>Field</th><th>Description</th></tr></thead><tbody><tr><td><strong>Display name</strong> (required)</td><td>The app name users see</td></tr><tr><td><strong>Publisher (identity)</strong> (required)</td><td>The technical publisher, for example <code>CN=Contoso</code>. It must match the signing certificate. The wizard sets it to match automatically when it builds.</td></tr><tr><td><strong>Publisher display name</strong></td><td>The vendor name shown in the Start menu, for example <code>Contoso Inc.</code></td></tr><tr><td><strong>Version</strong> (required)</td><td>A four-part numeric version, for example <code>1.0.0.0</code></td></tr><tr><td><strong>Architecture</strong></td><td>x64, x86 or arm64</td></tr><tr><td><strong>Logo (PNG)</strong></td><td>A PNG image from your uploaded files. Choose <strong>— none —</strong> to use a placeholder.</td></tr></tbody></table></figure>



<p>The step also shows the resulting Package Family Name.</p>



<h2 class="wp-block-heading" id="step-3-dependencies-dependencies-capabilities" style="font-size:38px">Step 3: Dependencies (Dependencies &amp; Capabilities)</h2>



<ul class="wp-block-list">
<li><strong>Capabilities.</strong> Pick from the standard values or type your own. <code>runFullTrust</code> is required for classic Win32 applications.</li>



<li><strong>Framework dependencies.</strong> For example the Visual C++ runtime (VCLibs), WinUI or the Windows App Runtime. Pick a preset or enter <code>Name</code> or <code>Name|MinVersion</code>.</li>
</ul>



<h2 class="wp-block-heading" id="step-4-applications" style="font-size:38px">Step 4: Applications</h2>



<p>Choose the <strong>Primary executable</strong> from your uploaded <code>.exe</code> files. This is the program that the Start menu entry launches.</p>



<h2 class="wp-block-heading" id="step-5-signing" style="font-size:38px">Step 5: Signing</h2>



<p>Windows only installs signed MSIX packages.</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>Field</th><th>Description</th></tr></thead><tbody><tr><td><strong>Signing certificate</strong></td><td>Choose a certificate or keep <strong>use the active certificate</strong>. You can also <strong>Generate test certificate</strong> or <strong>Upload certificate…</strong> here.</td></tr><tr><td><strong>Timestamp server</strong></td><td>Default <code>http://timestamp.digicert.com</code>. A timestamp keeps the signature valid after the certificate expires. If the server cannot be reached, the package is signed without a timestamp and you get a warning.</td></tr></tbody></table></figure>



<p>If no certificate exists, a long-lived self-signed certificate is created automatically on the first build. Its public certificate (<code>.cer</code>) is saved next to the package so you can trust it on target machines.</p>



<h2 class="wp-block-heading" id="step-6-preview-build" style="font-size:38px">Step 6: Preview &amp; Build</h2>



<ul class="wp-block-list">
<li>Shows the validation results and the generated AppxManifest.</li>



<li>When the status reads <strong>All checks passed — ready to build</strong>, click <strong>Finish</strong> to build, sign and save the <code>.msix</code>.</li>
</ul>



<p><strong>Result:</strong> <code>{name}.msix</code> and <code>{name}.cer</code>.</p>
</div>
<p>The post <a href="https://xoap.io/docs/xoap-package-wizard-msix/">Creating an MSIX package</a> appeared first on <a href="https://xoap.io">XOAP</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://xoap.io/docs/xoap-package-wizard-msix/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
