[wpkg-users] Ideas for features.

Tomasz Chmielewski mangoo at wpkg.org
Tue Jul 1 22:45:29 CEST 2008


Falko Trojahn schrieb:
> Hi,
> 
>>>  2) Extra <check> rules;
>>> 	 I have "Battery" checks; to detect laptops, "Disk Size/Free"
>>> checks; to prevent installs clogged up and failing from disk space
>>> problems, "RAM" checks; to stop installs failing because of
>>> pre-requisites.
>> Hmm, shouldn't the installer check these requirements (diskspace, 
>> memory...) and fail with an appropriate exit code if it does not meet 
>> the minimum requirements?
>>
>> Checks are meant to check if an application is installed or not. If 
>> somebody would define a check like "memfree > 512MB" then this check 
>> would probably fail after next boot after the installation of some 
>> additional services. Thus triggering a check failure and making WPKG 
>> think the application is not installed.
>>
> 
> Regarding a check of disk space requirements, I think this would be a
> 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).


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...


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 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.


-- 
Tomasz Chmielewski
http://wpkg.org



More information about the wpkg-users mailing list