petersasi / deluge2-win-build

A set of scripts to prepare and build Deluge2 and it's prerequisites for Windows
https://github.com/petersasi/deluge2-win-build
96 stars 6 forks source link

Save 1.2GiB on msvc install. #18

Closed mhertz closed 3 years ago

mhertz commented 3 years ago

I tested through trial and error, what specifically of msvc was needed for building gtk3, libtorrent and openssl, and found only the c++ compiler toolset and win10-sdk needed, in addition to msbuild which is always installed when using vs2019 build tools edition specifically, so if specifying this, instead of previous line which just replicated the scenario of manually running installer and selecting the c++ build tools install-option, then 1.2GiB is saved.

Additionally, then I check for if vs2019 any edition is installed already, and if also includes the above mentioned needed components, and if does, then don't install msvc and just use the already installed, and when running uninstall_components.cmd, then uninstall msvc only if not having it already from the start.

Lastly I install msvc, if needed, in build-dir, though a few things still ends up on C(under '%programfiles(x86)%') like win-sdk and installer, which isn't possible to change at the moment unless overriding programfiles in registry etc. though is a matter of preference I guess(install in build-dir), but some might have limited space on system drive etc. plus little cleaner imho, as also "install"(extract) everything else like NSIS and msys etc in buildfolder also.

If interested, then check my repo, install_components.cmd and uninstall_components.cmd, but here's related snippet from my install_components.cmd:

if exist "%programfiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" "%programfiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" -version [16.0,17.0) -prerelease -products * -nologo -requires Microsoft.Component.MSBuild Microsoft.VisualStudio.Component.VC.Tools.x86.x64 | findstr . && if exist "%programfiles(x86)%\Windows kits\10" set dirty=1
if not defined dirty curl -LO https://aka.ms/vs/16/release/vs_BuildTools.exe && vs_BuildTools.exe --quiet --add Microsoft.VisualStudio.Component.VC.Tools.x86.x64 --add Microsoft.VisualStudio.Component.Windows10SDK.19041 --installPath "%~dp0msvc" --wait && del vs_BuildTools.exe

Sorry for posting in issues section, and as said, would fit better in a discussion section.

Last, off-topic, but I know you work on consolidating and using one python etc, which is cool imho, but i'd suggest not installing python and instead just extracting nuget and/or the embedded python zip, as I stated previously, so just adding again just in case, as really no reason to specifically install python with reg-entries added, needing admin rights and needing uninstall etc etc. but your call of-course.

Very last, the python39._pth as stated is a good idea to include imho, which can fix potentially deluge not starting otherwise, in certain conditions, and furhter isolates deluge and you just need to add a line with 'dll' or 'dlls' cannort remember what folder is called, in addition to what I add, if fyou further continue using the official installer of python.