2017-06-23 2 views
0

Je voudrais savoir si quelqu'un peut m'expliquer pourquoi je ne peux pas exécuter une version de l'outil Windows compressée par UPX: "calc.exe" (version 32 bits) sous Windows 7 ou Windows 10 , mais sur Windows XP le "calc.exe" emballé fonctionne sans problèmes (sur toutes les conversions je n'ai eu aucun message d'erreurs et de bons taux d'emballage d'environ 50%).Pack calc.exe avec UPX

Est-ce la raison pour laquelle calc-versions depuis Windows 7 utilisent plus de dépendances comme .NET ou sont en quelque sorte protégés par un mécanisme de sécurité plus sophistiqué de ces systèmes d'exploitation? J'utilise la dernière version 3.94 de UPX.

Cordialement,

Andreas

Répondre

1

Je pense que le problème est lié à la MUI resource et MUI satellite DLLs. Essayez l'option UPX --compress-resources=0 en utilisant l'option

. Si vous souhaitez compresser certaines des autres ressources, vous pouvez essayer --keep-resource= à la place.

Si vous déplacer/renommer Calc.exe vous devez également vous assurer que vous faites la même chose avec le fichier .mui:

md myCompressedCalc 
cd myCompressedCalc 
copy %windir%\System32\calc.exe .\ 
md .\en-us 
copy %windir%\System32\en-US\calc.exe.mui .\en-us\ 
upx --compress-resources=0 .\calc.exe 
+0

Merci pour les informations sur les dépendances MUI, je ne savais pas cela. J'ai essayé l'option '--compress-resources = 0' sans succès, puis j'ai joué un peu avec les autres options' win32/pe'. Mais même si je mets toutes les options à zéro, le résultat est le même (quand je faisais ça, ça me confondait, que le taux de compression et la taille du fichier sont toujours exactement les mêmes qu'avant, donc il semble que la désactivation de ces options n'a aucun effet). – Andreas

+0

Cela fonctionne très bien pour moi sur Windows 8. – Anders

+0

Merci, maintenant cela fonctionne aussi pour moi sur Windows 7. – Andreas