Aller au contenu

Maxthon 3.3.8.1000 Finale est sorti


Ldfa

Messages recommandés

Voici les nouvelles sources avec la prise en charge des nouveaux noms des DLL Flash.

Je récupère le nom dans une clé de registre créée par Adobe.

 

Comme la copie de fichier avec renommage génère toujours une erreur (mais ça copie quand même) je fait d'abord une suppression (pour vérifier que Maxthon n'est pas ouvert) puis ensuite la copie.

 

Testé avec plusieurs cas de figure sous Windows 7 64 bits et Windows XP 32 bits.

(merci) TruuuC,

Si tu as un peu de temps tu peux m'expliquer ce que fait ton petit programme pour détecter la bonne dll de Flash, je ne comprends rien ou presque rien au code nsis ?

Lien vers le commentaire
Partager sur d’autres sites

Je n'ai pas eu de pub, mais la règle suivante par défaut du tueur de pub de Maxthon semble l'avoir supprimée.

*/pagead/*

As-tu coché l'option 'Souscrire aux règles du tueur de pubs' pour récupérer la liste des règles globales qui n'est toujours pas éditable ? :unsure:

Ah.. Non (enfin, maintenant oui :3)

J'espère que ça marchera, je vous tiens au courant ! Merci en tout cas !

 

 

:)

 

 

EDIT : Au premier abord, ça à l'air de marcher. (Je suis stupide d'avoir décocher le truc, j'ai pas du faire gaffe ahaha)

Lien vers le commentaire
Partager sur d’autres sites

(merci) TruuuC,

Si tu as un peu de temps tu peux m'expliquer ce que fait ton petit programme pour détecter la bonne dll de Flash, je ne comprends rien ou presque rien au code nsis ?

D'abord pour les Windows 64bits je force la lecture du registre en 32bits (clé SOFTWARE\Wow6432Node).

SetRegView 32

Ensuite je récupère dans une variable l'adresse complète de la DLL Flash dans la clé de registre d'Adobe.

ReadRegStr $FlashDLLPath HKLM "SOFTWARE\Macromedia\FlashPlayerPlugin" "PlayerPath"

Puis je récupère la version de cette DLL avec une fonction dispo dans la doc NSIS.

GetDLLVersion $FlashDLLPath $R0 $R1
IntOp $R2 $R0 / 0x00010000
IntOp $R3 $R0 & 0x0000FFFF
IntOp $R4 $R1 / 0x00010000
IntOp $R5 $R1 & 0x0000FFFF
StrCpy $0 "$R2.$R3.$R4.$R5"

Maintenant je récupère la version de la DLL de Maxthon.

GetDLLVersion $INSTDIR\Core\Webkit\Npplugins\NPSWF32.dll $R0 $R1
 IntOp $R2 $R0 / 0x00010000
 IntOp $R3 $R0 & 0x0000FFFF
 IntOp $R4 $R1 / 0x00010000
 IntOp $R5 $R1 & 0x0000FFFF
 StrCpy $1 "$R2.$R3.$R4.$R5"

Et je compare les 2 versions

${VersionCompare} "$0" "$1" $2

Si la comparaison donne 1, la DLL de Windows est plus récente que celle de Maxthon, on exécute donc la mise à jour (Done) sinon, si la comparaison donne 0 (verison identique) ou 2 (DLL Maxthon plus récente) on ne fait rien (End)

StrCmp $2 "1" Done End

Lien vers le commentaire
Partager sur d’autres sites

D'abord pour les Windows 64bits je force la lecture du registre en 32bits (clé SOFTWARE\Wow6432Node).

SetRegView 32

Ensuite je récupère dans une variable l'adresse complète de la DLL Flash dans la clé de registre d'Adobe.

ReadRegStr $FlashDLLPath HKLM "SOFTWARE\Macromedia\FlashPlayerPlugin" "PlayerPath"

Puis je récupère la version de cette DLL avec une fonction dispo dans la doc NSIS.

GetDLLVersion $FlashDLLPath $R0 $R1
IntOp $R2 $R0 / 0x00010000
IntOp $R3 $R0 & 0x0000FFFF
IntOp $R4 $R1 / 0x00010000
IntOp $R5 $R1 & 0x0000FFFF
StrCpy $0 "$R2.$R3.$R4.$R5"

Maintenant je récupère la version de la DLL de Maxthon.

GetDLLVersion $INSTDIR\Core\Webkit\Npplugins\NPSWF32.dll $R0 $R1
 IntOp $R2 $R0 / 0x00010000
 IntOp $R3 $R0 & 0x0000FFFF
 IntOp $R4 $R1 / 0x00010000
 IntOp $R5 $R1 & 0x0000FFFF
 StrCpy $1 "$R2.$R3.$R4.$R5"

Et je compare les 2 versions

${VersionCompare} "$0" "$1" $2

Si la comparaison donne 1, la DLL de Windows est plus récente que celle de Maxthon, on exécute donc la mise à jour (Done) sinon, si la comparaison donne 0 (verison identique) ou 2 (DLL Maxthon plus récente) on ne fait rien (End)

StrCmp $2 "1" Done End

Un grand (merci) TruuuC, pour cette explication lumineuse (pour moi) de cette partie du code nsis ! -^-
Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.