Windows Developer Mode and Julia

Microsoft Windows has a relatively new Developer Mode that has some impact on how Julia is used and functions on that platform.

One effect of Developer Mode is enabling symbolic links. Symbolic links are fancy shortcuts which allow a file or directory (folder) to appear elsewhere in the file system than where they currently are. In cmd.exe, this is done via the mklink command. In PowerShell, this can be done via New-Item -ItemType SymbolicLink.

The matter has recently come up with a Pkg.jl issue. The heart of the matter is that the current method of verifying the hashes of artifacts with symlinks on Windows does not work, unless Developer Mode is enabled.

Turning on Developer Mode is a bit scary. This the dialog message that it presents is as follows and warns about security issues. Indeed part of the why Developer Mode exists is that Microsoft is worried naive programs may handle symbolic links poorly.

image

Another developer feature that can be changed on the same page, independent of Developer Mode is the Default Terminal.

If you have Windows Terminal support enabled, this will open Julia within Windows Terminal rather than the old console. Windows Terminal offers improved Unicode support among other important features that can be used in conjunction with Julia.

Do you plan on enabling Developer Mode on Windows to use Julia?

  • I have or plan to enable Developer Mode on Windows
  • I do NOT plan to enable Developer Mode on Windows
  • I do NOTuse Windows
0 voters

Have you enabled Windows Terminal as your default Terminal?

  • Windows Terminal is my default terminal.
  • Windows Terminal is NOT my default terminal.
  • I do not use Windows.
0 voters
4 Likes

For those not planning to enable Windows Developer Mode, I am curious as to why?

I would NOT recommend to use windows developer mode to have a smoother Julia experience.

That’s like having always admin rights on to have no issues with access rights. If you develop like that others will have major problems using your product!

Julia developers, if they want multiple platforms, must make sure, that everything works fine without any additional rights on that platforms.

Principle of least privilege (POLP): Principle of least privilege - Wikipedia

3 Likes

In my case, I have no admin privileges on my work machine to do that.

1 Like

Thank you everyone for responding to the poll. I will close it within 24 hours.

My current conclusion is that Julia should not depend on Windows having symbolic link capability by default in the future. Unfortunately, the share of Windows users that cannot create symlinks will be much larger than 5% going forward, @staticfloat, and I would not expect it to decrease significantly decrease in the near future.

2 Likes