feat: Windows Native and WSL2 GUI installer#7404
Conversation
fe7fb1e to
4f6f273
Compare
8b07f08 to
e59ba4f
Compare
|
Download the artifacts for this pull request:
See Testing a PR. |
|
I know this has a ways to go @stasadev but I'm almost to writing tests for it, and would appreciate if you could take the installer for a bit of a run. There are many permutations... I have been often recreating distros like Ubuntu-20.04, Ubuntu-22.04, Ubuntu-24.04. My normal one is just "Ubuntu". |
f205305 to
2c2eefd
Compare
stasadev
left a comment
There was a problem hiding this comment.
WSL2 with Docker CE
No WSL2 found error is not fatal enough.
The installer gets stuck, but installs mkcert and files to C:\Program Files\DDEV
I expect that clicking Ok on error will either go back to install type selection or to close the installer.
WSL2 with Docker Desktop or Rancher Desktop
No WSL2 found error is not fatal enough.
The installer gets stuck, but installs mkcert and files to C:\Program Files\DDEV
I expect that clicking Ok on error will either go back to install type selection or to close the installer.
Traditional Windows
Docker provider check is too late and not fatal enough.
The installer gets stuck, but installs mkcert and files to C:\Program Files\DDEV, and only then shows error for Docker provider.
I expect that this check is done before mkcert and copying files.
I expect that clicking Ok on error will either go back to install type selection or to close the installer.
| Pop $1 | ||
| Pop $0 | ||
| ${If} $1 != 0 | ||
| MessageBox MB_ICONSTOP|MB_OK "Failed to install dependencies. Please check the logs." |
| ; apt-get upgrade | ||
| DetailPrint "WSL($SELECTED_DISTRO): Doing apt-get upgrade..." | ||
| nsExec::ExecToStack 'wsl -d $SELECTED_DISTRO -u root bash -c "apt-get update && apt-get upgrade -y >/dev/null 2>&1"' | ||
| Pop $1 | ||
| Pop $0 |
There was a problem hiding this comment.
I think all of these apt-get calls need MessageBox with error details.
8096a7b to
97f0dc7
Compare
|
Added check for git-bash/git |
|
Running as "local service account", fully privileged: Restart service. Now we have to figure out how to get this agent to pick up this type of test. I set up tb-win11-10 to run as "local service account". And https://buildkite.com/ddev/ddev-windows-mutagen/builds/5311 is running |
|
@tyler36 if you could try out as much of the installer as you're willing it would be very welcome. You can use additional WSL2 distros, it doesn't have to touch your normal distro that you use. |
|
@rfay: Is there another place to get the installer? https://nightly.link/ seems blocked over here. |
|
Happy to get it for you any way you like @colans , and thanks! What works for you? Dropbox? Google? |
|
Maybe just upload it here somewhere as GitHub works (just in a comment is fine if there's no better place). |
tyler36
left a comment
There was a problem hiding this comment.
- Unknown publisher
DDEV comes up as "unknown publisher" on this and the UAC pop up. Ideally, this should be "DDEV Foundation" (official brand?), but not sure how difficult or time/cost involed.
- Ubuntu only
Correctly detected my 3 Ubuntu WSL distrobutions but not Alpine, Amazon, CentOS, Debian, Fedora, OpenSUSE, RedHat or Rocky WSLs.
Update: Oh, it's not detecting Ubuntu WSL's, it's checking a WSL's name contains "Ubuntu" (case-insenitive). I added a new WSL called 'foobar' that it didn't detect, but it detected "ubuntu-foobar".
- Non-default, no Docker Desktop intergration
- Detected non-default Ubuntu WSL did NOT have Docker Desktop intergration turned on. Suggested I turn on DD (or rancher) then activate intergration.
- After activing DD WSL intergation, it correctly detected and continued installation.
- "WSL(ubuntu-foobar): Doing apt-get upgrade..."
I know apt-get can take a while sometimes, but it looks busy in my terminal. When using the DDEV installing, there's no "activity indicator" so it "feels" like it's frozen. Perhaps a message on the previous screen, "Installing WSL components may take a couple of minutes. "
- Root user.
Forgot to update my login so I was set as root. Got the following message:
- Couple of ANSI escape codes that could be cleaned up
- Text says to click "Show details" but only see "OK". Clicked "OK"
No "Show details" here either. Clicking "Cancel" exists installer.
|
Thanks @tyler36 - The "Unknown publisher" is because you're using the unsigned PR build. I can push the same thing to ddev-test and get it signed, but this is a fine thing. "Ubuntu-only": We don't know how to select distros except by name. Other suggestions are welcome. I did look into explicitly supporting Debian as well, but it's already too complicated (on the code side)
In that screenshot you're showing details, so that's why the "Show details" button doesn't show. "Root user": It checks for that and complains early, so you shouldn't have gotten to that point. Could you do that again and see if you can give an exact repro path? |
Co-authored-by: Stanislav Zhuk <[email protected]>
7b2e3b3 to
25ca885
Compare
Co-authored-by: Stanislav Zhuk <[email protected]>
I'm not convinced that it's important to remove the ddev.exe, and it adds complexity to bother people with this. It could (maybe?) also mess with their mkcert config to uninstall. |
|
The installer now remembers the install type and distro that were previously chosen and uses those as default. Removed the checkmark from the final page. Reworked the distro radio boxes as dynamic instead of stupid. Probably needs a little more casual manual testing. |
|
Broke the apt-get install into 4 parts so people get feedback that something is happening. Updated signed release in https://github.com/ddev-test/ddev/releases/tag/v1.99.8 (or just see latest release there) |
stasadev
left a comment
There was a problem hiding this comment.
Awesome!
Installation type and distro selection was saved.
Splitting apt-get in parts is a good idea.
And the Support checkbox looks good.
Co-authored-by: Stanislav Zhuk <[email protected]>









The Issue
Related to
We've long had two pretty awkward PowerShell script that people needed to run to do basic WSL2 setup for DDEV. One was for docker-ce and the other for Docker Desktop. People struggled a bit with the instructions. With an installer we can give more guidance
How This PR Solves The Issue
This won't be ready for some time, and depends on other things that are in play. However, it currently builds an amd64 installer that does docker-ce, Docker Desktop, and works with Rancher Desktop
It could actually do the install for the traditional Windows as well.
TODO
recommendsstatus of packages is as we want it. (and followup possibly create a wsl2 package)Manual Testing Instructions
Automated Testing Overview
Release/Deployment Notes