none
Problème BEX RRS feed

  • 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.

    lundi 16 juin 2014 12:07

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++


    lundi 16 juin 2014 17:32
    Modérateur
  • 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.

    mardi 17 juin 2014 14:44

Toutes les réponses

  • Bonjour,

    Pouvez-vous nous transmettre l'erreur exacte ?

    Cordialement,


    Kevin BEAUGRAND, Modis FRANCE
    Merci de bien vouloir "Marquer comme réponse", les réponses qui ont résolu votre problème.

    lundi 16 juin 2014 16:07
  • 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++


    lundi 16 juin 2014 17:32
    Modérateur
  • 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

    mardi 17 juin 2014 14:32
  • 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.

    mardi 17 juin 2014 14:44
  • Bonjour M. BACELAR,

    je pense que le souci provient de l'accès à la base de registre afin de configurer des options sur WordPad.

    merci.

    Nicolas

    mardi 17 juin 2014 15:54
  • "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++

    mardi 17 juin 2014 16:23
    Modérateur
  • 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

    mercredi 18 juin 2014 09:37
  • 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++

    mercredi 18 juin 2014 16:25
    Modérateur