Skip to content

Commit f51976a

Browse files
committed
Update README.md with new guidance and markdownlint fixes
1 parent 51eead7 commit f51976a

1 file changed

Lines changed: 53 additions & 45 deletions

File tree

README.md

Lines changed: 53 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11

2-
# Welcome to the Windows Package Manager Manifest Creator repository.
2+
# Windows Package Manager Manifest Creator (WinGet-Create)
33

44
This repository contains the source code for the Windows Package Manager Manifest Creator. The Windows Package Manager Manifest Creator is designed to help generate or update manifest files for the [Community repo](https://github.com/microsoft/winget-pkgs).
55

@@ -13,16 +13,29 @@ Developers will use this tool to submit their applications for use with the [Win
1313

1414
For your convenience, **WingetCreate** can be acquired a number of ways.
1515

16-
### Install from the github repo
17-
18-
The **Windows Package Manager Manifest Creator** is available for download from the [winget-create](https://github.com/microsoft/winget-create/releases) repository. To install the package, simply click the the MSIX file in your browser. Once it has downloaded, click open.
19-
2016
### Install with Windows Package Manager
2117

18+
Simply run the following command in a command prompt or PowerShell window:
19+
2220
```powershell
2321
winget install wingetcreate
2422
```
2523

24+
### Install from the GitHub repository
25+
26+
The **Windows Package Manager Manifest Creator** is available for download from the [winget-create](https://github.com/microsoft/winget-create/releases) repository. To install the package, download the MSIXBundle package from the release assets. Once it has downloaded, you can simply double-click the file to install it. Alternatively, you can use PowerShell to install the package using the following command:
27+
28+
```powershell
29+
Add-AppxPackage -Path <Path to the MSIXBundle file>
30+
```
31+
32+
There are also a couple shorthand vanity URLs available to get the latest version of the tool.
33+
34+
- Latest portable package: <https://aka.ms/wingetcreate/latest>
35+
- Latest MSIX package: <https://aka.ms/wingetcreate/latest/msixbundle>
36+
37+
### Community maintained options
38+
2639
### Install with [Scoop](https://scoop.sh/)
2740

2841
```powershell
@@ -38,6 +51,7 @@ choco install wingetcreate
3851
## Build status
3952

4053
[![Build Status](https://microsoft.visualstudio.com/Apps/_apis/build/status%2FADEX%2Fwinget-create%20Release?repoName=microsoft%2Fwinget-create&branchName=main)](https://microsoft.visualstudio.com/Apps/_build/latest?definitionId=64953&repoName=microsoft%2Fwinget-create&branchName=main)
54+
4155
## Using Windows Package Manager Manifest Creator
4256

4357
**WingetCreate** has the following commands:
@@ -52,41 +66,42 @@ choco install wingetcreate
5266
| [Show](doc/show.md) | Command for displaying existing manifests |
5367
| [Token](doc/token.md) | Command for managing cached GitHub personal access tokens |
5468
| [Settings](doc/settings.md) | Command for editing the settings file configurations |
55-
| [Cache](doc/cache.md) | Command for managing downloaded installers stored in cache
69+
| [Cache](doc/cache.md) | Command for managing downloaded installers stored in cache |
5670
| [Info](doc/info.md) | Displays information about the client |
5771
| [-?](doc/help.md) | Displays command line help |
5872

5973
Click on the individual commands to learn more.
6074

61-
## Using Windows Package Manager Manifest Creator in a CI/CD pipeline
75+
## Using WinGet-Create to publish latest manifest to the WinGet Community repository
6276

63-
You can use WingetCreate to update your existing app manifest as part of your CI/CD pipeline. For reference, see the final task in this repo's [release Azure pipeline](https://github.com/microsoft/winget-create/blob/main/pipelines/azure-pipelines.release.yml). If you are utilizing GitHub Actions as your CI pipeline, you can refer to the following repositories that have implemented WingetCreate within their release pipelines:
77+
You can use WingetCreate to update an existing WinGet manifest as part of your CI/CD pipeline. Please note that this requires you to have an existing manifest on the community repository before you can utilize the update pipeline. If you don't have a manifest for your package yet, you can use the [New Command](doc/new.md) to create one & submit it to the community repository.
78+
79+
You can view the [GitHub action](.github/workflows/publish.yml) utilized by this repository to publish the latest release of WinGet-Create to the Windows Package Manager Community repository. For reference, you may also see the following GitHub repositories that utilize a similar approach to update their manifests:
6480

65-
- [DevHome](https://github.com/microsoft/devhome/blob/main/.github/workflows/winget-submission.yml)
6681
- [Oh-My-Posh](https://github.com/JanDeDobbeleer/oh-my-posh/blob/main/.github/workflows/winget.yml)
6782
- [PowerToys](https://github.com/microsoft/PowerToys/blob/main/.github/workflows/package-submissions.yml)
6883
- [Terminal](https://github.com/microsoft/terminal/blob/main/.github/workflows/winget.yml)
6984

7085
You can also check out this [episode of Open at Microsoft](https://learn.microsoft.com/en-us/shows/open-at-microsoft/wingetcreate-keeping-winget-packages-up-to-date) where we cover the same topic.
7186

72-
### Using the standalone exe:
87+
### Using the standalone exe
7388

74-
The latest version of the standalone exe can be found at https://aka.ms/wingetcreate/latest, and the latest preview version can be found at https://aka.ms/wingetcreate/preview, both of these require [.NET Runtime 6.0](https://dotnet.microsoft.com/en-us/download/dotnet/6.0) to be installed on the build machine. To install this on your build machine in your pipeline, you can include the following dotnet task:
89+
The latest version of the standalone exe can be found at <https://aka.ms/wingetcreate/latest>, and the latest preview version can be found at <https://aka.ms/wingetcreate/preview>, both of these require [.NET Runtime 8.0](https://dotnet.microsoft.com/en-us/download/dotnet/8.0) to be installed on the build machine. If your CI runs on GitHub actions, these dependencies would already be installed. For Azure DevOps, you can install the .NET Runtime using the `UseDotNet` task in your pipeline YAML file.
7590

7691
```yaml
7792
- task: UseDotNet@2
7893
displayName: 'Install .NET Runtime'
7994
inputs:
8095
packageType: sdk
81-
version: '6.x'
96+
version: '8.x'
8297
installationPath: '$(ProgramFiles)\dotnet'
8398
```
8499
85100
Or you can utilize a PowerShell task and run the following script.
86101
87102
```PowerShell
88103
Invoke-WebRequest https://dot.net/v1/dotnet-install.ps1 -OutFile dotnet-install.ps1
89-
.\dotnet-install.ps1 -Runtime dotnet -Architecture x64 -Version 6.0.13 -InstallDir $env:ProgramFiles\dotnet
104+
.\dotnet-install.ps1 -Runtime dotnet -Architecture x64 -Version 8.0.14 -InstallDir $env:ProgramFiles\dotnet
90105
```
91106

92107
> [!IMPORTANT]
@@ -99,9 +114,9 @@ To execute the standalone exe, add another PowerShell task to download and run t
99114
.\wingetcreate.exe update <packageId> -u $(packageUrls) -v $(manifestVersion) -t $(GITHUB_PAT)
100115
```
101116

102-
### Using the msixbundle:
117+
### Using the msixbundle
103118

104-
Windows Server 2022 now supports App Execution Aliases, which means the alias `wingetcreate` can be used to run the tool after installing the msixbundle. The latest version of the msixbundle can be found at https://aka.ms/wingetcreate/latest/msixbundle. Similar to the standalone exe steps, download the msixbundle, add the package, and run `wingetcreate` to update your manifest.
119+
Windows Server 2022 now supports App Execution Aliases, which means the alias `wingetcreate` can be used to run the tool after installing the msixbundle. The latest version of the msixbundle can be found at <https://aka.ms/wingetcreate/latest/msixbundle>. Similar to the standalone exe steps, download the msixbundle, add the package, and run `wingetcreate` to update your manifest.
105120

106121
> [!IMPORTANT]
107122
> Winget-Create has a dependency on the [C++ Runtime Desktop framework package](https://docs.microsoft.com/en-us/troubleshoot/developer/visualstudio/cpp/libraries/c-runtime-packages-desktop-bridge). Be sure to also download and install this package prior to installing wingetcreate as shown in the steps below.
@@ -111,15 +126,8 @@ Windows Server 2022 now supports App Execution Aliases, which means the alias `w
111126
# Download and install C++ Runtime framework package.
112127
iwr https://aka.ms/Microsoft.VCLibs.x64.14.00.Desktop.appx -OutFile $(vcLibsBundleFile)
113128
Add-AppxPackage $(vcLibsBundleFile)
114-
115-
# Download Winget-Create msixbundle, install, and execute update.
116-
iwr https://aka.ms/wingetcreate/latest/msixbundle -OutFile $(appxBundleFile)
117-
Add-AppxPackage $(appxBundleFile)
118-
wingetcreate update Microsoft.WingetCreate -u $(packageUrl) -v $(manifestVersion) -t $(GITHUB_PAT) --submit
119129
```
120130
121-
The CLI also supports creating or updating manifests with multiple installer URLs. You can either create new manifests with multiple installer nodes using the [New Command](doc/new.md) or update existing manifests with multiple installer URLs using the [Update Command](doc/update.md).
122-
123131
## GitHub Personal Access Token (classic) Permissions
124132
125133
When [creating your own GitHub Personal Access Token (PAT)](https://docs.github.com/en/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token) to be used with WingetCreate, make sure the following permissions are selected.
@@ -140,22 +148,22 @@ You can install the prerequisites in one of two ways:
140148
141149
1. Clone the repository
142150
2. Configure your system
143-
* Configure your system using the [configuration file](.config/configuration.winget). To run the configuration, use `winget configure .config/configuration.winget` from the project root or you can double-click the file directly from the file explorer.
144-
* Alternatively, if you already are running the minimum OS version, have Visual Studio installed, and have developer mode enabled, you may configure your Visual Studio directly via the .vsconfig file. To do this:
145-
* Open the Visual Studio Installer, select “More” on your product card and then "Import configuration"
146-
* Specify the .vsconfig file at the root of the repo and select “Review Details”
151+
- Configure your system using the [configuration file](.config/configuration.winget). To run the configuration, use `winget configure .config/configuration.winget` from the project root or you can double-click the file directly from the file explorer.
152+
- Alternatively, if you already are running the minimum OS version, have Visual Studio installed, and have developer mode enabled, you may configure your Visual Studio directly via the .vsconfig file. To do this:
153+
- Open the Visual Studio Installer, select “More” on your product card and then "Import configuration"
154+
- Specify the .vsconfig file at the root of the repo and select “Review Details”
147155

148156
#### Manual set up
149157

150-
* Windows 10 1709 (16299) or later
151-
* [Developer mode enabled](https://docs.microsoft.com/windows/uwp/get-started/enable-your-device-for-development) (optional)
152-
* [Visual Studio 2022](https://visualstudio.microsoft.com/downloads/)
153-
* Or use winget to install it ;) (although you may need to adjust the workloads via Tools -> Get Tools and Features...)
154-
* [Git Large File Storage (LFS)](https://git-lfs.github.com/)
155-
* The following workloads:
156-
* .NET Desktop Development
157-
* Universal Windows Platform Development
158-
* Windows 11 SDK (10.0.22000.0) (Tools -> Get Tools and Features -> Individual Components)
158+
- Windows 10 1709 (16299) or later
159+
- [Developer mode enabled](https://docs.microsoft.com/windows/uwp/get-started/enable-your-device-for-development) (optional)
160+
- [Visual Studio 2022](https://visualstudio.microsoft.com/downloads/)
161+
- Or use winget to install it ;) (although you may need to adjust the workloads via Tools -> Get Tools and Features...)
162+
- [Git Large File Storage (LFS)](https://git-lfs.github.com/)
163+
- The following workloads:
164+
- .NET Desktop Development
165+
- Universal Windows Platform Development
166+
- Windows 11 SDK (10.0.22000.0) (Tools -> Get Tools and Features -> Individual Components)
159167

160168
### Building
161169

@@ -169,23 +177,23 @@ Running unit and E2E tests are a great way to ensure that functionality is prese
169177

170178
### Testing Prerequisites
171179

172-
* Fork the [winget-pkgs-submission-test repository](https://github.com/microsoft/winget-pkgs-submission-test)
173-
* Fill out the test parameters in the `WingetCreateTests/Test.runsettings` file
174-
* `WingetPkgsTestRepoOwner`: The repository owner of the winget-pkgs-submission-test repo. (Repo owner must be forked from main "winget-pkgs-submission-test" repo)
175-
* `WingetPkgsTestRepo`: The winget-pkgs test repository. (winget-pkgs-submission-test)
180+
- Fork the [winget-pkgs-submission-test repository](https://github.com/microsoft/winget-pkgs-submission-test)
181+
- Fill out the test parameters in the `WingetCreateTests/Test.runsettings` file
182+
- `WingetPkgsTestRepoOwner`: The repository owner of the winget-pkgs-submission-test repo. (Repo owner must be forked from main "winget-pkgs-submission-test" repo)
183+
- `WingetPkgsTestRepo`: The winget-pkgs test repository. (winget-pkgs-submission-test)
176184

177-
* Set the solution wide runsettings file for the tests
178-
* Go to `Test` menu > `Configure Run Settings` -> `Select Solution Wide runsettings File` -> Choose your configured runsettings file
185+
- Set the solution wide runsettings file for the tests
186+
- Go to `Test` menu > `Configure Run Settings` -> `Select Solution Wide runsettings File` -> Choose your configured runsettings file
179187

180-
* Set up your github token:
181-
* __[Recommended]__ Run `wingetcreate token -s` to go through the Github authentication flow
182-
* Or create a personal access token with the `repo` permission and set it as an environment variable `WINGET_CREATE_GITHUB_TOKEN`. _(This option is more convenient for CI/CD pipelines.)_
188+
- Set up your github token:
189+
- **[Recommended]** Run `wingetcreate token -s` to go through the Github authentication flow
190+
- Or create a personal access token with the `repo` permission and set it as an environment variable `WINGET_CREATE_GITHUB_TOKEN`. _(This option is more convenient for CI/CD pipelines.)_
183191

184192
## Contributing
185193

186194
This project welcomes contributions and suggestions. Most contributions require you to agree to a
187195
Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us
188-
the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com. More
196+
the rights to use your contribution. For details, visit <https://cla.opensource.microsoft.com>. More
189197
information is available in our [CONTRIBUTING.md](/CONTRIBUTING.md) file.
190198

191199
When you submit a pull request, a CLA bot will automatically determine whether you need to provide

0 commit comments

Comments
 (0)