Skip to content

Bootstrapper formatting bad DDLM package name in FindDDLMViaEnumeration() #5106

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 1 commit into from
Feb 6, 2025

Conversation

DrusTheAxe
Copy link
Member

Bootstrapper built bad DDLM package name in FindDDLMViaEnumeration() thus looking for DDLM packages named ...ddlm-version... rather than ...ddlm.version...

Local tests passed as they were named with dash (-) but product DDLMs are named with dot (.) causing toplevel tests using production packages to fail. Fixed the Bootstrapper and updated local tests to use naming consistent with product to prevent future confusion

Problem repro'd using nightly winappsdk nuget and locally built tests (manually running tests plus walking through debugger). Replaced the local tests' bootstrapper DLL with the fixed one built per this PR and verified success as expected (manually run tests plus walking through debugger).

This PR complements Reapply "Delegate to OS RegFreeWinRT when available (>=24H1) (#4728)" (#4935) #4949

NOTE: This change was previously in #4949 but lost through a bad merge.

…ooking for DDLM packages named ...ddlm-version... rather than ...ddlm.version... Local tests passed as they were named with dash but product DDLMs are named with . causing toplevel tests using production packages to fail. Fixed and updated local tests to use naming consistent with product to prevent future confusion
@DrusTheAxe DrusTheAxe added this to the 1.7 milestone Feb 6, 2025
@DrusTheAxe DrusTheAxe self-assigned this Feb 6, 2025
@DrusTheAxe DrusTheAxe changed the title Bootstrapper building bad DDLM package name in FindDDLMViaEnumeration() l… Bootstrapper formatting bad DDLM package name in FindDDLMViaEnumeration() Feb 6, 2025
@DrusTheAxe
Copy link
Member Author

/azp run

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

Copy link

@cwruss cwruss left a comment

Choose a reason for hiding this comment

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

LGTM

@DrusTheAxe DrusTheAxe merged commit 882cd4d into main Feb 6, 2025
26 checks passed
@DrusTheAxe DrusTheAxe deleted the user/drustheaxe-dyndep-for-want-of-a-dash-no-dot branch February 6, 2025 17:44
DrusTheAxe added a commit that referenced this pull request Feb 6, 2025
…ooking for DDLM packages named ...ddlm-version... rather than ...ddlm.version... Local tests passed as they were named with dash but product DDLMs are named with . causing toplevel tests using production packages to fail. Fixed and updated local tests to use naming consistent with product to prevent future confusion (#5106)
DrusTheAxe added a commit that referenced this pull request Feb 8, 2025
…ailable (>=24H1) (#5112)

* Reapply "Delegate to OS RegFreeWinRT when available (>=24H1) (#4728)" (#4935) (#4949)

* Reapply "Delegate to OS RegFreeWinRT when available (>=24H1) (#4728)" (#4935)

This reverts commit c088336.

* Added missing dependencies for OAuth2ManagerTests

* Expanded tests

* Modified IsSupported with temporary debugging hack to expedite testing. Added local hackery for Architectures=None (but is it needed?)

* Removed debug hackery

* Test fixes

* More test fiddling

* Microsoft.Windows.BadgeNotifications.Projection project is missing a build-order dependency on WindowsAppRuntime_DLL so depending on timing and beefy machine it can try to build before the dependency is built and boom :-(

* Removed redundant Import

* Fixed bad merge

* Fixed WinAppSDK framework package family name construction in GetFrameworkPackageFamilyName() [MddBootstrap.cpp]. This is used in production when delegating to OS DynDep but not when using WinAppSDK DynDep (and test support used different codepath). That's why test packages with blah-major.minor... package names worked in test and on Win10 but not when delegating to OS DynDep on Win11. Added additional test tools to aid verification and debugging (now and in any future changes).

* Fixed DevCheck -CheckDependencies if packages.config has no <package> elements. Ran DevCheck -SyncDependencies to update stale dependencies

* Fix test framework package Name from name-major.minor to name.major.minor

* Workaround Windows bug https://task.ms/54835001 where IsPackage*ReadyOrNewerAvailable() doesn't correctly handle ProcessorArchitectureFilter=None

* Ran devcheck -syncdependencies

* Fixed failing PackageManagementTests

* Updated dependnecies via DevCheck -SyncDependencies. Removed unused Microsoft.Windows.SDK.BuildTools and Microsoft.WindowsAppSDK references in WindowsAppRuntime_UniversalBGTaskDLL's packages.config. Removed dead readme.txt in WindowsAppRuntime_UniversalBGTaskDLL projectdir (artifact of VS File/NewProject...).

* Updated link to latest SDK rev

* Fixed dependencies (syntax and usage

* Put WindowsAppRuntime_UniversalBGTaskDLL back to what's in main. No idea why that works but changing it -- in what should be innocuous ways -- breaks local + pipeline builds. Deferring that problem to Will Thant in its own right (not relevant to my changes)

* Fixed hardcoded versions in OAuthTestApp.vcxproj (wasn't using version macro)

* Fixed more bad projects - Import Microsoft.Cpp.Default.props not at the top, .. pathing to nugets and hardwired nuget versions

* Fixed WindowsAppRuntime_UniversalBGTaskDLL - Import Microsoft.Cpp.Default.props not at top of file, not using $(NugetPackageDirectory) for pathing to nugets, hardwired versions for nugets, unnecessary Microsoft.WindowsAppSDK in packages.config

* Added -ShowSystemInfo (default=$true) to Testall so test run output includes basic system info

* Fixed up test Main+Singleton+DDLM naming/constants

* Fixed bug in package name constant

* Added missing project dependencies. Updated ConfigurationManager to build test packages on ARM64 too (some were only build for x64|x86)

* Fixed bad merge

* Fixed a bad merge

* Removed temporary debugging code

* Some test packages lacked ARM64 support, plus those and others weren't getting built for ARM64. And some projects built not-ARM64 for ARM64. Mostly fixed. Some test projects lack ARM64 support but not touched as not blocking here and overdue already; they can (and will) be handled in a separate follow up effort

* Fixed one more ARM configuration manager misconfiguration

---------

Co-authored-by: Kyaw Thant <[email protected]>

* Bootstrapper missed an update resulting in FindDDLMViaEnumeration() looking for DDLM packages named ...ddlm-version... rather than ...ddlm.version... Local tests passed as they were named with dash but product DDLMs are named with . causing toplevel tests using production packages to fail. Fixed and updated local tests to use naming consistent with product to prevent future confusion (#5106)

---------

Co-authored-by: Kyaw Thant <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants