| Crates.io | package-family-name |
| lib.rs | package-family-name |
| version | 2.1.1 |
| created_at | 2023-12-05 10:17:00.452027+00 |
| updated_at | 2025-09-20 00:04:10.99714+00 |
| description | Library for calculating MSIX Package Family Name values. |
| homepage | |
| repository | https://github.com/russellbanks/package-family-name |
| max_upload_size | |
| id | 1058489 |
| size | 45,974 |
A Rust library for calculating MSIX Package Family Name values.
This is a #![no_std] library.
Every MSIX application has a package family name value, which looks a bit like AppName_zj75k085cmj1a. This value can
easily be found by running Get-AppxPackage <name> in PowerShell for an installed MSIX package and scrolling to
PackageFullName.
However, we can work out a package family name value without needing to install the package at all. That's where this library comes into play.
Add this to your Cargo.toml:
[dependencies]
package-family-name = "2"
let package_family_name = PackageFamilyName::new("AppName", "Publisher Software"); // AppName_zj75k085cmj1a
In short, a package family name is made up of two parts:
AppName)Publisher Software)These steps are then taken:
AppName_zj75k085cmj1a)Whilst this is a niche library, there are use cases. For example, when submitting an MSIX package to winget-pkgs, a package family name value is a required as part of the manifest.
@marcinotorowski has produced a step by step explanation of how to calculate the hash part of the package family name. This post can be found here.
Licensed under either of:
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.