microsoft / devhome

The new Dev Home experience for Windows!
https://aka.ms/devhomedocs
MIT License
3.54k stars 309 forks source link

QuickStart: could not get past dependency checker on windows 10 #2946

Open KevinLaMS opened 3 months ago

KevinLaMS commented 3 months ago

Dev Home version

No response

Windows build number

No response

Other software

No response

Steps to reproduce the bug

Install VS Code Install Docker Install container plugin

image

Expected result

No response

Actual result

Despite going to the website and choosing install, VSCode knows it is installed. But the dependency checker does not.

image

Maybe i need to reboot

Included System Information

No response

Included Extensions Information

devhome20240510.zip

KevinLaMS commented 3 months ago

Issues seems to be that I needed to reboot.

adrastogi commented 3 months ago

Thanks! Based on the repro, it looks like you installed each dependency in sequence. Docker Desktop does require a reboot to complete its setup (its installer should have asked you, if I remember correctly), so rebooting for that specifically is expected.

For detection of the remote container extension: we rely on invoking Visual Studio Code to tell us what extensions are installed- and if you installed Visual Studio Code right beforehand as your steps indicate, I suspect that the PATH had been updated but Dev Home still had the 'prior' path from when its process was created- so it couldn't find code.cmd and thus couldn't run that check. There's an error to that effect in the logs, which I believe is related to this (we also have a string interpolation bug in the log which I'll fix):

[2024/05/16 12:10:45.743 ERR] (InstalledAppsService) Unable to find Visual Studio Code's launcher in path.

Restarting Dev Home should be a workaround for that (it'll pick up the updated PATH, find code.cmd, and then be able to find the extension from there). We hit this problem internally in testing and know that this needs to be better, so we will use this issue to help track improving that aspect of the detection logic.