Skip to content

Conversation

@SteveL-MSFT
Copy link
Member

@SteveL-MSFT SteveL-MSFT commented Sep 2, 2021

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
Copy link
Collaborator

iSazonov commented Sep 3, 2021

Is IO_REPARSE_TAG_APPEXECLINK const itself public?

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

@iSazonov 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
Collaborator

vexx32 commented Sep 3, 2021

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
Collaborator

iSazonov commented Sep 3, 2021

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
Member Author

@iSazonov that const is in winnt.h:

image

Copy link
Member

@daxian-dbw daxian-dbw left a comment

Choose a reason for hiding this comment

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

LGTM

@ghost
Copy link

ghost commented Dec 16, 2021

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

Handy links:

TrapGodBrim pushed a commit to TrapGodBrim/PowerShell that referenced this pull request Jan 19, 2022
@sba923
Copy link
Contributor

sba923 commented Feb 7, 2022

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