Skip to content

Common Startup Task Support #10

Closed
Closed
@jonwis

Description

@jonwis

Proposal: Common Startup Task Support

Summary

Packaged applications have a specific StartupTask type that lets them manage tasks that run when the user logs on. Provide a type that gives the same startup task functionality across all kinds of applications, ideally modelled after the StartupTask type.

Rationale

There are many different documented ways to create and configure startup tasks for Win32 unpackaged applications. Packaged apps (UWP, Desktop Bridge) use the common StartupTask type. This disparity makes it hard to transition from Win32 to UWP or back. Windows should have a single strongly-documented API surface that lets apps create tasks that launch them at startup.

Scope

Capability Priority
Single API for UWP and Win32 apps to manage user-logon startup tasks Must
API calls the UWP implementation when necessary to enable user control Must
API uses platform-supported mechanisms to reduce "logon churn" Should
API lets Win32 apps declare startup tasks at runtime instead of in manifest Should
API lets users approve startup task requests even for unpackaged Win32 apps Could
API lets apps detect when their startup task has been disabled by the user Could
API lets apps force their startup task to be enabled without user prompt Won't
API requires unpackaged apps get packaged Won't

Important Notes

Use of this API will not require a Win32 app get packaged, but the app might need to carry an artifact declaring the startup tasks in a way similar to how packaged applications declare them.

Open Questions

Should a Win32 app running elevated be allowed to enable their startup task for all users, or only the current user?

Should the API enable the complicated "run elevated at startup" task described in MSDN?

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions