40 lines
2.0 KiB
Markdown
40 lines
2.0 KiB
Markdown
# Cmder Installer
|
|
|
|
This repository was created as a wrapper around my favorite terminal emulator [Cmder](https://github.com/cmderdev/cmder).
|
|
|
|
The goal is to distribute it to [winget](https://docs.microsoft.com/en-us/windows/package-manager/) and make it available with the new Windows Package Manager. Cmder is a portable application, until winget can install .zip files we needed to create an installer to include the vendor resources.
|
|
|
|
## Instructions
|
|
|
|
### Prerequisites
|
|
|
|
1. The [latest release](https://github.com/cmderdev/cmder/releases) archive of Cmder.
|
|
1. [NSIS](https://nsis.sourceforge.io/Main_Page) installed.
|
|
|
|
### Steps for Installer
|
|
|
|
1. Clone the repository
|
|
1. Create the following directory structure.
|
|
1. .\mini\Versions\\**[FULL_VERSION_NUMBER]** e.g. 1.13.8.1106
|
|
1. .\full\Versions\\**[FULL_VERSION_NUMBER]** e.g. 1.13.8.1106
|
|
1. Download the release to the correct version path and extract here.
|
|
1. Edit VERSION Variable in the .nsi scripts. It's the first variable in the each file.
|
|
1. [Cmder-mini.nsi](https://github.com/edrohler/cmder-installer/blob/main/installer/mini/Cmder-mini.nsi)
|
|
1. [Cmder-full-msi](https://github.com/edrohler/cmder-installer/blob/main/installer/full/Cmder-full.nsi)
|
|
1. Launch NSIS.
|
|
1. Compile the scripts by navigating to the cloned repo.
|
|
1. Create a release in repository.
|
|
1. Add installer artifacts from script compilation to the release.
|
|
|
|
## Steps to Publish Winget Manifest
|
|
|
|
1. Create a new folder for version number under each installer payload e.g. (x.x.x.x).
|
|
1. Copy previous release manifests to new release folder.
|
|
1. Edit PackageVersion, InstallerUrl and [hash](https://docs.microsoft.com/en-us/windows/package-manager/winget/hash) with new release number. `winget has -f [FILENAME]`
|
|
1. Validate manifest with [validate](https://docs.microsoft.com/en-us/windows/package-manager/winget/validate). `winget validate --manifest [FILENAME]`
|
|
1. Create new branch for release.
|
|
1. Add release manifests.
|
|
1. Push changes to fork.
|
|
1. Squash merge into forked master.
|
|
1. Create pull request in winget-pkg upstream.
|