General Purpose WSL Distribution Installer & Launcher
- Windows 10 1709 Fall Creators Update 64bit or later.
- Windows Subsystem for Linux feature is enabled.
Alpine Linux with Git-LFS and Sphinx (by binarylandscapes)
Amazon Linux 2 (by yosukes-dev)
Artix Linux (by hdk5)
Clear Linux (by wight554)
Fedora (by yosukes-dev)
Red hat(UBI) (by yosukes-dev)
Void Linux (glibc) (by am11)
Void Linux (musl-libc) (by am11)
Exe filename is using to the instance name to register. If you rename it, you can register with a different name.
(Ex:Rename to Arch.exe if you want to use "Arch" for the Instance name)
Note: You can distribute your distribution including wsldl exe.
Usage :
<no args>
- Open a new shell with your default settings.
run <command line>
- Run the given command line in that distro. Inherit current directory.
runp <command line (includes windows path)>
- Run the path translated command line in that distro.
config [setting [value]]
- `--default-user <user>`: Set the default user for this distro to <user>
- `--default-uid <uid>`: Set the default user uid for this distro to <uid>
- `--append-path <on|off>`: Switch of Append Windows PATH to $PATH
- `--mount-drive <on|off>`: Switch of Mount drives
get [setting]
- `--default-uid`: Get the default user uid in this distro
- `--append-path`: Get on/off status of Append Windows PATH to $PATH
- `--mount-drive`: Get on/off status of Mount drives
- `--lxguid`: Get WSL GUID key for this distro
backup [contents]
- `--tgz`: Output backup.tar.gz to the current directory using tar command
- `--reg`: Output settings registry file to the current directory
clean
- Uninstall the distro.
help
- Print this usage message.
>{InstanceName}.exe
[root@PC-NAME user]#
>{InstanceName}.exe run uname -r
4.4.0-43-Microsoft
>{InstanceName}.exe runp echo C:\Windows\System32\cmd.exe
/mnt/c/Windows/System32/cmd.exe
>{InstanceName}.exe config --default-user user
>{InstanceName}.exe
[user@PC-NAME dir]$
>{InstanceName}.exe clean
Use Developer Command Prompt for Visual Studio
or run these in the Windows Command Prompt
:: locate VS base installation path using vswhere
SET vswherePath=%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe
FOR /F "tokens=*" %i IN ('
"%vswherePath%" -latest -prerelease -products * ^
-requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64 ^
-property installationPath'
) DO SET vsBase=%i
:: initialize x64 build environment
CALL "%vsBase%\vc\Auxiliary\Build\vcvarsall.bat" x64
To compile Launcher.exe
cl /nologo /O2 /W4 /WX /Ob2 /Oi /Oy /Gs- /GF /Gy /Tc main.c /Fe:Launcher.exe Advapi32.lib Shell32.lib shlwapi.lib
Optionally, to add an icon to the exe, create and link a resource with
SET YourDistroName=Fedora
:: create resources
rc /nologo res\%YourDistroName%\res.rc
:: compile to %YourDistroName%.exe
cl /nologo /O2 /W4 /WX /Ob2 /Oi /Oy /Gs- /GF /Gy /Tc main.c /Fe:%YourDistroName%.exe ^
Advapi32.lib Shell32.lib shlwapi.lib res\%YourDistroName%\res.res
Install x86_64 version of MSYS2(https://www.msys2.org).
Run these commands in msys shell
$ pacman -S mingw-w64-x86_64-toolchain # install tool chain
$ gcc -std=c99 --static -lshlwapi main.cpp -o Launcher.exe # compile main.c
Optionally, to add an icon to the exe, create and link a resource with
YourDistroName=Fedora
$ windres res/$YourDistroName/res.rc res.o # compile resource
$ gcc -std=c99 --static -lshlwapi main.cpp -o Launcher.exe res.o # compile main.cpp
Install mingw-w64 toolchain include gcc-mingw-w64-x86-64.
Run this command in shell
$ x86_64-w64-mingw32-gcc -std=c99 --static -lshlwapi main.c -o Launcher.exe # compile main.c
Copyright (c) 2017-2020 yuk7