juliaup icon indicating copy to clipboard operation
juliaup copied to clipboard

Alternative to Windows Store for Windows - an msi installer for juliaup

Open NicholasWMRitchie opened this issue 2 years ago • 42 comments

My work computer is forbidden by policy to access the Windows Store. Could there be an alternative source for JuliaUp for Windows as there is for Linux and Mac?

NicholasWMRitchie avatar Jul 29 '22 12:07 NicholasWMRitchie

@NicholasWMRitchie Could you try a new install option that avoids the store? Here is how:

  • Click on https://install.julialang.org/Julia.appinstaller
  • Launch the file that gets downloaded (just "open" it or double click on it in explorer)

Be warned, the version that you are getting there is very much a dev version, and you probably will have to uninstall this and then re-install a more robust version down the road. Right now I'm just trying to figure out whether this option is one that could solve this scenario for us.

davidanthoff avatar Aug 08 '22 21:08 davidanthoff

I did as you instructed. It installs a 64-bit instance of Julia 1.7.3 and the instance works as expected. The juliaup command seems to work though I have not checked it extensively.

NicholasWMRitchie avatar Aug 09 '22 18:08 NicholasWMRitchie

Thanks, this is really helpful!

I suggest to add the link to the appinstaller to the Readme file of this repo so that it is easier to find for other users.

lungben avatar Aug 12 '22 15:08 lungben

I suggest to add the link to the appinstaller to the Readme file of this repo so that it is easier to find for other users.

For now it is an experiment, as soon as we decide that we want to have that option permantely I'll put a link in the README. Oh, and we need to change code signing from my personal cert to the JuliaComputing one as well before we really declare this done.

davidanthoff avatar Aug 12 '22 16:08 davidanthoff

Is there a reason that the "juliaup self update" is not implemented on this version or is this just one of those things that you still need to complete?

I just reinstalled Julia.appinstaller to get the latest 1.8.0-rc4 version as it wasn't available on the initial test version.

NicholasWMRitchie avatar Aug 12 '22 17:08 NicholasWMRitchie

Is there a reason that the "juliaup self update" is not implemented on this version or is this just one of those things that you still need to complete?

Yep, that still needs to be implemented. I think in theory this appinstaller distributed version should auto-check for new versions, and then auto-update in the background, but there might be delays in that. Once I implement the juliaup self update thing that should force-trigger that.

I also plan to change how Juliaup in general learns about new Julia versions, at that point the delays should be minimal.

davidanthoff avatar Aug 12 '22 22:08 davidanthoff

I think in theory this appinstaller distributed version should auto-check for new versions, and then auto-update in the background, but there might be delays in that.

Is there some way to detect/confirm that? I installed the appinstaller 1.7.20 version a couple of days ago -- worked flawlessly on a machine without admin rights or a useful Windows Store 🥳 . However, even after a reboot juliaup is still at that version (and therefore does not see the julia 1.8.0 release).

bilderbuchi avatar Aug 19 '22 07:08 bilderbuchi

Just did an update on my work PC via Julia.appinstaller For me this is the currently the most convenient way of getting/updating Julia on Windows. Typically I don't have any problems with other ways of installing Julia, but for the general Julia users my guess is, this is the best, even in this early stage. As I don't have any issues which aren't already known or anything unexpected this is just meant as an encouraging note and a general WELL DONE! Thank you for your great work.

oheil avatar Oct 07 '22 13:10 oheil

@ViralBShah Can you give this approach a try?

DilumAluthge avatar Oct 14 '22 15:10 DilumAluthge

@davidanthoff I tried the Julia.appinstaller as well, and this is the result (immediate uppon clicking Install):

😢 Screenshot

image

I can not find more detailed information.

MatthijsBlom avatar Oct 14 '22 15:10 MatthijsBlom

What version of Windows are you on? I thought MS had resolved this now (in a previous version of App installer this always happened...).

davidanthoff avatar Oct 14 '22 16:10 davidanthoff

Windows 10 Home 21H2, build 19044.2130.

MatthijsBlom avatar Oct 14 '22 17:10 MatthijsBlom

Not sure if this leads to a solution but @MatthijsBlom can you open a PowerShell and show the output of Get-ExecutionPolicy -List

oheil avatar Oct 14 '22 18:10 oheil

        Scope ExecutionPolicy
        ----- ---------------
