shmuelie / shmuelie/powershell-modules

Establish supported host and capability access for AppInstallManager cmdlets

Open
#233 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

blocked enhancement module:windows theme:native-interop
Dominant language
PowerShell
Stars
0
Forks
0
Avg merge
21m
Merged PRs (30d)
124

Description

Parent: #232

Dependencies and access restriction

The technical development gate is partially satisfied by observed activation, property reads and caller-scoped search. On 2026-09-14 the maintainer authorized scoped development of #234 and the initial caller-scoped work in #236, #238 and #244, subject to their code dependencies.

This issue remains open for authoritative supported-distribution and broader API/user-scope clarification. It no longer blocks the approved subset, but remains a gate for unverified operations. A zero-item search does not validate actual download/install, queued-item transitions or another user's access.

Evidence: host/getter matrix and authorized caller-scoped search. This is empirical runtime evidence, not an official third-party support guarantee.

Microsoft documents AppInstallManager access as protected by a private capability restricted to Microsoft-developed apps. Do not bypass that restriction or treat runFullTrust/admin access alone as sufficient.

Goal

Resolve the documented support contract and per-API access matrix before promising generally supported distribution or expanding beyond the maintainer-approved development subset.

Acceptance criteria

  • Confirm the documented private-capability restriction to Microsoft-developed apps; distinguish it from runFullTrust, administrator privileges, package identity and mere successful type activation.
  • Produce a supported-host matrix for the intended PowerShell distribution: packaged/unpackaged context, identity/capability requirements, minimum Windows/SDK contracts, user/session scope, and per-member access restrictions.
  • Use documented, authorized, read-only evidence where possible. A constructor or metadata probe alone is not proof that installation, entitlements or user-scoped operations are authorized.
  • Record each relevant method family as supported, access-denied, unavailable, retired or unverified, with sources and reproducible leak-safe evidence. Do not treat denied access as an empty queue or a successful no-op.
  • Establish the C# WinRT projection/hosting approach and runtime limitations without prescribing an owning module prematurely.
  • If a supported public distribution cannot meet the access requirements, document that limitation and keep unverified operations gated. The approved foundation/caller-scoped subset may be developed without claiming official support. Do not impersonate a privileged package, spoof identity, change policy or bypass access checks.
  • Retired StartAppInstallAsync overloads are explicitly excluded from new default behavior; record documented alternatives.

This child is an investigation/contract gate, not authorization to perform live installation, entitlement or configuration mutations.

Shared delivery requirements

Follow the parent epic's compiled-C# contract, user-scope and capability/version gates. Include deterministic Pester 6.2+ coverage, comment-based help, public documentation and unreleased notes in the same implementation PR. Use fail-closed fake adapters for side effects; no real installs, entitlement grants or settings changes in CI. Preserve original errors and distinguish unavailable, unknown, requested and completed outcomes.

Documented API references

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the linked Microsoft AppInstallManager API reference, then review the host/getter matrix and authorized caller-scoped evidence in the issue comments. Produce the supported-host and per-member access matrix with documented sources, reproducible leak-safe evidence, hosting limitations, and gated unverified operations; include the required Pester 6.2+ coverage, help, documentation, and unreleased notes.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp, powershell
Domain
documentation, operating-systems, tooling
Issue type
Documentation
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.