-
-
Notifications
You must be signed in to change notification settings - Fork 5
Description
Operating System
Windows 11
Portable App
Obsidian Portable
Description
Hello,
The installer for ObsidianPortable v1.9.14 is causing a critical runtime error (0xc000007b) on modern 64-bit Windows systems.
Problem Description
After running the installer and accepting the prompt to install "32-bit support", the main launcher (ObsidianPortable.exe) fails to start and shows the error 0xc000007b. This action also breaks other previously working PortableApps launchers on my system, causing them to fail with the same error.
However, the core application executable (e.g., App\Obsidian\Obsidian.exe) can still be launched directly without any issues. This confirms the problem is with the launcher, not the application itself.
Steps to Reproduce
Use a modern 64-bit Windows system (e.g., Windows 10 or 11) with up-to-date C++ runtimes.
Run the installer for ObsidianPortable.
When prompted, agree to install the "32-bit support".
Try to start the application via its main launcher (ObsidianPortable.exe).
The launcher will fail with error 0xc000007b.
Technical Analysis
The installer script (Installer.nsi) forces the installation of the Microsoft Visual C++ 2010 Redistributable (x86).
NSIS
${If} ${RunningX64}
ExecWait '"$PLUGINSDIR\VC2010Redist_x86.exe" /passive /norestart'
${EndIf}
This package is very outdated. Forcing its installation on a system with newer C++ runtimes can corrupt or create conflicts within the system's DLLs, leading directly to the 0xc000007b error (which signifies a 32/64-bit component mismatch).
Suggested Solution
Please remove the forced, automatic installation of the legacy VC++ 2010 Redistributable from the installer.
A better approach would be to:
Check if the necessary dependencies are missing.
If they are, inform the user and provide a link to download the latest supported Visual C++ Redistributable from Microsoft's official website.
This prevents breaking users' systems and follows modern software distribution practices. Thank you for your work on this project!