Skip to content

PublishSingleFile dll and resources.pri redirection support #4067

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
Jan 16, 2024

Conversation

Scottj1s
Copy link
Member

@Scottj1s Scottj1s commented Jan 6, 2024

PublishSingleFile creates a self-extracting exe that deposits embedded files into a temporary folder. As noted in #2597, this causes dll SxS redirection issues, as well as resources.pri lookup issues. The support here (which requires coordinated changes in aggregator) sets a base directory env var, which is used to configure the generated self-contained app.manifest entries to enable custom SxS redirection via the undocumented loadFrom attribute, e.g.:
<asmv3:file name="microsoft.ui.xaml.dll" loadFrom="%MICROSOFT_WINDOWSAPPRUNTIME_BASE_DIRECTORY%microsoft.ui.xaml.dll">

@Scottj1s
Copy link
Member Author

Scottj1s commented Jan 6, 2024

fixes #2597

@Scottj1s
Copy link
Member Author

/azp run

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@Scottj1s
Copy link
Member Author

/azp run

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

Copy link
Contributor

Choose a reason for hiding this comment

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

These changes to UndockedRegFreeWinRT -- do we know that the Windows implementation behaves the same way? (on all supported platforms)

Copy link
Member Author

Choose a reason for hiding this comment

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

Yes, I've tested with SystemRegFreeWinRT as well (disabling UndockedRegFreeWinRT)

auto locale = _create_locale(LC_ALL, "C");
// Using this pattern intead of calling multiple MoveToAttributeByName improves performance
Copy link
Contributor

Choose a reason for hiding this comment

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

Typo: "instead"

auto locale = _create_locale(LC_ALL, "C");
// Using this pattern intead of calling multiple MoveToAttributeByName improves performance
HRESULT hr = xmlReader->MoveToFirstAttribute();
Copy link
Contributor

Choose a reason for hiding this comment

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

Presumably, since we change the way we parse things here, we could possibly make a 1.4 app that was working fine fail at runtime when built with 1.5, correct? I'm not saying I see such a problem, I'm just trying to make sure I understand the stakes.

Copy link
Member Author

Choose a reason for hiding this comment

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

Yes, in theory

@Scottj1s Scottj1s merged commit d380341 into main Jan 16, 2024
@Scottj1s Scottj1s deleted the scottj1s/singlefile branch January 16, 2024 23:50
kythant added a commit that referenced this pull request Jan 18, 2024
bpulliam pushed a commit that referenced this pull request Jan 18, 2024
…4089)

* Revert "PublishSingleFile dll and resources.pri redirection support (#4067)"

This reverts commit d380341.

* PublishPackage to true

* Revert "PublishPackage to true"

This reverts commit be3feca.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants