Endpoint/Defaults/Eigenverft/NotepadPlusPlus.json

{
  "$schema": "../../../Schema/PackageDefinition/eigenverft-module-package-definition-1.8.schema.json",
  "schemaVersion": "1.8",
  "definitionPublication": {
    "publisherId": "Eigenverft",
    "publisherName": "Eigenverft",
    "definitionId": "NotepadPlusPlus",
    "definitionRevision": 3,
    "publishedAtUtc": "2026-05-28T12:00:00Z",
    "definitionSignature": {
      "kind": "signed",
      "format": "embedded-json-rsa-sha256-v1",
      "signedContent": "canonicalDefinitionExcludingSignatureValue",
      "keyThumbprint": "F51EBE1F899A693128330CCAFE9E1329CA4510CC",
      "signerDisplayName": "Eigenverft Package Catalog Signing",
      "certificateSubject": "CN=Eigenverft Package Catalog Signing, O=Eigenverft, OU=Package Catalog",
      "certificatePem": "-----BEGIN CERTIFICATE-----\r\nMIIEeTCCAuGgAwIBAgIIKol+V7w5VAwwDQYJKoZIhvcNAQELBQAwXDEYMBYGA1UE\r\nCxMPUGFja2FnZSBDYXRhbG9nMRMwEQYDVQQKEwpFaWdlbnZlcmZ0MSswKQYDVQQD\r\nEyJFaWdlbnZlcmZ0IFBhY2thZ2UgQ2F0YWxvZyBTaWduaW5nMB4XDTI2MDUyNjE3\r\nMDYyMFoXDTM2MDUyNzE3MDYyMFowXDEYMBYGA1UECxMPUGFja2FnZSBDYXRhbG9n\r\nMRMwEQYDVQQKEwpFaWdlbnZlcmZ0MSswKQYDVQQDEyJFaWdlbnZlcmZ0IFBhY2th\r\nZ2UgQ2F0YWxvZyBTaWduaW5nMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKC\r\nAYEAy74Y0qaGfXBpOhivaSkusxGbSTYxSM3XS63ZndgsJe1GFfbuxfoOgq4Qe9Ll\r\nDw/2lvtToiNeZy08mnVp+NJE9qJUGESZDNoHkR2BniaPW5AlEtTnsclDlbkpuJyG\r\nW4AIUD7Q4ZO+HDy8N/UTmhG0j1p69Q5eXvonkDt62Md7J24C8UXr4nSk13jFo7+Z\r\nBVln3lGes2CK+OYGF/XT3oYEXZRBTW34cobaYbNPGmLm9L+D0UArm0bMrbpRkatP\r\nH1FT6zt4DVQpb1yb3TJKKwuJEdGFPwrRb1SvV7Ni+SJZcGZyHL9KxXlJ5Vg6sfVh\r\nGUu32qmNs8YHfaelPDgWSV4pDX7nyOp1xUud3nBhCHoFcovc21UCTjVUdUfJEBKU\r\ngZkJ76CobCBrNCXImkUe7h2uSxH4MVoyiciEdjuek1l2dI2MxeaqtljKi3dg8QgM\r\nWCOo3I4wQEku4QXAKGZBR3Od40jeBxdOJIIa4OuXcc/MXJZjKOi4OXyncZwf93Vb\r\niNkBAgMBAAGjPzA9MAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgeAMB0GA1Ud\r\nDgQWBBQQy2kfDvCtojoANV2gIE6JLPhm4TANBgkqhkiG9w0BAQsFAAOCAYEAAU35\r\nPuA16j1nKX4ADmZEi77ho+73XhXXT6YRzo+8iVfx5B/VzJCaEsWzjg1qoPWV+QhY\r\nh3Jrd38pZNBiaTeSCu6f0H7jbjBfHlhOD5878OpJSXe35BG54SQyyAIsw6nAr+AT\r\n9YaQppDrAq/psrPaFVl+70s6uMnop+EDd717eifkSORZO303PraoIn1ZHNcAN5iN\r\n+cSCSp3HBpFjau+X0565543Z6O7OgSeHa6rFyxxGfgphZDMdDbKxx46lZGBeUx/B\r\npgSyxnp3Xgtfp0hpvwAM5rx+um2bDm1XsfCLiXjlN/zdgXneMWaK35KqXSs0EfBy\r\nlhDBIcRCjoA1AbKb0FzoE+oNapzf9NwJGXiuzz6WK0YW4ZP0p2o3xdJDuLNm9dtg\r\n9+53GuSu0GX6e2yl+0H0RafglvJgW7iGVl1ILyy2J9vVCrkL/T0UBrIuQNwJqE0H\r\nX6JfdAlppMDBhmJzm9yHWFwob8IygH59Xqmm0dVqzPhlck1Sm4KmZZ18aWMw\r\n-----END CERTIFICATE-----",
      "signedAtUtc": "2026-05-28T18:11:09.9917891Z",
      "signatureValue": "aHqIez7p7GtbKrCclhgWYE0g+EvWoWmnpO/hf0BiD3Ipp4Crkc9u20epgYg9S7QWNdh/r8OVw1VsxkjR0wUiXVHVbposqPcVXKhbaEo9GORjGSXlcYCzOMjEFD6EV2jXQdz/ZFPFGZgs8Gh9JjUxrPPYg9A7L7goruArSyWDplMJUDKGRuvDLwqyUy58hATCez7c+/7bZVQmgr6Gxjuk5FnLiSDiZSVleEl0/7ZcvsZ232OPlDjNEOX476i+I4WO5av2NtimFJUSHM1rgK3Nvxj26zcZP90abIZ3OlapbAqthWQqvf1o2NctQFSVCPHXxe+nn89O7DBTC1j0X8ou2l/xlfmzvEDihfLQxyp4m1jH6bKtrC1nr33+Q2c884l63rP2FenbJdQ9eXM2O6VcH11ibc/awjLwKkey6IlhdxVwVPI16+GQVsnqGL4Q7mPTD0wAUY/YeswTHzaX74D6kywdK/XoS61iJz0t6LB1T0dGU2EO4JbJUwLha8SdlbzW"
    }
  },
  "display": {
    "default": {
      "name": "Notepad++",
      "publisher": "Notepad++ Team",
      "corporation": "NOTEPAD++",
      "summary": "Windows text and source-code editor"
    }
  },
  "dependencies": [],
  "artifacts": {
    "targets": [
      {
        "id": "NotepadPlusPlus-win-x64-stable",
        "releaseTrack": "stable",
        "artifactDistributionVariant": "win-x64",
        "constraints": {
          "os": [
            "windows"
          ],
          "cpu": [
            "x64"
          ]
        },
        "versionSelection": {
          "strategy": "latestByVersion",
          "allowPrerelease": false
        },
        "fileNameTemplate": "npp.{version}.Installer.x64.exe",
        "acquisitionCandidates": [
          {
            "kind": "packageDepot",
            "searchOrder": 100,
            "verification": {
              "mode": "required"
            }
          },
          {
            "kind": "vendorDownload",
            "sourceId": "notepadPlusPlusGitHubRelease",
            "sourcePath": "v{version}/npp.{version}.Installer.x64.exe",
            "searchOrder": 900,
            "verification": {
              "mode": "required"
            }
          }
        ]
      },
      {
        "id": "NotepadPlusPlus-win-arm64-stable",
        "releaseTrack": "stable",
        "artifactDistributionVariant": "win-arm64",
        "constraints": {
          "os": [
            "windows"
          ],
          "cpu": [
            "arm64"
          ]
        },
        "versionSelection": {
          "strategy": "latestByVersion",
          "allowPrerelease": false
        },
        "fileNameTemplate": "npp.{version}.Installer.arm64.exe",
        "acquisitionCandidates": [
          {
            "kind": "packageDepot",
            "searchOrder": 100,
            "verification": {
              "mode": "required"
            }
          },
          {
            "kind": "vendorDownload",
            "sourceId": "notepadPlusPlusGitHubRelease",
            "sourcePath": "v{version}/npp.{version}.Installer.arm64.exe",
            "searchOrder": 900,
            "verification": {
              "mode": "required"
            }
          }
        ]
      }
    ],
    "releases": [
      {
        "version": "8.9.6",
        "releaseTracks": [
          "stable"
        ],
        "targetArtifacts": {
          "NotepadPlusPlus-win-x64-stable": {
            "artifactId": "notepad-plus-plus-8.9.6-win-x64",
            "contentHash": {
              "algorithm": "sha256",
              "value": "2ff794611c96ebbeb116ecd1ca4b97183435287bf7c24eef96c4fe2b11e5b8a0"
            },
            "publisherSignature": {
              "kind": "authenticode",
              "requireValid": true,
              "subjectContains": "NOTEPAD++"
            }
          },
          "NotepadPlusPlus-win-arm64-stable": {
            "artifactId": "notepad-plus-plus-8.9.6-win-arm64",
            "contentHash": {
              "algorithm": "sha256",
              "value": "75ac9c66ee33d673ac3f7185386d2559547bb8ee9acb62adac9815445042ea3c"
            },
            "publisherSignature": {
              "kind": "authenticode",
              "requireValid": true,
              "subjectContains": "NOTEPAD++"
            }
          }
        }
      },
      {
        "version": "8.9.4",
        "releaseTracks": [
          "stable"
        ],
        "targetArtifacts": {
          "NotepadPlusPlus-win-x64-stable": {
            "artifactId": "notepad-plus-plus-8.9.4-win-x64",
            "contentHash": {
              "algorithm": "sha256",
              "value": "f3629f500d0754d8e870255fff0e00384a37f5402d6f3ad8dd1f4f67d707b593"
            },
            "publisherSignature": {
              "kind": "authenticode",
              "requireValid": true,
              "subjectContains": "NOTEPAD++"
            }
          },
          "NotepadPlusPlus-win-arm64-stable": {
            "artifactId": "notepad-plus-plus-8.9.4-win-arm64",
            "contentHash": {
              "algorithm": "sha256",
              "value": "7d59f0c62caa4d2366f900ca8169fb37cf1dcfce5c79cb3ccb08089b1adbc91"
            },
            "publisherSignature": {
              "kind": "authenticode",
              "requireValid": true,
              "subjectContains": "NOTEPAD++"
            }
          }
        }
      }
    ],
    "sources": {
      "notepadPlusPlusGitHubRelease": {
        "kind": "download",
        "baseUri": "https://github.com/notepad-plus-plus/notepad-plus-plus/releases/download/"
      }
    }
  },
  "discovery": {
    "presence": {
      "files": [
        "notepad++.exe"
      ],
      "directories": [],
      "commands": [],
      "apps": [
        {
          "name": "notepad++",
          "relativePath": "notepad++.exe",
          "requiredForState": true,
          "exposeApp": true
        }
      ],
      "metadataFiles": [],
      "signatures": [
        {
          "relativePath": "notepad++.exe",
          "requireValid": true,
          "subjectContains": "NOTEPAD++"
        }
      ],
      "fileDetails": [
        {
          "relativePath": "notepad++.exe",
          "productName": "Notepad++",
          "fileDescription": "Notepad++",
          "fileVersion": "{version}",
          "productVersion": "{version}"
        }
      ],
      "registry": [],
      "powerShellModules": []
    },
    "existingInstall": {
      "enabled": true,
      "searchLocations": [
        {
          "id": "notepadPlusPlusUninstallRegistry",
          "kind": "windowsUninstallRegistryKey",
          "searchOrder": 100,
          "paths": [
            "HKLM:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Notepad++"
          ],
          "installDirectorySource": "displayIconDirectory"
        }
      ],
      "installRootRules": []
    }
  },
  "packageOperations": {
    "policy": {
      "ownershipPolicy": {
        "allowAdoptExternal": true,
        "upgradeAdoptedInstall": false,
        "requirePackageOwnership": false
      },
      "compatibility": {
        "checks": [
          {
            "kind": "osVersion",
            "operator": ">=",
            "value": "10.0"
          }
        ]
      }
    },
    "assigned": {
      "install": {
        "kind": "nsisInstaller",
        "installDirectory": "notepad-plus-plus/{releaseTrack}/{version}/{artifactDistributionVariant}",
        "installerKind": "nsis",
        "uiMode": "silent",
        "elevation": "none",
        "timeoutSec": 300,
        "commandArguments": [
          "/S",
          "/noUpdater",
          "/closeRunningNpp"
        ],
        "targetDirectoryArgument": {
          "enabled": true,
          "prefix": "/D="
        },
        "successExitCodes": [
          0
        ],
        "restartExitCodes": []
      },
      "readyStateCheck": {
        "use": "discovery.presence",
        "expectedVersion": "{version}",
        "require": {
          "files": true,
          "directories": false,
          "commands": false,
          "apps": true,
          "metadataFiles": false,
          "signatures": true,
          "fileDetails": true,
          "registry": false,
          "powerShellModules": false
        }
      },
      "pathRegistration": {
        "mode": "none"
      },
      "versionUpdatePolicy": {
        "whenAssigned": "trackSelectedVersion",
        "onSameSelectedVersion": "reuseOrRepair",
        "onNewSelectedVersion": "replacePackageOwnedInstall"
      }
    },
    "removed": {
      "policy": {
        "whenNotInInventory": "succeed",
        "allowedInventoryOwnershipKinds": [
          "PackageInstalled",
          "AdoptedExternal"
        ],
        "allowUntrackedExternalRemoval": false,
        "removeDependencies": false
      },
      "operation": {
        "kind": "nsisUninstaller",
        "commandSource": {
          "use": "discovery.existingInstall",
          "searchLocationId": "notepadPlusPlusUninstallRegistry",
          "registryValueOrder": [
            "QuietUninstallString",
            "UninstallString"
          ]
        },
        "commandArguments": [
          "/S"
        ],
        "elevation": "auto",
        "timeoutSec": 300,
        "successExitCodes": [
          0
        ],
        "restartExitCodes": [],
        "uiMode": "silent"
      },
      "absenceVerification": {
        "use": "discovery.presence",
        "require": {
          "files": true,
          "directories": false,
          "commands": true,
          "apps": false,
          "metadataFiles": false,
          "signatures": false,
          "fileDetails": false,
          "registry": false,
          "powerShellModules": false
        }
      },
      "postRemoveCleanup": {
        "packageInventoryRecord": true,
        "generatedShims": true,
        "pathEntries": true,
        "workDirectories": true
      }
    }
  }
}