Skip to content
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

[Package Issue]: Microsoft.EdgeWebView2Runtime #196237

Open
2 tasks done
affinis-mcs opened this issue Dec 4, 2024 · 3 comments
Open
2 tasks done

[Package Issue]: Microsoft.EdgeWebView2Runtime #196237

affinis-mcs opened this issue Dec 4, 2024 · 3 comments
Labels
Help-Wanted This is a good candidate work item from the community. Issue-Bug It either shouldn't be doing this or needs an investigation. Package-Metadata

Comments

@affinis-mcs
Copy link

Please confirm these before moving forward

  • I have searched for my issue and not found a work-in-progress/duplicate/resolved issue.
  • I have not been informed if the issue is resolved in a preview version of the winget client.

Category of the issue

Other

Brief description of your issue

The value of the "ProductCode" Field in the Microsoft.EdgeWebView2Runtime.installer.yaml is no valid MSI Product Code:

Image

https://learn.microsoft.com/en-us/windows/win32/msi/product-codes

This Product Code will be written to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall and is used to detect/uninstall applications by Software Management Systems.

So if there is no Product Code, or you don´t know it, please delete the field. We get an "application not found" after installation from our Software Management System because of this.

Steps to reproduce

no text

Actual behavior

no text

Expected behavior

no text

Environment

no text

Screenshots and Logs

no text

@affinis-mcs affinis-mcs added the Issue-Bug It either shouldn't be doing this or needs an investigation. label Dec 4, 2024
@microsoft-github-policy-service microsoft-github-policy-service bot added the Needs-Triage This work item needs to be triaged by a member of the core team. label Dec 4, 2024
@stephengillie stephengillie added Help-Wanted This is a good candidate work item from the community. Package-Metadata and removed Needs-Triage This work item needs to be triaged by a member of the core team. labels Dec 6, 2024
@SpecterShell
Copy link
Contributor

The value of the "ProductCode" Field in the Microsoft.EdgeWebView2Runtime.installer.yaml is no valid MSI Product Code:

The installer used in this manifest is not MSI-based. Non-MSI installers can simply use any form of ProductCode, not necessarily GUID.

This Product Code will be written to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall and is used to detect/uninstall applications by Software Management Systems.

The ARP entry would be written to HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{ProductCode} for a 32-bit MSI (and for non-MSI it could also be in HKCU)

In this case, the installer writes the ARP entry to HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\Microsoft EdgeWebView. The installers of recent versions appear to install the program as a component by adding a DWORD value SystemComponent to that key, so after upgrading it will disappear from "Apps and Features", and WinGet will also ignore this program.

@affinis-mcs
Copy link
Author

affinis-mcs commented Dec 6, 2024

Thanks for the explanation, I have only used the product code in connection with MSI so far. The documentation for a Winget Manifest also refers to MSI in the product code field:

https://learn.microsoft.com/en-us/windows/package-manager/package/manifest?tabs=minschema%2Cversion-example#tips-and-best-practices

Package installers in MSI format use [product codes](https://learn.microsoft.com/en-us/windows/win32/msi/product-codes) to uniquely identify applications. The product code for a given version of a package should be included in the manifest to help ensure the best upgrade

I think product code in connection with EXE leads to confusion.

We use Nerdio for managing our AVD Environment and the Software within and the used Product Code will lead the Detection after Installation to "not found":

Image

If i try to import the Webview to our private Winget Repo via Nerdio, i will get a Warning:

Image

As this is not an MSI, can the product code field be removed?

@SpecterShell
Copy link
Contributor

WinGet can match the program by either the UpgradeCode (for MSI), ProductCode or the package name, so I don't think removing the ProductCode field in your screenshot would have negative effects on matching the EdgeWebView package as WinGet can still rely on the package name for matching, although the package might still be ignored due to the reasons I mentioned before.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Help-Wanted This is a good candidate work item from the community. Issue-Bug It either shouldn't be doing this or needs an investigation. Package-Metadata
Projects
None yet
Development

No branches or pull requests

3 participants