Win32 App Isolation

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • win32-app-isolation

    Tools and documentation for Win32 app isolation

  • atlantafx

    Modern JavaFX CSS theme collection with additional controls.

    JVM UI isn't so bad. I've written some pretty modern looking UI with it. The sophisticated controls are all there.

    Modern JavaFX theme: https://github.com/mkpaz/atlantafx

    Modern Swing theme: https://github.com/JFormDesigner/FlatLaf

    And these days Compose Multiplatform: https://www.jetbrains.com/lp/compose-multiplatform/

    I tend to use Kotlin rather than Java but of course Java is perfectly fine too. You can also use Clojure.

    If you use any of those frameworks you can distribute to Win/Mac/Linux in one command with Conveyor. It's free for open source apps and can do self-signing for Windows if you don't want to pay for the certificates or the Store (but the Store is super cheap these days, $19 one off payment for an individual). Also supports Electron and Flutter if you want to use those.

    From those frameworks you can then access whatever parts of the Windows API you want. Flutter even has WinRT bindings these days! So it's not quite so bad.

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

  • FlatLaf

    FlatLaf - Swing Look and Feel (with Darcula/IntelliJ themes support)

    JVM UI isn't so bad. I've written some pretty modern looking UI with it. The sophisticated controls are all there.

    Modern JavaFX theme: https://github.com/mkpaz/atlantafx

    Modern Swing theme: https://github.com/JFormDesigner/FlatLaf

    And these days Compose Multiplatform: https://www.jetbrains.com/lp/compose-multiplatform/

    I tend to use Kotlin rather than Java but of course Java is perfectly fine too. You can also use Clojure.

    If you use any of those frameworks you can distribute to Win/Mac/Linux in one command with Conveyor. It's free for open source apps and can do self-signing for Windows if you don't want to pay for the certificates or the Store (but the Store is super cheap these days, $19 one off payment for an individual). Also supports Electron and Flutter if you want to use those.

    From those frameworks you can then access whatever parts of the Windows API you want. Flutter even has WinRT bindings these days! So it's not quite so bad.

  • wix3

    WiX Toolset v3.x

    I actually like WiX[1] — it has a bit of a learning curve, but, so long as I'm building on Windows and don't stray far from the default UI flows, I haven't found an easier tool for creating Windows installers as part of a product build process, especially those that require Windows-specific bits like COM component registration, Windows service management, setting restrictive ACLs on installed components, etc.

    And while I'm not aware of any way to sandbox Windows Installer itself, I'm curious if AppContainer isolation can be applied to applications and services installed via MSI, which would still be quite useful even if the installation process itself is unrestricted.

    Alternatively, now that MSIX supports service installation[2], I wonder whether an MSIX including a Windows service and a collection of client applications can be configured so everything runs within one AppContainer, isolated from the rest of the system, and whether permission to access specific external directories chosen by users in a configuration GUI can be transparently (to the user) delegated to the related service.

    Alas, none of this is useful to me until it's compatible with at least the most recent version of Windows 10, as very few of my customers are running Windows 11, and I suspect many won't upgrade until Windows 10 is no longer supported (optimistically; as of last year, I was still getting occasional support requests from customers running older versions of our software on Windows Server 2003 R2).

    [1] https://wixtoolset.org

    [2] https://learn.microsoft.com/en-us/windows/msix/supported-pla...

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts