Stability-AI / StableSwarmUI

StableSwarmUI, A Modular Stable Diffusion Web-User-Interface, with an emphasis on making powertools easily accessible, high performance, and extensibility.
MIT License
4.59k stars 369 forks source link

Created Windows Installer + Nightly Builds #357

Open nirmie opened 6 months ago

nirmie commented 6 months ago

Created two scripts, a powershell script and nsis script, that work to compile the StableSwarmUI visual studio project into an exe and package it into an installer using NSIS. Also created a GitHub workflow to create a new nightly release every night, but the release portions of the workflow can be adjusted if you only wish to have a new build every week or so. (Can be deleted if unnecessary)

The installer comes with an uninstaller, registers it with Control Panel, and shares the same icon and Licensing as the original project.

Please let me know if I need to make any changes before it can be merged.

powderluv commented 6 months ago

I would drop the binary files in the commit.

nirmie commented 6 months ago

I've updated it so it does not have the application or the installer. Running the Powershell script should generate both.

mcmonkey4eva commented 6 months ago

How would updating work with this setup? ie how does an end user who installed with this update to a newer version of Swarm?

mcmonkey4eva commented 6 months ago

oh btw, I recommend testing carefully - run an install and go through things like generating some images, using custom comfy workflows, etc.

A particular point I'm worried about is, if you open up the C# in Visual Studio and track down usages of Extension.FilePath -- that by default is set by looking for the Extension source code folder and working with it. All of swarm is built under the assumption you're doing a source install (how you do with eg python programs) and not like an independent .exe program install, and so likely many things that end up needing alternate handling for this case.

nirmie commented 6 months ago

Yeah, I'll make sure to comb through the C# code and run models before pushing code. I'll let you know once I incorporate all of these changes so it can be reviewed.