shmuelie / shmuelie/powershell-modules
Expose guarded AppInstallManager configuration changes
Nobody has claimed this yet.
- 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, #238. 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
Supported writes to AcquisitionIdentity and AutoUpdateSetting, subject to the access/context contract. CanInstallForAllUsers is read-only in the C#/WinRT signature and belongs to getter issue #238; do not expose a setter despite the reference summary's misleading "gets or sets" wording.
Acceptance criteria
- Expose only documented writable properties with explicit instance/user/device scope; validate values before any mutation.
- Use the same explicitly identified manager context as related operations. Avoid unnoticed process-global state or settings that are immediately lost in a fresh manager.
- Confirm each property change with
ShouldProcessand disclose the target and effect. Preview performs no writes; intrusive update-policy/all-user implications are explicit. - Do not invent a setter for read-only
CanInstallForAllUsers. Its value cannot grant privileges; do not elevate, impersonate another account or claim unavailable capability. - Preserve setter errors and partial multi-property outcomes; report applied versus not-applied changes without claiming unsupported rollback.
- Where supported, verify observed values after writes. Tests use fake contexts and never change real device/user update policy or acquisition identity.
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
- https://learn.microsoft.com/uwp/api/windows.applicationmodel.store.preview.installcontrol.appinstallmanager.acquisitionidentity
- https://learn.microsoft.com/uwp/api/windows.applicationmodel.store.preview.installcontrol.appinstallmanager.autoupdatesetting
- https://learn.microsoft.com/uwp/api/windows.applicationmodel.store.preview.installcontrol.appinstallmanager.caninstallforallusers
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with parent issue #232 and dependencies #233, #234, and #238, then review the AppInstallManager properties and compiled-C# contract described here. Use fake contexts and fail-closed adapters for deterministic Pester 6.2+ tests; done means supported writable properties validate and report changes without real device or user-policy effects, while preserving errors and partial outcomes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp, powershell
- Domain
- api, operating-systems, tooling
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100