Pb Installation service C++ /clr

Signaler
Messages postés
3
Date d'inscription
vendredi 20 avril 2007
Statut
Membre
Dernière intervention
20 juillet 2007
-
Messages postés
3
Date d'inscription
vendredi 20 avril 2007
Statut
Membre
Dernière intervention
20 juillet 2007
-
Bonjour,

Voilà j'ai créé un service windows C++ avec Visual Studio 2005.
Il ne fait pour le moment que écrire dans le journal d'evenement.
Losque je compile le service avec /clr ou /clr:pure, j'obtiens bien le .exe.
Par contre à l'installation du service, avec /clr, impossible d'installer le service, j'obtiens l'erreur :
Une exception s'est produite lors de l'initialisation de l'installation :

System.IO.FileLoadException: Tentative de chargement d'un exécutable non vérifiable
 avec des corrections (table IAT avec plus de 2 sections ou une section TLS.)
 (Exception de HRESULT : 0x80131019).

J'ai l'impression que c'est un problème de sécurité mais je ne sais pas où la configurer.

Pour information, je souhaite mixer du code natif et du code managé dans mon service, d'où l'utilisation de /clr .
Toute suggestion est la bienvenue !

Merci.
Squale

3 réponses

Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
14
Salut,

Effectivement, on dirait un problème de sécurité...

Une suggestion : mettre la partie native dans une dll (non managée) si possible.

Comme ça tu auras un zolie executable bien .net tout ça, et le chargeur ne criserat peut être pas.
Messages postés
3
Date d'inscription
vendredi 20 avril 2007
Statut
Membre
Dernière intervention
20 juillet 2007

Salut,

Merci pour cette réponse rt15 , mais malheureusement pour le moment je n'ai pas ajouté de code natif.
J'ai juste voulu installer le service en le compilant avec /clr.
Est ce qu'il n'y aurait pas dans l'assembly ou ailleurs une sécurité à spécifier.
Par exemple en c#, lorsque l'on va dans la propriété du projet il y a un onglet sécurité et on peut définir une confiance totale.

Je suis encore à mes débuts sous Visual C++ et .Net et novice dans les services windows donc je rame un peu....
Si quelqu'un connait le sujet, merci de me répondre !!
Messages postés
3
Date d'inscription
vendredi 20 avril 2007
Statut
Membre
Dernière intervention
20 juillet 2007

Eureka !!!
Après deux jours de recherche, je viens de trouver grâce à codeguru.

http://www.codeguru.com/csharp/.net/cpp_managed/windowsservices/article.php/c4877/

En fait, (bravo microsoft) il faut installer le service comme :
    > monService.exe -Install

 et non    >installutil EssaiService.exe ou par le projet de déploiement créé avec Visual (lu dans beaucoup de docs sur la MSDN)

Ce qui est vraiment bizarre c'est que cela fonctionne avec /clr:pure.
En espérant maintenant que cela fonctionne encore lorsque je vais vraiment ajouter le code natif....

Espérant aussi que cela en aura aidé d'autres.