A WinGet manifest for
juntaki.YadoriLink, in the exact directory layout
microsoft/winget-pkgs requires
(manifests/j/juntaki/YadoriLink/<version>/) so a submission is a
directory copy into a winget-pkgs fork, not a reformat.
manifests/j/juntaki/YadoriLink/0.1.0/juntaki.YadoriLink.yaml— version manifestmanifests/j/juntaki/YadoriLink/0.1.0/juntaki.YadoriLink.installer.yaml— installer manifestmanifests/j/juntaki/YadoriLink/0.1.0/juntaki.YadoriLink.locale.en-US.yaml— default-locale manifest
All three target manifest schema v1.28.0 (the current schema in
microsoft/winget-cli's schemas/JSON/manifests/ as of this writing).
Not ready to submit. Two things block a real submission, and neither can be fixed by editing this manifest:
- No release exists yet.
juntaki/yadorilinkhas not cut its first tagged release (nov*tag, no GitHub Release) —InstallerUrlpoints at an asset path that doesn't exist yet, andInstallerSha256is a placeholder (000...0, obviously fake, chosen so a manifest built from this file by mistake fails loudly rather than silently). - The Windows Authenticode signing cert isn't configured yet.
oss-public/.github/workflows/release.yml'swindows-signed-artifactsjob requiresWINDOWS_CODE_SIGN_PFX_BASE64/_PASSWORDasrelease-signingEnvironment secrets (seeinstaller/RELEASE_SIGNING.md); as of this writing those two secrets are not present in that Environment (verified viagh api repos/juntaki/yadorilink/environments/release-signing/secrets— only the sevenMACOS_*secrets exist). Submitting an unsigned installer towinget-pkgsis against their policy and a real security downgrade for every WinGet user, so this genuinely has to wait.
Once both exist, .github/workflows/release.yml's beta-release job has a
"Record WinGet manifest inputs (no auto-submission)" step that prints the
exact scripts/ci/update-winget-manifest.sh invocation (version +
installer sha256) to the workflow run summary, for a maintainer to run by
hand. It deliberately does not run that script or commit the result
itself, and does not open the winget-pkgs PR either — same
"deliberate, separate, human-gated step" reasoning as "Submission" below:
a release workflow auto-committing generated files back to this repo, or
auto-opening a PR against a third party's repository, is exactly the kind
of unattended action this project's release-signing discipline (required
reviewers, no unattended production credentials) says should stay
human-gated.
- All three files are valid YAML and validate cleanly against the real
manifest.version.1.28.0.json/manifest.installer.1.28.0.json/manifest.defaultLocale.1.28.0.jsonJSON schemas fetched frommicrosoft/winget-cli(jsonschemaDraft7Validator, zero errors). - Not verified: the actual
winget validateCLI command, and winget-pkgs' own submission-pipeline checks (URL reachability, a real silent-install run in their sandbox).wingetis Windows-only and this environment has no Windows machine or WinGet CLI available. Runwinget validate --manifest <this directory>on a real Windows machine before submitting, in addition to the schema check above.
InstallerType: inno,Scope: machine,ElevationRequirement: elevationRequired—installer/windows/yadorilink.issalways installs to%ProgramFiles%\yadorilinkwithPrivilegesRequired=admin; these three fields tell WinGet to expect and request that elevation rather than assume a per-user install.ProductCode: '{6F2C6E0A-6E1D-4E62-9E9C-2F7B2C9D6A31}_is1'— Inno Setup's uninstall registry key is always<AppId>_is1, andyadorilink.iss'sAppIdis fixed ({6F2C6E0A-6E1D-4E62-9E9C-2F7B2C9D6A31}) specifically so upgrade detection is stable across versions — this is that same GUID, not an independently chosen one.InstallerSwitches.Silent/SilentWithProgressinclude/PACKAGEMANAGER=winget— this is the package-manager-ownership marker:yadorilink.iss'sGetPackageManagerParam/CurStepChangedreads this flag and writesInstallSource=wingettoHKLM\Software\yadorilink, whichinstall_windows::detect_package_manager_markerreads so the daemon's built-in updater defers towinget upgradeinstead of running its own installer over a WinGet-managed install — seemanager::dispatch_installincrates/yadorilink-daemon/src/update/manager.rsfor the full dispatch logic. This mechanism is unverified against a real WinGet install (no Windows machine in this environment) — matching this repo's existing honesty convention for Windows-only code paths (seeinstall_windows.rs's own header comment).
Opening the actual PR against microsoft/winget-pkgs is a deliberate,
separate step nothing in this repository takes automatically, for three
reasons: (1) the two blockers above mean there is nothing real to submit
yet; (2) Microsoft's own manifest/installer validation and human review
process is the actual gate, not something this repo can pre-empt; (3)
submitting a PR to a third party's repository from an unattended
automation is the kind of action this project's release-signing discipline
(required reviewers, no unattended production credentials) says should
stay human-gated. Once both blockers clear, submit by hand:
gh repo fork microsoft/winget-pkgs --clone
cp -r installer/windows/winget/manifests/j/juntaki/YadoriLink/<version> \
winget-pkgs/manifests/j/juntaki/YadoriLink/
cd winget-pkgs
git checkout -b juntaki-yadorilink-<version>
git add manifests/j/juntaki/YadoriLink/<version>
git commit -m "New version: juntaki.YadoriLink version <version>"
git push -u origin HEAD
gh pr create --repo microsoft/winget-pkgs --fill