MachinePolicy       Undefined
   UserPolicy       Undefined
      Process       Undefined
  CurrentUser       Undefined
 LocalMachine    RemoteSigned

MatthijsBlom avatar Oct 14 '22 19:10 MatthijsBlom

OK, it's same for me but I can install. So it was a wrong track, never mind.

oheil avatar Oct 14 '22 19:10 oheil

I tried on my company computer and I got the following message: App installation failed with error message: Appinstaller operation failed with error code 0x80070490. Detail: Element not found. (0x80070490)

el-oso avatar Nov 22 '22 08:11 el-oso

First I got the same error as MatthijsBlom but then I updated the Store App from inside the Store and now it worked fine. (We can only install a bunch of apps from the store and sadly Julia is not (yet) one of them)

gruemelmonster avatar Nov 29 '22 15:11 gruemelmonster

I can confirm that updating "App Installer" fixes my previous problem.

MatthijsBlom avatar Nov 29 '22 17:11 MatthijsBlom

Not sure if this app was update since, but it is still not working (see screenshot). Capture

el-oso avatar Dec 27 '22 10:12 el-oso

Version 1.8.16 was successfully installed on my work computer.

el-oso avatar Jan 10 '23 08:01 el-oso

Does anybody have a recipe for how to install the juliaup on the Windows Server (2019 or 2022)? We are using the server editions on the SuperMicro stations (2 NUMA nodes, 100+ cores, 1.5TB RAM) but the .appinstaller file cannot be opened there. I'd be glad to have juliaup (even only locally installed) on the system for the ease of use of the version multiplexing, even sacrificing the auto-update functionality.

Petr-Hlavenka avatar Jan 25 '23 06:01 Petr-Hlavenka

not really a show stopper, but a mild inconvenience. It seems that now I lost the ability to run julia in Windows from bash. Now I get an error message like: bash: /c/Users/USERNAME/AppData/Local/Microsoft/WindowsApp/julia: Permission denied

Not really a show stopper, but extended the usability of shell> mode from Windows. Otherwise, shell mode is sort of useless in Windows. If someone knows how to fix this problem, I would be very grateful :-)

el-oso avatar Feb 24 '23 14:02 el-oso

not really a show stopper, but a mild inconvenience. It seems that now I lost the ability to run julia in Windows from bash.

This seems like a pretty big bug to me. I frequently use Bash on Windows, and I would definitely want to be able to run Julia in Bash.

@davidanthoff @staticfloat Any ideas what might be going on?

DilumAluthge avatar Feb 24 '23 15:02 DilumAluthge

Sounds like the file doesn't have executable permissions. Try chmod +x ./julia from bash?

staticfloat avatar Feb 24 '23 15:02 staticfloat

Oh, and we need to change code signing from my personal cert to the JuliaComputing one as well before we really declare this done.

OT: Is there a JuliaLang cert we could use instead?

LilithHafner avatar Feb 24 '23 16:02 LilithHafner

Sounds like the file doesn't have executable permissions. Try chmod +x ./julia from bash?

Even if this works, shouldn't Juliaup automatically set the correct permissions?

DilumAluthge avatar Feb 24 '23 16:02 DilumAluthge

Forgot to mentioned that I already tried to do chmod +x was the first thing that I tried. First of all, reports Permission denied as well. I already looked into it, but since I don't really know how this works I left the question a bit open.

From what I can see juliaup also installs a "fake" julia executable that is the one that does the multi-plexing. The specifics on how this is achieved in Windows are beyond me. The files that are installed in the "WindowsApp" folder are not real files, instead they are just some sort of links. This linking mechanism is not available from my bash and that's why the Permission denied message is raised.

Edit: Found that they are called Execution Aliases. https://stackoverflow.com/questions/58296925/what-is-zero-byte-executable-files-in-windows

el-oso avatar Feb 24 '23 16:02 el-oso

Found a workaround that is not too bad. Type winpty julia or winpty juliaup and that works fine. Those can be made as an alias in your .bashrc

el-oso avatar Feb 24 '23 16:02 el-oso

I do not have access to Windows Store (employer police) thus I wanted to try this way. But I do not have AppInstaller either, and as far as I know, I can install it only from the Windows Store. Is there a third way to install juliaup?

ebenitez78 avatar Mar 27 '23 08:03 ebenitez78

https://www.augmentedmind.de/2021/05/30/distributing-windows-applications/ is useful.

davidanthoff avatar May 09 '23 21:05 davidanthoff