# 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.