Comparaison de variable version stable vs nighty build

Vous voulez de l'aide ? Postez ici :)
Post Reply
Tara42
Posts: 40
Joined: 16 Jul 2014, 21:54

Comparaison de variable version stable vs nighty build

Post by Tara42 »

Bonjour,

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>
Merci par avance pour vos explications et le cas échéant vos propositions de code :wink:
User avatar
Jmgr
Admin
Posts: 1650
Joined: 07 Dec 2005, 15:45
Contact:

Re: Comparaison de variable version stable vs nighty build

Post by Jmgr »

Merci d'avoir signalé le bug. C'est peut-être la migration de Qt 4 à Qt 5 entre la version 3.8.0 et 3.9.0 qui est à l'origine ce ce changement de comportement.

Je n'ai pas trop le temps de m'en occuper pour l'instant, ma priorité pour l'instant c'est de sortir la version 3.9.0, quitte à sortir une version 3.9.1 si nécessaire d'ici quelques semaines/mois.
"My software never has bugs. It just develops random features."
Post Reply