Trenly / winget-pkgs

The Microsoft community Windows Package Manager manifest repository
MIT License
3 stars 0 forks source link

Check for ProductCode if url does not end with .msi #150

Open OfficialEsco opened 2 years ago

OfficialEsco commented 2 years ago

Moving the issue here so we don't clutter the other thread 😁

However, it is checked to see if the extension is MSI to determine whether or not to check for the ProductCode

Hmm, shouldn't this also be based on the InstallerType then? if Extension or InstallerType eq msi or eq wix check for ProductCode?

It is, but the automatic installer type detection is what this kind of determines. If the filetype is automatically determined to be a .msi then it will automatically select either msi or wix without asking for input, same with msix or appx.

Try to determine file extension from URL
If file extension is msi, msix, or appx, automatically select the installer type
   Else - Ask for user input
If installer type is ____ do _____ 
   * msi/wix automatically get product code
   * msix/appx automatically try to get PFN
   * etc

Originally posted by @Trenly in https://github.com/Trenly/winget-pkgs/issues/148#issuecomment-1031535540

Selection: 1

[Required] Enter the Package Identifier, in the following format <Publisher shortname.Application shortname>. For example: Microsoft.Excel
PackageIdentifier: Microsoft.RemoteDesktopClient

[Required] Enter the version. for example: 1.33.7
Version: 1.2.2688.1
Found Existing Version: 1.2.2688.0

[Required] Enter the download url to the installer.
Url: https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RWQvmX

Downloading URL. This will take a while...
Time taken: 0 second(s)

[Required] Enter the architecture. Options: x86, x64, arm, arm64, neutral
Architecture: x64

[Required] Enter the InstallerType. Options: msix, msi, appx, exe, zip, inno, nullsoft, wix, burn, pwa
InstallerType: wix

[Optional] Enter the silent install switch. For example: /S, -verysilent, /qn, --silent, /exenoui
Silent switch:

[Optional] Enter the silent with progress install switch. For example: /S, -silent, /qb, /exebasicui
Silent with progress switch:

[Optional] Enter any custom switches for the installer. For example: /norestart, -norestart
Custom Switch:

[Optional] Enter the installer locale. For example: en-US, en-CA
https://docs.microsoft.com/openspecs/office_standards/ms-oe376/6c085406-a698-4e12-9d4d-c3b0ee3dbc4a
InstallerLocale:

[Optional] Enter the application product code. Looks like {CF8E6E00-9C03-4440-81C0-21FACB921A6B}
ProductCode found from installer:
Can be found with get-wmiobject Win32_Product | Sort-Object Name | Format-Table IdentifyingNumber, Name -AutoSize
ProductCode:

So, you're saying the Automatic detection needs to detect it and the manual entry does not trigger it? That means it will not check for a ProductCode if the url does not end with .msi even when the InstallerType is defined as msi or wix

Trenly commented 2 years ago

So, you're saying the Automatic detection needs to detect it and the manual entry does not trigger it? That means it will not check for a ProductCode if the url does not end with .msi even when the InstallerType is defined as msi or wix

I mean that it SHOULD still try to detect it when the installer type is defined even if the filetype doesn't match. I don't know why it wasn't but the PR should fix it