<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Verdana
}
--></style>
</head>
<body class='hmmessage'>
> <BR>> <BR>> Starting from the beginning again :)<BR>> <BR>> I adminster several small school networks and use wpkg to deploy packages to<BR>> several machines if it is quicker to use wpkg than to go around all<BR>> computers and do a manual install.<BR>> <BR>> I want to be able to test a new package out or a modified one on an existing<BR>> live system.<BR>> <BR>> I do this by trying to allocate/modify a package on one computer.<BR>> <BR>> In practice, I have found this difficult to achieve this cleanly without<BR>> breaking something sometimes :(<BR>> <BR>> Currently, WPKG will remove a package entry from WPKG.xml if it decides that<BR>> the package is no longer required for that computer.<BR>> <BR>> Even with the two exisiting flags (noremove and noforced remove) WPKG will<BR>> still remove the package entry from WPKG.xml under certain circumstances.<BR>> <BR>> If a mistake is made, and then later rectified, then WPKG thinks it hasn't<BR>> installed a package and attempts re-install.<BR>> <BR>> IF I programmed a package with checks - I could probably work around this<BR>> but I don't. I don't use checks and I dont use remove commands. I just have<BR>> an install command to install and an update command to update -very simple<BR>> :)<BR>> <BR>> If I could have a flag to stop WPKG from removing package entries, then when<BR>> my mistake is rectified, wpkg would not attempt a re-install.<BR>> <BR>> Its that simple :)<BR>> <BR>> I don't use WPKG to keep track of everything on my network - I just use it<BR>> if it might save me time and effort.<BR>> <BR>> Obviously if I had a separate testing setup, virtual/real testing machines<BR>> or didn't make mistooks then I wouldn't have a problem - but I dont have<BR>> these and therefore I have a problem :)<BR>> <BR>> regards<BR>> <BR>> Simon<BR>> PS<BR>> Just for reference my basic code change proposal is<BR>> <BR>> function removeSettingsNodeSW(packageNode, saveImmediately) {<BR>> // sw modified to stop removal if no remove instructions found<BR>> if (getPackageCmdRemove(packageNode).length > 0) {<BR>> // make sure the settigngs node is selected<BR>> var packageID = getPackageID(packageNode);<BR>> dinfo("Removing package id '" + packageID + "' from settings.");<BR>> var settingsNode = getSettingNode(packageID);<BR>> var success = false;<BR>> if(settingsNode != null) {<BR>> success = removeNode(getSettings(), settingsNode);<BR>> }<BR>> // save settings if remove was successful<BR>> if (success && saveImmediately) {<BR>> saveSettings();<BR>> }<BR>> return success;<BR>> } else {<BR>> var packageID = getPackageID(packageNode);<BR>> dinfo("package id '" + packageID + "' not removed as no remove<BR>> instructions found.");<BR>> var success = false;<BR>> return success;<BR>> }<BR>> <BR>> }<BR>> <BR>> and then the calling code should check the return success value<BR>
 <BR>
I also use WPKG across 16 schools.  One of the first things I did when trialling and now using wpkg live was dredge out an old and unused PC capable of running XP Pro and set this up as a test workstation for wpkg packages before I roll things out to the live networks.<BR>
 <BR>
If you don't ever want wpkg to remove an entry from the local wpkg.xml file then just leave the entry in the profile.xml.<BR>                                       <br /><hr />View your other email accounts from your Hotmail inbox. <a href='http://clk.atdmt.com/UKM/go/167688463/direct/01/' target='_new'>Add them now.</a></body>
</html>