Skip to content

Error 0xc000007b: Launcher fails after installing legacy VC++ 2010 Redistributable #5

@MarkTheta

Description

@MarkTheta

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!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions