Alian Web Server
  

III Java Package manager :
Explications et exemples
   

1 Passez les paramètres particuliers à la balise <applet>
2 Compilez le .cab avec dubuild
3 Pour installer plusieurs archives
4.Utiliser plusieurs archives
5 Comment cela fonctionne ?

 

1 Passez les paramètres particuliers à la balise <applet>

Voici un exemple d’utilisation dans l’appel de l’applet GeoClient.class qui utilise l’archive geo.cab

<applet name="alian" code="MyApplet.class" width="470" height="460">
<param name="project" value="al.geo">
<param name= "namespace" value="AlianApplet">
<param name="useslibrary" value="AlianApplet">
<param name="useslibrarycodebase" value="myapplet.cab">
<param name="useslibraryversion" value="1,0,0,0">
There is a Java applet here. To use it, you need a Java aware browser with Java enabled.
</applet>

Paramètres :

"namespace" Espace nom à utiliser
"useslibrary"  
"useslibrarycodebase" Nom de l’archive à utiliser
"useslibraryversion" Version à utiliser
  bouton_bleu.gif (1689 octets)  

2 Compilez le .cab avec dubuild

echo *-- Creation de l’archive pour Internet Explorer (.cab) ...
dubuild geo.cab . /D "AlianApplet" /N "AlianApplet" /I *.* /V 1,0,0,0
echo *-- Creation d'un certificat pour l'archive d'Internet Explorer (.cab) ...
makecert -sk AlianKey -n "CN=Alian Facilities" MonCertif.cer
echo *-- Cryptage du certificat ...
cert2spc MonCertif.cer MonCertif.spc
echo *-- Signature de l'archive ...
signcode -j javasign.dll -jp medium -spc MonCertif.spc -k AlianKey myapplet.cab

 

  bouton_bleu.gif (1689 octets) 3 Pour installer plusieurs archives

Pour installer une archive sans éxécuter d'applet, ne passez pas d’attribut code= à la balise </applet> (utilisation dans le cas d’installations multiples d’archives …).

Exemple :

<html><body>
<applet width="1" height="1">
<param name=namespace value="AlianApplet">
<param name="useslibrary" value="AlianApplet">
<param name="useslibrarycodebase" value="swing.cab">
<param name="useslibraryversion" value="1,0,0,0">
There is a Java applet here. To use it, you need a Java aware browser with Java enabled.
</applet>
</body></html>

On peut enchainer plusieurs pages à l’aide de la balise Javascript onLoad() ; Lorsque la page est chargée, on redirige le navigateur vers le prochain stade d’installation.

Exemple :

<html><head>
<script language="Javascript">
function setURL()
   {
   this.document.location=   
   "http://127.0.0.1/acces_java/jar/second.htm";
   alert("Première étape effectuée.");
   }
</script>
</head>
<body onload="setURL();">
<applet mayscript width="1" height="1">
<param name="namespace" value="AlianApplet">
<param name="useslibrary" value="AlianApplet">
<param name="useslibrarycodebase" value="swing.cab">
<param name="useslibraryversion" value="1,0,0,0">
There is a Java applet here. To use it, you need a Java aware browser with Java enabled.
</applet>
Attendez une minute, installation en cours ....
</body></html>

 

 

 

(Un fichier .OSD est une liste générée automatiquement par dubuild des packages contenus dans une archive cabinet (.cab))

  bouton_bleu.gif (1689 octets)  

4 Utiliser plusieurs archives

Pour utiliser plusieurs archives (.cab), il faut faire un fichier .osd personnalisé. ). Ce .OSD va pointer vers les différentes archives à utiliser. Il faut faire une archive .cab avec ce fichier uniquement. Le point OSD pointe vers les autres packages à installer. Ceux-ci doivent être crypté, mais ne requièrent pas de .osd.

Conseil : Pour fabriquer le corps du fichier, utiliser les .osd générés par dubuild sur chacune de vos archives.

Exemple : fichier .osd pour utiliser de multiples archives :
<?XML version="1.0"?>
<!DOCTYPE SOFTPKG SYSTEM
"http://www.microsoft.com/standards/osd/osd.dtd">
<?XML::namespace HREF="/java/ie/http://www.microsoft.com/standards/osd/msicd.dtd" as="MSICD"?>

<SOFTPKG NAME="Alian Installation" VERSION="0,0,0,1">
<TITLE>Alian zuper auto - Installation</TITLE>
<ABSTRACT>This is some text that doesn't seem to be used by anything</ABSTRACT>
<MSICD::JAVA>
<NAMESPACE>AlianApplet</NAMESPACE>

<!-- Swing 1.1.1 Packages -->
<PACKAGE NAME="com.sun.java.swing.plaf.mac" VERSION="1,1,1,0">
<IMPLEMENTATION>
<CODEBASE HREF="/acces_java/jar/swing.cab" />
</IMPLEMENTATION>
</PACKAGE>

<PACKAGE NAME="com.sun.java.swing.plaf.mac.icons" VERSION="1,1,1,0">
<IMPLEMENTATION>
<CODEBASE HREF="/acces_java/jar/swing.cab" />
</IMPLEMENTATION>
</PACKAGE>

<PACKAGE NAME="javax.accessibility" VERSION="1,1,1,0">
<IMPLEMENTATION>
<CODEBASE HREF="/acces_java/jar/swing.cab" />
</IMPLEMENTATION>
</PACKAGE>

<!-- My own software -->
<PACKAGE NAME="alian" VERSION="0,0,0,1">
<IMPLEMENTATION>
<CODEBASE HREF="/acces_java/jar/geo.cab" />
</IMPLEMENTATION>
</PACKAGE>

</MSICD::JAVA>
</SOFTPKG>

Page HTML :

<applet mayscript name="alian" code="GeoClient.class">
<param name=namespace value="AlianApplet">
<param name="useslibrary" value="Alian Installation">
<param name="useslibrarycodebase" value="alian.cab">
<param name="useslibraryversion" value="0,0,0,1">
</applet>

   VIM =
Machine Virtuelle Java

bouton_bleu.gif (1689 octets)  

5 Comment cela fonctionne ?

Lorsque la VIM charge l’applet, elle sait qu’elle doit utiliser l’application défini par "namespace". Elle regarde donc dans c:\<win directory>\Downloaded Program Files si une application de ce nom s’y trouve, sinon elle télécharge le fichier .cab spécifié par la balise " useslibrarycodebase ".

Ensuite suivant la classe utilisée, elle utilise le contexte défini à l’archivage par la balise /N et /D. On peut vérifier si le contexte d’appel à une classe est correcte en regardant le contenu de <win directory>/Download Program File/<namespace> à l’aide d’un click droit, puis onglet " Dépendance ".

Le " namespace " est fixé par dubuild et stocké dans un fichier de nommé <namespace>.OSD. On peut définir ce fichier à la main puis l’ajouter dans l’archive.

La création de l’archive se fait alors avec cabarc. (cabarc -r -p -s 6144 total.cab *.*).