Skip to content

Remove support for AppExeCLinks to retrieve target - #16044

Merged
Rob Holt (rjmholt) merged 1 commit into
PowerShell:masterfrom
SteveL-MSFT:appexelink
Sep 14, 2021
Merged

Remove support for AppExeCLinks to retrieve target#16044
Rob Holt (rjmholt) merged 1 commit into
PowerShell:masterfrom
SteveL-MSFT:appexelink

Conversation

@SteveL-MSFT

@SteveL-MSFT Steve Lee (SteveL-MSFT) commented Sep 2, 2021

Copy link
Copy Markdown
Member

PR Summary

Remove use of undocumented APIs for AppExeCLinks. Per AppX team, they have no intent of publishing structure and says users should not directly work with the target.

New behavior which seems acceptable:

image

PR Context

PR Checklist

@iSazonov

Ilya (iSazonov) commented Sep 3, 2021

Copy link
Copy Markdown
Collaborator

Is IO_REPARSE_TAG_APPEXECLINK const itself public?

I think we could add this to docs so that exclude requests from users.

@iSazonov Ilya (iSazonov) added CL-General Indicates that a PR should be marked as a general cmdlet change in the Change Log Documentation Needed in this repo Documentation is needed in this repo labels Sep 3, 2021
@vexx32

Copy link
Copy Markdown
Collaborator

Rather than a blank target, maybe we could insert a token such as <AppExeLink> to indicate what it is, so that at least users have that information and don't try to work with it like a normal symlink?

@iSazonov

Copy link
Copy Markdown
Collaborator

Really there can be many reparse point tags for which .Net API return null target. So I think it is better to follow .Net API behavior.

See also dotnet/runtime#58233 (comment)

@SteveL-MSFT

Copy link
Copy Markdown
Member Author

Ilya (@iSazonov) that const is in winnt.h:

image

@daxian-dbw Dongbo Wang (daxian-dbw) left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@ghost

Copy link
Copy Markdown

🎉v7.3.0-preview.1 has been released which incorporates this pull request.:tada:

Handy links:

@sba923

Copy link
Copy Markdown
Contributor

The side effect of this change is that one can no longer determine the VersionInfo for the AppX reparse point's target see now-broken code in my
whatis.zip

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Backport-7.2.x-Done CL-General Indicates that a PR should be marked as a general cmdlet change in the Change Log Documentation Needed in this repo Documentation is needed in this repo

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants