# Slicer oneline installer script

**URL:** <https://discourse.slicer.org/t/slicer-oneline-installer-script/47568>\
**Category:** Development\
**Created:** [July 7, 2026, 11:31pm UTC](https://discourse.slicer.org/t/slicer-oneline-installer-script/47568 "2026-07-07T23:31:21Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![mau\_igna\_06](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/mau_igna_06/32/9056_2.png) [@mau\_igna\_06](https://discourse.slicer.org/u/mau_igna_06)\
**Post date:** [July 7, 2026, 11:31pm UTC](https://discourse.slicer.org/t/slicer-oneline-installer-script/47568/1 "2026-07-07T23:31:21Z")

</div>

Hi all,

I have created this one-line installer script for Slicer and I’d like to receive feedback from the community.

It has been tested on Ubuntu 22 and Windows 10

Linux & macOS version:

```bash
curl -fsSL https://raw.githubusercontent.com/mauigna06/slicer-installer/main/install.sh | sh

```

Windows version:

```powershell
irm https://raw.githubusercontent.com/mauigna06/slicer-installer/main/install.ps1 | iex

```

---

<div class="post-metadata">

**Author:** ![ebrahim](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/ebrahim/32/13403_2.png) [@ebrahim](https://discourse.slicer.org/u/ebrahim)\
**Post date:** [July 8, 2026, 11:05am UTC](https://discourse.slicer.org/t/slicer-oneline-installer-script/47568/2 "2026-07-08T11:05:37Z")

</div>

> [@mau\_igna\_06](#):
>
> ```auto
> curl -fsSL https://raw.githubusercontent.com/mauigna06/slicer-installer/main/install.sh | sh
> 
> ```

The ascii logo is beautiful

I tried the linux one, but I stopped when it asked for sudo.

I think people are put off when an install script they run with curl asks for sudo. It’s already a lot of trust required to run it in the first place. I understand it’s to install runtime dependencies, but I also don’t necessarily want a script messing around with my system package manager on its own – that is for me to do. Maybe linux users would often feel the same.

Instead of automatically installing runtime dependencies, the script could just download and install Slicer to a local directory like you are doing, and then at the end it can print a command for the user to use to install runtime dependencies. Then sudo should not be needed and the experience would be smoother

---

<div class="post-metadata">

**Author:** ![mau\_igna\_06](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/mau_igna_06/32/9056_2.png) [@mau\_igna\_06](https://discourse.slicer.org/u/mau_igna_06)\
**Post date:** [July 8, 2026, 12:17pm UTC](https://discourse.slicer.org/t/slicer-oneline-installer-script/47568/3 "2026-07-08T12:17:16Z")

</div>

Ok. Updated according to your feedback. Now it does not install dependencies by default so it does not ask for sudo, it just prints a comment to the user with the command he needs to execute for the dependencies install instead

Could you please try again?

---

<div class="post-metadata">

**Author:** ![ebrahim](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/ebrahim/32/13403_2.png) [@ebrahim](https://discourse.slicer.org/u/ebrahim)\
**Post date:** [July 8, 2026, 5:11pm UTC](https://discourse.slicer.org/t/slicer-oneline-installer-script/47568/4 "2026-07-08T17:11:21Z")

</div>

It worked well! I am on ubuntu 22.04

Some feedback:

- the “Downloading 3D Slicer…” display during download could display the version also
- the icon it chose is completely wrong! it chose the splash screen as the icon!
- when I ran it a second time, it tried to start the download all over again. it would be extra nice if the script checked whether you already have slicer in the same install location and did something differently. But I am not sure what is the best design: should it abort? offer to clean-reinstall? offer to install multiple versions side by side each with their own version-specific launcher?

---

<div class="post-metadata">

**Author:** ![mau\_igna\_06](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/mau_igna_06/32/9056_2.png) [@mau\_igna\_06](https://discourse.slicer.org/u/mau_igna_06)\
**Post date:** [July 10, 2026, 2:06pm UTC](https://discourse.slicer.org/t/slicer-oneline-installer-script/47568/5 "2026-07-10T14:06:37Z")

</div>

> [@ebrahim](#):
>
> - the “Downloading 3D Slicer…” display during download could display the version also

Done

> [@ebrahim](#):
>
> - the icon it chose is completely wrong! it chose the splash screen as the icon!

Corrected

> [@ebrahim](#):
>
> - But I am not sure what is the best design: should it abort? offer to clean-reinstall? offer to install multiple versions side by side each with their own version-specific launcher?

Improved, let the user select (see picture below)

 ![Screenshot from 2026-07-10 11-00-04_2](https://us1.discourse-cdn.com/flex002/uploads/slicer/original/3X/2/a/2a9d756e48658944d2ed0c2c159e63562f76fe10.png)

Thank you

---

<div class="post-metadata">

**Author:** ![ebrahim](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/ebrahim/32/13403_2.png) [@ebrahim](https://discourse.slicer.org/u/ebrahim)\
**Post date:** [July 10, 2026, 4:33pm UTC](https://discourse.slicer.org/t/slicer-oneline-installer-script/47568/6 "2026-07-10T16:33:04Z")

</div>

Nice! What does it do when a different version is already installed? Side by side? Do the launchers then have versions in their name to distinguish them?

---

<div class="post-metadata">

**Author:** ![mau\_igna\_06](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/mau_igna_06/32/9056_2.png) [@mau\_igna\_06](https://discourse.slicer.org/u/mau_igna_06)\
**Post date:** [July 10, 2026, 6:29pm UTC](https://discourse.slicer.org/t/slicer-oneline-installer-script/47568/7 "2026-07-10T18:29:01Z")

</div>

> 🤖 This post was written with AI assistance.

Sorry, I had forgotten to push the last 2 commits for the feature I showed above

> What does it do when a different version is already installed? Side by side? Do the launchers then have versions in their name to distinguish them?

**On Linux** :  
The prompt about the 3 options only fires when that _same_ version+arch directory already exists.  
A _different_ version has a different directory name, so no collision is detected.

**On macOS** :  
Every version installs as `Slicer.app` at the same path so _any_ different version _does_ trigger the prompt

**On Windows** :  
Every version has its own installer and they use a different directory and provide a different desktop shortcut

### Do the launchers get versioned names?

**On Linux** : Last version overwrites the link to `Slicer`

**On macOS** : there’s no PATH launcher at all; `open -a Slicer` resolves by bundle id through LaunchServices, and the script even warns that with multiple copies it may launch an unexpected one

**On Windows** : the launcher name is always `Slicer.exe` (different version live on different directories)

**Bottom line:** versions coexist on disk (on Linux and Windows), but the launchers are single, unversioned names that always track the most recent install — there’s no `Slicer-5.12` vs `Slicer-5.10` launcher to pick between.

---

<div class="post-metadata">

**Author:** ![mau\_igna\_06](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/mau_igna_06/32/9056_2.png) [@mau\_igna\_06](https://discourse.slicer.org/u/mau_igna_06)\
**Post date:** [July 12, 2026, 10:48am UTC](https://discourse.slicer.org/t/slicer-oneline-installer-script/47568/8 "2026-07-12T10:48:01Z")

</div>

Windows version of the command was failing if not executing from powershell, now that’s solved. New calling (from powershell or cmd):

```bash
powershell -c "irm https://raw.githubusercontent.com/mauigna06/slicer-installer/main/install.ps1 | iex"

```
