Windows experience is atrocious

harakim harakim at gmail.com
Fri Jul 21 02:54:16 UTC 2023


On Thursday, 20 July 2023 at 16:22:47 UTC, Rumbu wrote:
> Long time D user here (from D1 era). I said to come back after 
> two years to see how things evolved in the meantime.
>
> Here is my Windows experience:
>
> 1. Downloaded DMD installer.
> 2. Cannot run, blocked by AppLocker, IOC blacklisted
> 3. Added to exception list
> 4. Cannot run, blocked by Windows SmartScreen
> 5. Bypass
> 6. You have DMD 2.090 installed, replace it? Yes
> 7. Failed, installer said run dmd-2.104.2.exe /f
> 8. Looking in cpanel to see if I an older version of D is 
> installed. Nope.
> 9. Found an old folder with D. Deleted it.
> 10. Going to command prompt into downloads folder
> 11. Running dmd-2.104.2.exe /f
> 12. Error, an instance of DMD is already running.
> 13. Looking through my processes, there is no such thing
> 14. Running dmd-2.104.2.exe /f again. It works!
> 15. You don't have VS Tools 2019 installed. I have. 2015, 2017, 
> 2019 and 2022
> 16. Ignore and go on.
> 17. Launch VSCode
> 18. Install code-d, C++ already installed
> 19. Create a new project
> 20. Run tasks - Run -> dub cannot be initialized
> 21. Go to code.dlang.org
> 22. Click on Download -> redirect to github/releases
> 23. WTF, only source code.
> 24. building Dub from source
> 25. Added manually to PATH
> 26. Go back to VSCode
> 27. Edit dub.json, adding target ./bin/hello.exe
> 28. Build Task, dub-auto - Run hello, ok
> 29. Build Task, dub-auto - Build hello -> config -> edit 
> tasks.json
> 30. Documentation says that I should have a dub template. Nope, 
> I have a CMake template.
> 31. Too complicated. Close VSCode, posting on forum :)
>
> ----
>
> OK, I know, there is VisualD, but install process is still 
> complicated.

I downloaded the latest version and Windows "protected" me from 
running the installer. So that much I was able to repro.

When I went to install, it asked me if I wanted to uninstall the 
old version, which I said I did, and then it uninstalled and 
installed perfectly. I tested that it compiled my project from 
one year ago and it worked like a charm. How do I know it didn't 
just fail to do anything, you might ask?

```
source\arsd\simpledisplay.d(6445,51): Deprecation: using `in ref` 
is deprecated, use `-preview=in` and `in` instead
...
source\arsd\http2.d(3567,17): Error: function `void 
arsd.http2.OpenSslSocket.close()` does not override any function, 
did you mean to override `nothrow @nogc scope @trusted void 
std.socket.Socket.close()`?
Error C:\Program Files\D\dmd2\windows\bin\dmd.exe failed with 
exit code 1.
```

Oh, D... *smile and sigh*


More information about the Digitalmars-d mailing list