malxau / yori

Yori is a CMD replacement shell that supports backquotes, job control, and improves tab completion, file matching, aliases, command history, and more.
http://www.malsmith.net/yori/
MIT License
1.24k stars 31 forks source link

Provide all installer options as command line arguments #101

Closed mavaddat closed 2 years ago

mavaddat commented 2 years ago

The ysetup.exe yori installer provides several options in its GUI that are not exposed as command line arguments or switches. This prevents unattended (non-interactive) installation with the full range of install preferences.

The GUI installer:

screenshot of `1.60` yori installer

The CLI installer:

.\ysetup.exe -?
Ysetup 1.60

Installs a basic Yori system.

YSETUP [-license] [directory]

Related Issues: #43 #11 #12 #21

mavaddat commented 2 years ago

Here are the ten options provided by the GUI installer (as a table somewhat corresponding to the UI layout):

Install Type Install Options
☑️ Install Core
Core includes the Yori shell and commands that are equivalent to those included in CMD
☑️ Install Desktop shortcut
☑️ Install Typical
Typical includes Core plus useful tools and utilities such as cvtvt, df, du, hash, hexdump iconv, lines, Isof, mount, nice, sdir, tail, tee, touch and which
☑️ Install Start Menu shortcut
☑️ Install Complete
Complete includes Typical plus a CMD version of for and clmp multiprocessor compiler wrapper
☑️ Install Windows Terminal profile
☑️ Add Yori to system path
☑️ Add Yori to user path
☑️ Install source code
☑️ Install debugging symbols Q Register uninstall handler
malxau commented 2 years ago

Heh, as luck would have it I wrote this last weekend and just pushed it now, before seeing your message.

The new installer has a TUI which mirrors the GUI.

The CLI options have been expanded to be fully descriptive of their GUI counterparts:

Ysetup 1.60

Installs a basic Yori system.

YSETUP [-license] [-core|-typical|-complete] [-desktop] [-gui] [-source]
       [-start] [-symbols] [-systempath] [-terminal] [-text] [-uninstall]
       [-userpath] [directory]

   -gui           Use graphical installer (default)
   -text          Use text installer

   -core          Install minimal components.
   -typical       Install typical components.
   -complete      Install all components.

   -desktop       Install a desktop shortcut.
   -source        Install source code.
   -start         Install a start menu shortcut.
   -symbols       Install debugging symbols.
   -systempath    Add path to the system path.
   -terminal      Install Windows Terminal profile.
   -uninstall     Install an uninstall entry.
   -userpath      Add path to the user path.