Meilleur auteur de réponses
Problème BEX

Question
-
Bonjour,
je développe une application sous Visual Studio 8.0. Cette application s'exécute sans soucis apparents sur des postes Windows XP.
par contre sur certains postes sous Windows 7 et 8, l'application génère une erreur et cesse de fonctionner. L'erreur signale un problème BEX pour l'application. Sur le Net, il est fait mention de problème de compatibilité ou de droits utilisateurs.
Quelle solution peut corriger ce souci d'exécution ?
Peut-on installer cette application en appliquant la solution automatiquement sans intervention humaine ?
Merci d'avance pour la réponse.
Réponses
-
http://www.youtube.com/watch?v=cEkoK3EHOlU
Il s'agit d'une protection contre le code virale.
A moins que votre code soit un interpréteur, un émulateur ou un code auto-adaptatif comme un Virus ..., c'est le genre d'erreur qui montre un bug dans votre programme.Je commencerais donc par vérifier que cela n'est pas un bug latent que le système de protection de Win7 et Win8 n'ont fait que mettre au jour.
Si vous faite des trucs un peu tetchy comme un émulateur, vérifiez les informations modifiés dans la base de registre dans la vidéo, avec un process monitor (http://technet.microsoft.com/fr-fr/sysinternals/bb896645.aspx) par exemple, pour faire la même chose dans votre MSI d'installation, ou pour avoir des pistes sur la manière "officielle" de faire pareil.
Paul Bacelar, Ex - MVP VC++
- Modifié Paul BacelarModerator mardi 17 juin 2014 15:51
- Marqué comme réponse Nicolas E. Robin mercredi 18 juin 2014 09:38
-
Bonjour,
Avez-vous tenté la solution proposée par Paul Bacelar ?
Cordialement,
Kevin BEAUGRAND, Modis FRANCE
Merci de bien vouloir "Marquer comme réponse", les réponses qui ont résolu votre problème.- Marqué comme réponse Nicolas E. Robin mercredi 18 juin 2014 09:38
Toutes les réponses
-
-
http://www.youtube.com/watch?v=cEkoK3EHOlU
Il s'agit d'une protection contre le code virale.
A moins que votre code soit un interpréteur, un émulateur ou un code auto-adaptatif comme un Virus ..., c'est le genre d'erreur qui montre un bug dans votre programme.Je commencerais donc par vérifier que cela n'est pas un bug latent que le système de protection de Win7 et Win8 n'ont fait que mettre au jour.
Si vous faite des trucs un peu tetchy comme un émulateur, vérifiez les informations modifiés dans la base de registre dans la vidéo, avec un process monitor (http://technet.microsoft.com/fr-fr/sysinternals/bb896645.aspx) par exemple, pour faire la même chose dans votre MSI d'installation, ou pour avoir des pistes sur la manière "officielle" de faire pareil.
Paul Bacelar, Ex - MVP VC++
- Modifié Paul BacelarModerator mardi 17 juin 2014 15:51
- Marqué comme réponse Nicolas E. Robin mercredi 18 juin 2014 09:38
-
Bonjour M. BEAUGRAND,
voici la signature du problème :
"
Signature du problème :
Nom d’événement de problème: BEX
Nom de l’application: S5000DB.exe
Version de l’application: 2.25.4.0
Horodatage de l’application: 52b46009
Nom du module par défaut: MSVCR90.dll
Version du module par défaut: 9.0.30729.6161
Horodateur du module par défaut: 4dace5b9
Décalage de l’exception: 00031484
Code de l’exception: c0000417
Données d’exception: 00000000
Version du système: 6.1.7601.2.1.0.256.48
Identificateur de paramètres régionaux: 1036
Information supplémentaire n° 1: c27d
Information supplémentaire n° 2: c27dd003e55bb11ebc4a4fe8bd177b96
Information supplémentaire n° 3: afc8
Information supplémentaire n° 4: afc883f4af843042790d997a237d057b
"
Si cela peut vous éclairer.
Cordialement,
Nicolas ROBIN
-
Bonjour,
Avez-vous tenté la solution proposée par Paul Bacelar ?
Cordialement,
Kevin BEAUGRAND, Modis FRANCE
Merci de bien vouloir "Marquer comme réponse", les réponses qui ont résolu votre problème.- Marqué comme réponse Nicolas E. Robin mercredi 18 juin 2014 09:38
-
-
"S5000DB.exe" c'est pas "WorPad.exe".
Le code "c0000417" c'est quand on envoie nimportenawak à la C-Runtime (la C-Runtime est bien plus stricte), pas un problème de droit d'accès à la base de registre.
Je ne vois pas ce qui vous fait dire que c'est lié à la base de registre ou à WordPad.
Avez-vous fait les manipulations montrées dans la vidéo pour bien vérifier que je disais des conneries ???
Paul Bacelar, Ex - MVP VC++
-
Bonjour M. BACELAR,
je n'ai pas dit que c'était des conneries. J'ai suivi la vidéo que vous m'avez conseillé.
Mon application s'exécute correctement jusqu'à la fonctionnalité qui génère un fichier RTF.
Je veux bien admettre que mon application fait n'importe quoi. Cependant j'aimerai pouvoir remédier à ce souci.
Vos réponses m'ont aidé à dans la recherche de mon souci.
Merci.
Nicolas
-
Ok, on progresse.
On peut donc dire que "votre" code utilise une fonctionnalité dangereuse.
Comme je l'ai indiqué, les applications qui ont légitimement besoin de cette fonctionnalité sont très très particulières.
Il est donc, pour moi, indispensable de corriger votre application pour qu'elle n'ai pas à utiliser cette fonctionnalité.
Il se peut que ce n'est pas dans votre code, mais dans des modules tiers que cette fonctionnalité soit, peut-être abusivement, utilisée.
Vérifiez dans ce cas qu'une version à jours pour les OS Windows7 et 8, qui sont, par défaut plus durcis ( réduction de la surface d'attaque au niveau sécurité), existe. Et si oui, utilisez ces composants à jours.
Je ne comprends pas l'histoire de WordPad. Si votre programme plante sur un problème d'accès à la base de registre, l'outil indiqué dans mon premier post (Process Monitor) permettra de diagnostiquer le problème.
Comment générez-vous ce RTF ?
Comme il s'agit d'OS durcis au niveau sécurité, vous avez peut-être aussi un problème de sécurité sur les API de création de RTF, comme vous avez un problème sur l'exécution de code dans un segment de Data (le pb BEX initial)).
Paul Bacelar, Ex - MVP VC++