Le code suivant fonctionne correctement avec la version stable (la comparaison est OK) avec l'élément de comparaison "Egal (=)" et pas avec les dernières nighty builds. Pour contourner le problème, il faut alors utiliser l'élément de comparaison "Contient".
Proposition d'explication : dans un cas le caractère de fin de fichier est pris en compte et dans l'autre non.
A noter que la comparaison directe (sans transformation en fichier texte) ne marche pas dans les deux cas (version stable et nighty builds) pour la lecture d'une donnée du registre (comme dans cet exemple avec le ProductId).
Code: Select all
<?xml version="1.0" encoding="UTF-8"?>
<scriptfile>
<settings program="actionaz" version="3.8.0" scriptVersion="1.1.0" os="Windows"/>
<actions>
<action name="ActionStop" version="1.0.0"/>
<action name="ActionMessageBox" version="1.0.0"/>
<action name="ActionVariable" version="1.0.0"/>
<action name="ActionReadTextFile" version="1.0.0"/>
<action name="ActionReadRegistry" version="1.0.0"/>
<action name="ActionWriteTextFile" version="1.0.0"/>
<action name="ActionVariableCondition" version="1.0.0"/>
</actions>
<parameters/>
<resources/>
<script pauseBefore="0" pauseAfter="0">
<action name="ActionVariable" comment="ProductId à vérifier">
<exception id="0" action="0" line=""/>
<exception id="1" action="0" line=""/>
<exception id="2" action="1" line=""/>
<exception id="32" action="0" line=""/>
<parameter name="colorValue">
<subParameter name="value" code="0"></subParameter>
</parameter>
<parameter name="variable">
<subParameter name="value" code="0">SECURECONTROL</subParameter>
</parameter>
<parameter name="type">
<subParameter name="value" code="0">string</subParameter>
</parameter>
<parameter name="value">
<subParameter name="value" code="0">00359-OEM-8992687-00057</subParameter>
</parameter>
<parameter name="positionValue">
<subParameter name="unit" code="0">0</subParameter>
<subParameter name="value" code="0"></subParameter>
</parameter>
</action>
<action name="ActionMessageBox" comment="Affichage du ProductId à vérifier">
<exception id="0" action="0" line=""/>
<exception id="1" action="0" line=""/>
<exception id="2" action="1" line=""/>
<parameter name="windowIcon">
<subParameter name="value" code="0"></subParameter>
</parameter>
<parameter name="message">
<subParameter name="value" code="0">ProductId à vérifier : $SECURECONTROL</subParameter>
</parameter>
<parameter name="title">
<subParameter name="value" code="0"></subParameter>
</parameter>
<parameter name="textMode">
<subParameter name="value" code="0">automatic</subParameter>
</parameter>
<parameter name="ifYes">
<subParameter name="line" code="0"></subParameter>
<subParameter name="action" code="0">do_nothing</subParameter>
</parameter>
<parameter name="customIcon">
<subParameter name="value" code="0"></subParameter>
</parameter>
<parameter name="icon">
<subParameter name="value" code="0">none</subParameter>
</parameter>
<parameter name="type">
<subParameter name="value" code="0">ok</subParameter>
</parameter>
<parameter name="ifNo">
<subParameter name="line" code="0"></subParameter>
<subParameter name="action" code="0">do_nothing</subParameter>
</parameter>
</action>
<action name="ActionReadRegistry" comment="Lecture du ProductId de la version de Windows installée sur le PC de l'utilisateur" pauseAfter="1000">
<exception id="0" action="0" line=""/>
<exception id="34" action="0" line=""/>
<exception id="1" action="0" line=""/>
<exception id="2" action="1" line=""/>
<exception id="32" action="0" line=""/>
<exception id="33" action="0" line=""/>
<parameter name="key">
<subParameter name="value" code="0">localMachine</subParameter>
</parameter>
<parameter name="variable">
<subParameter name="value" code="0">SECURE</subParameter>
</parameter>
<parameter name="value">
<subParameter name="value" code="0">ProductId</subParameter>
</parameter>
<parameter name="subKey">
<subParameter name="value" code="0">SOFTWARE\Microsoft\Windows NT\CurrentVersion</subParameter>
</parameter>
</action>
<action name="ActionMessageBox" comment="Affichage du ProductId de la version de Windows installée sur le PC de l'utilisateur">
<exception id="0" action="0" line=""/>
<exception id="1" action="0" line=""/>
<exception id="2" action="1" line=""/>
<parameter name="windowIcon">
<subParameter name="value" code="0"></subParameter>
</parameter>
<parameter name="message">
<subParameter name="value" code="0">Le ProductId de la version Windows du PC est : $SECURE</subParameter>
</parameter>
<parameter name="title">
<subParameter name="value" code="0"></subParameter>
</parameter>
<parameter name="textMode">
<subParameter name="value" code="0">automatic</subParameter>
</parameter>
<parameter name="ifYes">
<subParameter name="line" code="0"></subParameter>
<subParameter name="action" code="0">do_nothing</subParameter>
</parameter>
<parameter name="customIcon">
<subParameter name="value" code="0"></subParameter>
</parameter>
<parameter name="icon">
<subParameter name="value" code="0">none</subParameter>
</parameter>
<parameter name="type">
<subParameter name="value" code="0">ok</subParameter>
</parameter>
<parameter name="ifNo">
<subParameter name="line" code="0"></subParameter>
<subParameter name="action" code="0">do_nothing</subParameter>
</parameter>
</action>
<action name="ActionWriteTextFile" comment="Transformation en texte de la variable SECURE (ProductId)">
<exception id="0" action="0" line=""/>
<exception id="1" action="0" line=""/>
<exception id="2" action="1" line=""/>
<exception id="32" action="0" line=""/>
<parameter name="mode">
<subParameter name="value" code="0">truncate</subParameter>
</parameter>
<parameter name="file">
<subParameter name="value" code="0">C:/01-Autosign-Fichiers/Secure.txt</subParameter>
</parameter>
<parameter name="text">
<subParameter name="value" code="0">$SECURE</subParameter>
</parameter>
</action>
<action name="ActionReadTextFile" comment="Résultat de la variable transformée stocké dans la variable SECURETEXT">
<exception id="0" action="0" line=""/>
<exception id="1" action="0" line=""/>
<exception id="2" action="1" line=""/>
<exception id="32" action="0" line=""/>
<parameter name="firstline">
<subParameter name="value" code="0">1</subParameter>
</parameter>
<parameter name="mode">
<subParameter name="value" code="0">full</subParameter>
</parameter>
<parameter name="variable">
<subParameter name="value" code="0">SECURETEXT</subParameter>
</parameter>
<parameter name="file">
<subParameter name="value" code="0">C:/01-Autosign-Fichiers/Secure.txt</subParameter>
</parameter>
<parameter name="lastline">
<subParameter name="value" code="0">1</subParameter>
</parameter>
</action>
<action name="ActionVariableCondition" comment="Vérification du "ProductId" - PIdOK/PIdNoOK" color="#aaff7f">
<exception id="0" action="0" line=""/>
<exception id="1" action="0" line=""/>
<exception id="2" action="1" line=""/>
<parameter name="ifEqual">
<subParameter name="line" code="0">PIdOK</subParameter>
<subParameter name="action" code="0">goto</subParameter>
</parameter>
<parameter name="comparison">
<subParameter name="value" code="0">equal</subParameter>
</parameter>
<parameter name="variable">
<subParameter name="value" code="0">SECURETEXT</subParameter>
</parameter>
<parameter name="value">
<subParameter name="value" code="0">$SECURECONTROL</subParameter>
</parameter>
<parameter name="ifDifferent">
<subParameter name="line" code="0">PIdNoOK</subParameter>
<subParameter name="action" code="0">goto</subParameter>
</parameter>
</action>
<action name="ActionMessageBox" label="PIdOK" comment="C'est le même ProductId">
<exception id="0" action="0" line=""/>
<exception id="1" action="0" line=""/>
<exception id="2" action="1" line=""/>
<parameter name="windowIcon">
<subParameter name="value" code="0"></subParameter>
</parameter>
<parameter name="message">
<subParameter name="value" code="0">C'est le même ProductId</subParameter>
</parameter>
<parameter name="title">
<subParameter name="value" code="0"></subParameter>
</parameter>
<parameter name="textMode">
<subParameter name="value" code="0">automatic</subParameter>
</parameter>
<parameter name="ifYes">
<subParameter name="line" code="0"></subParameter>
<subParameter name="action" code="0">do_nothing</subParameter>
</parameter>
<parameter name="customIcon">
<subParameter name="value" code="0"></subParameter>
</parameter>
<parameter name="icon">
<subParameter name="value" code="0">information</subParameter>
</parameter>
<parameter name="type">
<subParameter name="value" code="0">ok</subParameter>
</parameter>
<parameter name="ifNo">
<subParameter name="line" code="0"></subParameter>
<subParameter name="action" code="0">do_nothing</subParameter>
</parameter>
</action>
<action name="ActionStop">
<exception id="0" action="0" line=""/>
<exception id="1" action="0" line=""/>
<exception id="2" action="1" line=""/>
</action>
<action name="ActionMessageBox" label="PIdNoOK" comment="Le ProductId est différent">
<exception id="0" action="0" line=""/>
<exception id="1" action="0" line=""/>
<exception id="2" action="1" line=""/>
<parameter name="windowIcon">
<subParameter name="value" code="0"></subParameter>
</parameter>
<parameter name="message">
<subParameter name="value" code="0">Le productId est différent !</subParameter>
</parameter>
<parameter name="title">
<subParameter name="value" code="0"></subParameter>
</parameter>
<parameter name="textMode">
<subParameter name="value" code="0">automatic</subParameter>
</parameter>
<parameter name="ifYes">
<subParameter name="line" code="0"></subParameter>
<subParameter name="action" code="0">do_nothing</subParameter>
</parameter>
<parameter name="customIcon">
<subParameter name="value" code="0"></subParameter>
</parameter>
<parameter name="icon">
<subParameter name="value" code="0">warning</subParameter>
</parameter>
<parameter name="type">
<subParameter name="value" code="0">ok</subParameter>
</parameter>
<parameter name="ifNo">
<subParameter name="line" code="0"></subParameter>
<subParameter name="action" code="0">do_nothing</subParameter>
</parameter>
</action>
<action name="ActionStop">
<exception id="0" action="0" line=""/>
<exception id="1" action="0" line=""/>
<exception id="2" action="1" line=""/>
</action>
</script>
</scriptfile>