shmuelie / shmuelie/powershell-modules

Expose exact-target AppInstallManager cancellation

Open
#246 0 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

Depends on #233, #234, #236. Implementation remains blocked until the supported-access gate and listed prerequisites are complete.

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.

API scope

Manager Cancel overloads, with item-level Cancel mapping where needed for exact typed identity.

Acceptance criteria

  • Resolve an exact documented product/item target; preserve user and group context and reject ambiguous/disappeared items before acting.
  • Confirm cancellation through ShouldProcess, disclosing ItemOperationsMightAffectOtherItems and bundle effects.
  • Preserve optional correlation input without hardcoding telemetry identifiers. Do not interpret native void return as proof that the item reached a cancelled terminal state.
  • Return an honest request outcome or explicitly observed state; distinguish completion races, access failures and cancellation failures.
  • -WhatIf never cancels; no automatic cancellation on inventory or monitor disposal.

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 parent #232 and dependencies #233, #234, and #236, then read the documented AppInstallManager.Cancel and AppInstallItem.Cancel APIs. Check the compiled-C# contract, access and version gates, and the required deterministic Pester coverage; done means all acceptance and shared delivery requirements are covered without real side effects.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp, powershell
Domain
api, tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.