the most severe is that you cannot install Julia for all users of a computer. To be able to use Julia with all its features (e.g. PackageCompiler), the julia.exe must be in the PATH environment variable of Windows. By running the installer as administrator, the path to the julia.exe is not added to the system-wide PATH, but to the PATH of the admin user. Therefore any other user of the PC does not have Julia in the PATH. Sure, you can tell all other users to manually add it to their PATH, but at first you must be aware of that and this is unnecessary additional work for you as administrator.
Once installed, there is no easy way to update Julia. I can e.g. install Julia 1.11.4 over an existing 1.11.1 but the folder names are then not updated. One has to do it manually
The installer stores the start menu entry in the wrong path. The Windows default is C:\Users\<username>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs
Julia is the only program on my computer that does not respect this. It puts its start menu entry into C:\Users\<username>\AppData\Roaming\Microsoft\Windows\Start Menu
instead to C:\Users\<username>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Julia
Number 3 is minor, but annoying for administrators.
I think that’s absolutely deliberate. Julia is (and should be) installed in user space on all platforms. The installer should be clear about that, though.
That’s exactly why juliaup is the primary installation method. If, due to corporate policies or other reasons, you have to use a secondary method, of course there are going to be tradeoffs
That seems like it might be worth opening an issue about
That is the decision of the admin. Also at my university times, we PhD students were not allowed to install things on our own, that was the job of admins and there were different admins (some on work group level, some on faculty level)
The installer clearly states:
“Restart installer as Administrator to install Julia system wide”
so one can expect that the result is a system-wide installation.
And what other software that cannot be installed as admin for all users of a Windows system.
I programmed the Windows installer for the projects lyx.org and freecad.org. There is no need for tradeoffs. An installer can and also should be able to perform software updates. The easiest way is to install a new version over an older and the installer does everything for you. No need to adjust e.g. paths manually. And the installer must not perform updates if the old version is too old or there are other technical reasons.
Yeah, that should be fixed. The installer should not display such a message if it cannot reasonably guarantee that it can do a system-wide installation. Can you open an issue for that?
Yes, but I’m not sure there’s anyone available to maintain a secondary installation method to that level. Julia is not a commercial project, and relies on volunteers, which are a very limited resource.
Regarding this meaning of user space, doesn’t Users/Public count? Software going there or especially C:/Program Files doesn’t sound out of the question. I’m ignorant of the exact drawbacks and when it matters more, though, is it about security? I recall similar discussions about installing CPython on Windows.
I really have no idea about how software installations are organized on Windows. I haven’t touched Windows in any serious way in 20 years.
My general point was that it makes sense for Julia to install without admin/root privileges, into folders that are owned by the user doing the installation. As a consequence, Julia would then also be runnable only by that user. The reason to prioritize that mode of installation is that Julia is typically installed by students or researchers on their personal devices, where this distinction basically does not matter (the user is the only person on the system using Julia). And there may be additional “security” benefits (“don’t run as root”). Or else, they are installing Julia onto a university or maybe HPC system where they do not have admin access.
It seemed deliberate to me that the Julia installers were aimed at this use case. They should probably be very upfront about that, in the documentation. There may of course also be instances where administrators want to install Julia for multiple users of a system. But it can probably be assumed that these are IT professionals who can jump through some extra hoops. For what it’s worth, I manage a multi-user Linux workstation that is used via SSH by several people, and I used to try to install Julia system-wide. It ended up being too much trouble to keep up with releases, and permissions issues, so I switched to telling people “just use juliaup”. There’s a bit of wasted disk space because of that, of course, but it’s well worth it.
Corporate environments with very locked-down IT policies are another layer on top of that. There, also, installing into a specific user account without admin privileges seems like the option most likely to succeed.
But isn’t this what the installer does do? The juliaup installer?
Isn’t it more fruitful to ask for some improvements to the installation story of juliaup, than to ask for the old installer to gain the capabilities of juliaup?
In my opinion, @uwestoehr s feature request is perfectly reasonable, it would improve the installation experience on Windows, but of course like any feature request, it either needs to be implemented by a volunteer or compete with other feature requests for limited resources - @uwestoehr probably understands this. Your suggestion of enabling juliaup to be installed without the Windows Store would of course also work. Each solution has its advantages and disadvantages, I am not a Windows user and will leave the choice to be done by others.
I may be missing something. Are we talking about moving the juliaup features to the binary installer? Isn’t the solution to just remove the old installer and have juliaup as the only installer, just make the installation smoother? Perhaps you can tell me why the old installer should be needed at all?
Personally, I don’t even remember how I installed juliaup, I did it years ago, probably with Winget.
The last time that I used the Windows version was before juliaup was introduced, so I have only used it on Linux, but my impression is that juliaup is the superior solution in terms of features, but the installer has two advantages:
It does not require an account at the Windows store
It would be more familiar to new Windows users, so easier for new users to get started with.
From my understanding, we are talking about allowing the binary installer to detect if Julia is already installed and if so to offer to remove the old version, so this would only be some of the features that juliaup offers.
As far as I understand you can install juliaup without the Windows store:
If the Windows Store is blocked on a system, we have an alternative MSIX App Installer based setup. Note that this is currently experimental, please report back successes and failures here. To use the App Installer version, download this file and open it by double clicking on it.
I just tried it yesterday, and it failed with a very enigmatic message, basically “There was a problem, report to the developper”, without any error code or else.
I can confirm that installing different versions of Julia is more than feasible with Juliaup on Windows. However, I don’t recall even being offered the option to alter the installation location when I installed it from the Microsoft store. I bit the bullet and uninstalled Julia (Powershell can’t find the command either) so I could try to reinstall from the store, and it was entirely automatic, no option to change the installation location. The big caveat here is that it’s not the same conditions: the store remembered I “owned” Julia, and the bulk of my Julia installation never went away (v1.10, v1.11, installed packages, precompiled code, environments).