diff --git a/NSIS/.gitignore b/NSIS/.gitignore new file mode 100644 index 00000000..b883f1fd --- /dev/null +++ b/NSIS/.gitignore @@ -0,0 +1 @@ +*.exe diff --git a/NSIS/nsisconf.nsh b/NSIS/nsisconf.nsh new file mode 100644 index 00000000..665945b1 --- /dev/null +++ b/NSIS/nsisconf.nsh @@ -0,0 +1 @@ +!define EXISTING_INSTALLATION_DIR "D:\path\to\installed\easy-diffusion" \ No newline at end of file diff --git a/NSIS/sdui.nsi b/NSIS/sdui.nsi index 501ea32b..52896249 100644 --- a/NSIS/sdui.nsi +++ b/NSIS/sdui.nsi @@ -1,20 +1,24 @@ ; Script generated by the HM NIS Edit Script Wizard. -Target x86-unicode +Target amd64-unicode Unicode True -!AddPluginDir /x86-unicode "." +SetCompressor /FINAL lzma +RequestExecutionLevel user +!AddPluginDir /amd64-unicode "." ; HM NIS Edit Wizard helper defines -!define PRODUCT_NAME "Stable Diffusion UI" -!define PRODUCT_VERSION "Installer 2.35" +!define PRODUCT_NAME "Easy Diffusion" +!define PRODUCT_VERSION "2.5" !define PRODUCT_PUBLISHER "cmdr2 and contributors" !define PRODUCT_WEB_SITE "https://stable-diffusion-ui.github.io" -!define PRODUCT_DIR_REGKEY "Software\Microsoft\Cmdr2\App Paths\installer.exe" +!define PRODUCT_DIR_REGKEY "Software\Microsoft\Easy Diffusion\App Paths\installer.exe" ; MUI 1.67 compatible ------ !include "MUI.nsh" !include "LogicLib.nsh" !include "nsDialogs.nsh" +!include "nsisconf.nsh" + Var Dialog Var Label Var Button @@ -106,7 +110,7 @@ Function DirectoryLeave StrCpy $5 $INSTDIR 3 System::Call 'Kernel32::GetVolumeInformation(t "$5",t,i ${NSIS_MAX_STRLEN},*i,*i,*i,t.r1,i ${NSIS_MAX_STRLEN})i.r0' ${If} $0 <> 0 - ${AndIf} $1 == "NTFS" + ${AndIf} $1 != "NTFS" MessageBox mb_ok "$5 has filesystem type '$1'.$\nOnly NTFS filesystems are supported.$\nPlease choose a different drive." Abort ${EndIf} @@ -140,7 +144,7 @@ Function MediaPackDialog Abort ${EndIf} - ${NSD_CreateLabel} 0 0 100% 48u "The Windows Media Feature Pack is missing on this computer. It is required for the Stable Diffusion UI.$\nYou can continue the installation after installing the Windows Media Feature Pack." + ${NSD_CreateLabel} 0 0 100% 48u "The Windows Media Feature Pack is missing on this computer. It is required for Easy Diffusion.$\nYou can continue the installation after installing the Windows Media Feature Pack." Pop $Label ${NSD_CreateButton} 10% 49u 80% 12u "Download Meda Feature Pack from Microsoft" @@ -162,7 +166,7 @@ FunctionEnd !define MUI_WELCOMEFINISHPAGE_BITMAP "astro.bmp" ; Welcome page -!define MUI_WELCOMEPAGE_TEXT "This installer will guide you through the installation of Stable Diffusion UI.$\n$\n\ +!define MUI_WELCOMEPAGE_TEXT "This installer will guide you through the installation of Easy Diffusion.$\n$\n\ Click Next to continue." !insertmacro MUI_PAGE_WELCOME Page custom MediaPackDialog @@ -188,8 +192,8 @@ Page custom MediaPackDialog ;--------------------------------------------------------------------------------------------------------- Name "${PRODUCT_NAME} ${PRODUCT_VERSION}" -OutFile "Install Stable Diffusion UI.exe" -InstallDir "C:\Stable-Diffusion-UI\" +OutFile "Install Easy Diffusion.exe" +InstallDir "C:\EasyDiffusion\" InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" "" ShowInstDetails show @@ -200,15 +204,40 @@ Section "MainSection" SEC01 File "..\CreativeML Open RAIL-M License" File "..\How to install and run.txt" File "..\LICENSE" - File "..\Start Stable Diffusion UI.cmd" + File "..\scripts\Start Stable Diffusion UI.cmd" + File /r "${EXISTING_INSTALLATION_DIR}\installer_files" + File /r "${EXISTING_INSTALLATION_DIR}\profile" + File /r "${EXISTING_INSTALLATION_DIR}\sd-ui-files" SetOutPath "$INSTDIR\scripts" - File "..\scripts\bootstrap.bat" - File "..\scripts\install_status.txt" + File "${EXISTING_INSTALLATION_DIR}\scripts\install_status.txt" File "..\scripts\on_env_start.bat" File "C:\windows\system32\curl.exe" - CreateDirectory "$INSTDIR\profile" - CreateDirectory "$SMPROGRAMS\Stable Diffusion UI" - CreateShortCut "$SMPROGRAMS\Stable Diffusion UI\Start Stable Diffusion UI.lnk" "$INSTDIR\Start Stable Diffusion UI.cmd" + CreateDirectory "$INSTDIR\models" + CreateDirectory "$INSTDIR\models\stable-diffusion" + CreateDirectory "$INSTDIR\models\gfpgan" + CreateDirectory "$INSTDIR\models\realesrgan" + CreateDirectory "$INSTDIR\models\vae" + CreateDirectory "$SMPROGRAMS\Easy Diffusion" + CreateShortCut "$SMPROGRAMS\Easy Diffusion\Easy Diffusion.lnk" "$INSTDIR\Start Stable Diffusion UI.cmd" + + DetailPrint 'Downloading the Stable Diffusion 1.4 model...' + NScurl::http get "https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt" "$INSTDIR\models\stable-diffusion\sd-v1-4.ckpt" /CANCEL /INSIST /END + + DetailPrint 'Downloading the GFPGAN model...' + NScurl::http get "https://github.com/TencentARC/GFPGAN/releases/download/v1.3.0/GFPGANv1.3.pth" "$INSTDIR\models\gfpgan\GFPGANv1.3.pth" /CANCEL /INSIST /END + + DetailPrint 'Downloading the RealESRGAN_x4plus model...' + NScurl::http get "https://github.com/xinntao/Real-ESRGAN/releases/download/v0.1.0/RealESRGAN_x4plus.pth" "$INSTDIR\models\realesrgan\RealESRGAN_x4plus.pth" /CANCEL /INSIST /END + + DetailPrint 'Downloading the RealESRGAN_x4plus_anime model...' + NScurl::http get "https://github.com/xinntao/Real-ESRGAN/releases/download/v0.2.2.4/RealESRGAN_x4plus_anime_6B.pth" "$INSTDIR\models\realesrgan\RealESRGAN_x4plus_anime_6B.pth" /CANCEL /INSIST /END + + DetailPrint 'Downloading the default VAE (sd-vae-ft-mse-original) model...' + NScurl::http get "https://huggingface.co/stabilityai/sd-vae-ft-mse-original/resolve/main/vae-ft-mse-840000-ema-pruned.ckpt" "$INSTDIR\models\vae\vae-ft-mse-840000-ema-pruned.ckpt" /CANCEL /INSIST /END + + DetailPrint 'Downloading the CLIP model (clip-vit-large-patch14)...' + NScurl::http get "https://huggingface.co/openai/clip-vit-large-patch14/resolve/8d052a0f05efbaefbc9e8786ba291cfdf93e5bff/pytorch_model.bin" "$INSTDIR\profile\.cache\huggingface\hub\models--openai--clip-vit-large-patch14\snapshots\8d052a0f05efbaefbc9e8786ba291cfdf93e5bff\pytorch_model.bin" /CANCEL /INSIST /END + SectionEnd ;--------------------------------------------------------------------------------------------------------- @@ -254,7 +283,7 @@ Function .onInit ${If} $4 < "8000" MessageBox MB_OK|MB_ICONEXCLAMATION "Warning!$\n$\nYour system has less than 8GB of memory (RAM).$\n$\n\ -You can still try to install Stable Diffusion UI,$\nbut it might have problems to start, or run$\nvery slowly." +You can still try to install Easy Diffusion,$\nbut it might have problems to start, or run$\nvery slowly." ${EndIf} FunctionEnd diff --git a/scripts/Start Stable Diffusion UI.cmd b/scripts/Start Stable Diffusion UI.cmd index d720328d..4f8555ea 100644 --- a/scripts/Start Stable Diffusion UI.cmd +++ b/scripts/Start Stable Diffusion UI.cmd @@ -25,15 +25,12 @@ if exist "on_sd_start.bat" ( @rem set legacy installer's PATH, if it exists if exist "installer" set PATH=%cd%\installer;%cd%\installer\Library\bin;%cd%\installer\Scripts;%cd%\installer\Library\usr\bin;%PATH% -@rem Setup the packages required for the installer -call scripts\bootstrap.bat - @rem set new installer's PATH, if it downloaded any packages if exist "installer_files\env" set PATH=%cd%\installer_files\env;%cd%\installer_files\env\Library\bin;%cd%\installer_files\env\Scripts;%cd%\installer_files\Library\usr\bin;%PATH% set PYTHONPATH=%cd%\installer;%cd%\installer_files\env -@rem Test the bootstrap +@rem Test the core requirements call where git call git --version diff --git a/scripts/install_status.txt b/scripts/install_status.txt new file mode 100644 index 00000000..e69de29b diff --git a/scripts/on_env_start.bat b/scripts/on_env_start.bat index 5bc1885d..57dc5da0 100644 --- a/scripts/on_env_start.bat +++ b/scripts/on_env_start.bat @@ -52,7 +52,6 @@ if "%update_branch%"=="" ( @xcopy sd-ui-files\ui ui /s /i /Y /q @copy sd-ui-files\scripts\on_sd_start.bat scripts\ /Y -@copy sd-ui-files\scripts\bootstrap.bat scripts\ /Y @copy sd-ui-files\scripts\check_modules.py scripts\ /Y @copy "sd-ui-files\scripts\Start Stable Diffusion UI.cmd" . /Y @copy "sd-ui-files\scripts\Developer Console.cmd" . /Y