<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=iso-8859-1"><meta name=Generator content="Microsoft Word 14 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";
        color:black;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";
        color:black;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
        {mso-style-priority:99;
        mso-style-link:"Balloon Text Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:8.0pt;
        font-family:"Tahoma","sans-serif";
        color:black;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";
        color:black;}
span.BalloonTextChar
        {mso-style-name:"Balloon Text Char";
        mso-style-priority:99;
        mso-style-link:"Balloon Text";
        font-family:"Tahoma","sans-serif";}
span.EmailStyle20
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
span.EmailStyle21
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:"Consolas","serif";
        color:black;}
span.EmailStyle24
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body bgcolor=white lang=EN-US link=blue vlink=purple><div class=WordSection1><p class=MsoNormal><span style='color:#1F497D'>The new switches /download and /nodownload I proposed would be used to distinguish between what the client is supposed to do and what the server is supposed to do.<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>/download would cause ONLY the download tag to be used, and all other tags would be ignored. /nodownload would ignore all /download tags, but otherwise process the installation as usual (or as specified by other switches).<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>Since the client would never download, the target would only have to be specified on the server (obviously, it must be possible to specify the target PATH, just as the original requester proposed). <o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>For instance, let’s say that clients see this directory structure:<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>\\SERVER\Software\wpkg\packages<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>\\SERVER\Software\wpkg\packagedata<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='color:#1F497D'><a href="file:///\\SERVER\Software">\\SERVER\Software</a> might translate to D:\Software on the server.<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>The way I would use it is this. On the server, run the following every day at midnight:<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>SET SOFTWAREDOWNLOAD=D:\Software\wpkg\packagedata<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>Wpkg.js /download<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>(note: this isn’t going to work on a Linux server, of course. An enhancement to my suggestion would be to make the download part portable).<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>On the client, run the following on bootup (or whenever you like):<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>SET SOFTWAREDOWNLOAD=\\SERVER\Software\wpkg\packagedata<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>Wpkg.js /nodownload /synchronize<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>A sample package file for Firefox might look something like this:<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='color:#1F497D'><?xml version="1.0" encoding="UTF-8"?><o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'><packages><o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>  <package id="firefox"  name="Mozilla Firefox 3.6.11" revision="3611" reboot="false" priority="10"><o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>       <download url="http://releases.mozilla.org/pub/mozilla.org/firefox/releases/3.6.11/win32/en-US/Firefox%20Setup%203.6.11.exe" targetpath=”%SOFTWAREDOWNLOAD%\firefox” /><o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>      <check type="uninstall" condition="exists" path="Mozilla Firefox (3.6.11)" /><o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>      <install cmd='"%SOFTWAREDOWNLOAD%\firefox\Firefox Setup 3.6.11.exe" -ms'/><o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>      <upgrade cmd='"% SOFTWAREDOWNLOAD %\firefox\Firefox Setup 3.6.11.exe" -ms'/><o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>      <remove cmd='"%PROGRAMFILES%\Mozilla Firefox\uninstall\helper.exe" /s' /><o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>    </package><o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'></packages><o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p><div><div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal style='margin-left:.5in'><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif";color:windowtext'>From:</span></b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif";color:windowtext'> wpkg-users-bounces@lists.wpkg.org [mailto:wpkg-users-bounces@lists.wpkg.org] <b>On Behalf Of </b>Falko Trojahn<br><b>Sent:</b> Thursday, October 21, 2010 2:27 AM<br><b>To:</b> wpkg-users@lists.wpkg.org<br><b>Subject:</b> Re: [wpkg-users] wpkg: proposed changes to <download> tag<o:p></o:p></span></p></div></div><p class=MsoNormal style='margin-left:.5in'><o:p> </o:p></p><p class=MsoNormal style='margin-left:.5in'>Am 14.10.2010 11:44, schrieb Kevin Keane: <o:p></o:p></p><p class=MsoNormal style='margin-left:.5in'><span style='color:#1F497D'>I like these ideas. I would like to have another related enhancement:</span><o:p></o:p></p><p class=MsoNormal style='margin-left:.5in'><span style='color:#1F497D'> </span><o:p></o:p></p><p class=MsoNormal style='margin-left:.5in'><span style='color:#1F497D'>Wpkg.js /download</span><o:p></o:p></p><p class=MsoNormal style='margin-left:.5in'><span style='color:#1F497D'> </span><o:p></o:p></p><p class=MsoNormal style='margin-left:.5in'><span style='color:#1F497D'>Should only do a download but not install or remove anything. </span><o:p></o:p></p><p class=MsoNormal style='margin-left:.5in'><span style='color:#1F497D'> </span><o:p></o:p></p><p class=MsoNormal style='margin-left:.5in'><span style='color:#1F497D'>Wpkg.js … /nodownload</span><o:p></o:p></p><p class=MsoNormal style='margin-left:.5in'><span style='color:#1F497D'> </span><o:p></o:p></p><p class=MsoNormal style='margin-left:.5in'><span style='color:#1F497D'>Should perform install operations but skip any download tags.</span><o:p></o:p></p><p class=MsoNormal style='margin-left:.5in'><span style='color:#1F497D'> </span><o:p></o:p></p><p class=MsoNormal style='margin-left:.5in'><span style='color:#1F497D'>In order for this to make sense, your proposed changes would also be required.</span><o:p></o:p></p><p class=MsoNormal style='margin-left:.5in'><span style='color:#1F497D'> </span><o:p></o:p></p><p class=MsoNormal style='margin-left:.5in'><span style='color:#1F497D'>Use case: the download could be done once on the server that wpkg runs off of and doesn’t have to be done on each individual workstation.</span><o:p></o:p></p><p class=MsoNormal style='margin-left:.5in'><span style='color:#1F497D'> </span><o:p></o:p></p><p class=MsoNormal style='margin-left:.5in'><span style='color:#1F497D'>Advantages:</span><o:p></o:p></p><p class=MsoNormal style='margin-left:.5in'><span style='color:#1F497D'> </span><o:p></o:p></p><p class=MsoListParagraph style='margin-left:1.0in;text-indent:-.25in'><span style='color:#1F497D'>Bandwidth saving</span><o:p></o:p></p><p class=MsoListParagraph style='margin-left:1.0in;text-indent:-.25in'><span style='color:#1F497D'>when using wpkg in a startup script, a download can eat dramatically into the startup script timeout.</span><o:p></o:p></p><p class=MsoNormal style='margin-left:.5in'><span style='font-size:12.0pt;font-family:"Times New Roman","serif"'>If the download will take place on the server, how should wpkg.js distinguish if it should download it again when started on the client? And, the target on server will be different from target on client ...<br><br>Best regards,<br>Falko <br><br><br><o:p></o:p></span></p><pre style='margin-left:.5in'>-- <o:p></o:p></pre><pre style='margin-left:.5in'>Falko Trojahn                     fon +49-341-3581294<o:p></o:p></pre><pre style='margin-left:.5in'>Dipl.-Ingenieur Netzwerke/Support fax +49-341-3581295<o:p></o:p></pre><pre style='margin-left:.5in'><o:p> </o:p></pre><pre style='margin-left:.5in'>SMI Softmark Informationstechnologien GmbH<o:p></o:p></pre><pre style='margin-left:.5in'>Sitz: D-04416 Markkleeberg, Friedrich-Ebert-Str. 51<o:p></o:p></pre><pre style='margin-left:.5in'>Registergericht: Amtsgericht Leipzig HRB 164<o:p></o:p></pre><pre style='margin-left:.5in'>Geschäftsführer: Andreas Griesmann<o:p></o:p></pre><pre style='margin-left:.5in'><a href="http://www.smi-softmark.de">www.smi-softmark.de</a> <a href="http://www.elektronisches-laborbuch.de">www.elektronisches-laborbuch.de</a><o:p></o:p></pre></div></body></html>