Any news on this topic?
Please make a portable version of Obsidian a reality.
+1 for a portable version.
I’ve been using Obsidian for around 4 years now, also at work. Back then I could still install it. Now I need administator rights to install it.
Since I do not use windows privately, I also cannot install it there and move the folder as suggested before.
Right now I’m stuck and the IT admins at my work suggested to use OneNote . With a couple of thousand notes in my vault, you might understand my frustration.
Update to my earlier post (couldn’t edit it anymore for some reason).
I used the option suggested by @DistractionRectangle and it worked.
Here some more details for anybody having the same issue like me.
Status-Quo:
Obsidian is already installed and cannot be updated due to missing admin privileges.
Solution:
Unzip the .exe file as described above. I just copied the User to a different folder in C:\opt.…
This way I was able to use the old Obsidian version alongside the new one without risking the installation altogether. Since the plugins and all other settings are in the Vault Folder, it worked like a charm.
What’s left to try out now, is whether I can replace the old files completely. Haven’t tried it yet, because I’m a scary cat
I’m still +1 for a real portable version though. Would make things much easier
I’m using the portable version found here Obsidian Portable Updated | PortableApps.com
No administrator rights needed.
Then Obsidian can be updated to latest release.
For those willing to “roll-your-own” in a fully updatable manner, here’s the approach I took:
- Create a root directory for your Obsidian Portable install
- Copy 7z.exe. 7z.dll, 7-zip.dll, 7-zip32.dll to the newly created directory
- Download the latest Obsidian installer to the directory
- Create a new batch file (big thanks to Royi for the initial templating for the directories and environment variables)
@echo off
%~d0
cd %~dp0
:: Installing Obsidian from Obsidian-VersionNumber.exe
IF EXIST ".\Obsidian-*.exe" (
FOR /F "TOKENS=*" %%F IN ('DIR /B "Obsidian-*.exe"') DO 7z e "%%~fF" -r app-64.7z
DEL Obsidian-*.exe /Q
7z x -o".\Obsidian\" app-64.7z
DEL app-64.7z /Q
) ELSE (
echo Obsidian installer not found.
echo -------------------------------
)
IF EXIST "Obsidian" (
:: Creating Folders
REM if not exist "%~dp0User\AppData" mkdir "%~dp0User\AppData"
REM if not exist "%~dp0User\AppData\Local" mkdir "%~dp0User\AppData\Local"
REM if not exist "%~dp0User\AppData\Local\Temp" mkdir "%~dp0User\AppData\Local\Temp"
if not exist "%~dp0User\AppData\Roaming" mkdir "%~dp0User\AppData\Roaming"
if not exist "%~dp0User\Desktop" mkdir "%~dp0User\Desktop"
if not exist "%~dp0User\Documents" mkdir "%~dp0User\Documents"
REM if not exist "%~dp0User\ProgramData" mkdir "%~dp0User\ProgramData"
REM if not exist "%~dp0User\Public" mkdir "%~dp0User\Public"
:: Setting Env Variables
set HOMEPATH=%~dp0User
set USERPROFILE=%~dp0User
set APPDATA=%~dp0User\AppData
REM set LOCALAPPDATA=%~dp0User\AppData\Local
set ALLUSERSPROFILE=%~dp0User\ProgramData\Roaming
set ALLUSERSAPPDATA=%~dp0User\AppData
REM set ProgramData=%~dp0User\ProgramData
REM set Public=%~dp0User\Public
REM set TEMP=%~dp0User\AppData\Local\Temp
REM set TMP=%~dp0User\AppData\Local\Temp
:: if not exist "%dp0User\Documents\Obsidian" goto message
goto message
goto start
:message
echo PORTABLE Obsidian
echo -------------------------------
:start
start .\Obsidian\Obsidian.exe
) ELSE (
echo Obsidian not installed
echo Please put Obsidian-x.y.z.exe file in this directory
pause
)
- Run the batch file
Provided Obsidian make no substantial changes to the structure of their installer, this will:
- Check for the presence of the Obsidian-x.y.z.exe installer file
- If the installer exists, extract the app-64.7z file from the installer (if present) and delete the installer, then extract the contents of the app-64.7z file to .\Obsidian\ and delete the app-64.7z file
- If the installer is not present, echo in the command window that no Installer was found
- Check for the presence of the .\Obsidian\ subdirectory
- If present, create subdirectories for user profile information, set environment variables for user profile information, and start Obsidian
- If not present, echo with pause that Obsidian is not installed and to put the installer file in this directory
Hope this helps some of you.