Pb Installation service C++ /clr

ags_squale Messages postés 3 Date d'inscription vendredi 20 avril 2007 Statut Membre Dernière intervention 20 juillet 2007 - 20 juil. 2007 à 11:53
ags_squale Messages postés 3 Date d'inscription vendredi 20 avril 2007 Statut Membre Dernière intervention 20 juillet 2007 - 20 juil. 2007 à 15:00
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

cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
20 juil. 2007 à 13:01
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.
0
ags_squale Messages postés 3 Date d'inscription vendredi 20 avril 2007 Statut Membre Dernière intervention 20 juillet 2007
20 juil. 2007 à 13:26
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 !!
0
ags_squale Messages postés 3 Date d'inscription vendredi 20 avril 2007 Statut Membre Dernière intervention 20 juillet 2007
20 juil. 2007 à 15:00
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.
0
Rejoignez-nous