Tomasz Chmielewski schrieb: >> really useful feature: from time to time I've got machines without >> enough disk space to install e.g. office, acrobat8, sometimes even >> updates (SP3 ...) etc. >> >> So it would be a really good idea to have something like a >> "pre-flight-check" to check if the space for installation is available >> before trying to install: >> >> If there is no check and not enough space, installers might hang issuing >> an error dialog, installers make the machine really slow until they >> recognize that there is not enough space to install and so on. >> >> Of course we might check for space in the pre action command of Wpkg >> client (exit >= 0 if not enough space) - but this cannot be made >> dependent from size of applications. >> >> What do you think about: >> >> <depends> >> <check type="freespace" condition="greaterorequal" value="500" /> >> </depends> > > I'm not very sure if integrating whole lots of tests inside wpkg.js is a > good idea. > Once we start integrating such checks (free space, free memory, wifi), > I'm sure there will be other well-justified cases "worth integrating" > (slow dial-up, VPN, CPU cores, CPU MHz, motherboard, hardware type etc., > you name it). I think it is better than breaking all other (small) package installations due to one hanging setup.exe 'cause of low disk space > > > Also, making these tests via WPKG Client (via pre- task) is not ideal. > Imagine this: a pre- task test which checks if there is enough free > space; if not, it exits with a non-zero exit code. It prevents the > execution of wpkg.js, and thus, a potential installation of a largish > package; it also could prevent execution of a package which task is > solely to remove free space... A no-no... Full ACK, as I said above. > > > How about introducing special types of packages? > > For example, if a package with a name "wpkg-check-*" exits with a > non-zero exit code, wpkg.js would break its execution. > Or better yet, it reacts in a specific way to different exit codes when > a "wpkg-check-*" package is executed. This is not install-package-specific and would have same effekt as calling a pre-script - exiting because of low space for one application would break other smaller size applications. > > This has an advantage that it can be executed anywhere, with different > priorities etc. all infrastructure wpkg.js provides. > > > Or, if not a dedicated package with a "wpkg-check-*" name, than maybe a > special cmd prior to executing a proper installer: > > <install type="wpkg-check" cmd="%SOFTWARE%\wpkg-check-free-space.cmd"/> > <install cmd="%SOFTWARE%\some-really-big-software.exe /silent"/> > > > Just an idea - I may be totally wrong of course, and I'm sure there are > better approaches, but it is certainly worth discussing. > I'd like to see the space definition even integrated in the package definition. Something like: <package id="msoffice2003" name="Microsoft Office 2003" revision="1" reboot="true" space="500M" min-free="800M" priority="49"> <check type="logical" condition="or"> ... </package> <package id="msoffice2003-SP2" name="Microsoft Office 2003 SP2" revision="1" installspace="300M" installminfree="800M" upgradespace="300M" upgrademinfree="800M" reboot="false" priority="49" > ... </package> Of course there is a problem regarding which partition we will check ... but anyway: Even during installation the used disk space changes, so if I install e.g. msoffice openoffice staroffice (not that I would ... :) this way the disk space could be checked after each install and before next install/upgrade: - IF there is a minfree-requirement - AND we are going to install/upgrade the package - AND there is enough space (if not -> ERROR in log) WDYT? Best regards, Falko |