We are setting up some JIT space for SlicerMorph usage. People will login with their own user accounts. I don’t want everyone to download and install Slicer and the extensions under their account, as everyone will be using the same thing.
What’s the proper way of adding extensions for everyone? I want to do this on the stable so that I can update the extension(s) for everyone.
I’m not a windows admin, but I would think you could just install everything you want in one user account and then share it read-only with all users on the system. The installation just needs to be someplace they can read. Then they would just need a shortcut to Slicer.exe and everything should just work.
I recently set up something similar for a network of linux machines, with the Slicer installation on a shared readonly file system. I thought about setting something up where they shared the same read-only installation and then installed extensions in their own accounts, but I decided that was overcomplicated and probably fragile so instead I decided that users who want their custom extensions can just do regular installs to their own account.
As an admin, I think I can point out the installation folder to something like C:\Slicer and have it install there. But what I wasn’t sure if restart the slicer (again as an admin), and try to install extensions for users, wouldn’t those go to c:\users\murat\appdata\local\Slicer, as opposed to c:\Slicer\Slicer.org\Extensions-XXXXX etc…The former path would be inaccessible to others, the latter will be accessible but readonly.
(I don’t have admin rights so I can’t try it yet).
Maybe you want to make a dedicated Slicer user account, but I believe if you give global read access (maybe read and execute) to the AppData\Local\Slicer folder it should work. The extensions are self-contained in the application folder. People can just copy that folder to their own space if they want to customize.
On a regular windows everything works fine if I install the Slicer directly on C:\
Extensions and python packages go in there.
Default permissions generated by Windows for the C:\Slicer folder includes modify for “Authenticated Users”, which means people logged on the system are allowed to make changes (even install/uninstall extensions, python packages).
If our company policies allows this, all should be good.
We always come across this tradeoff. Some users want it portable, so they can install and use without admin intervention. Other organizations want to make it available to all users installing on a system folder. That is why other applications release a portable version along with an installer. Or even better, an installer with the option to install to all users or current user only.
Can we come up with a mechanism for slicer to have a central install and many users access it, changing the installer for the user to choose between all/current user options?
I am not sure i understand this request? On my company managed Windows workstation, where people login with their active directory accounts, I can install the Slicer on a path like C:\Slicer-5.8.1, which is accessible to everyone who logs onto the computer. They can add/remove packages and extensions, as long as their default user policy allows them to write outside of their user folder. If your group policy does not allow you to write anywhere but your user folder, I don’t think the installer will change that.
The only thing that is missing is the application link (Slicer.exe), does not show up on other users Start menu, but I think that can be managed by the user installing the application to create a shortcut for all users…