2010-03-26 14 views
3

Nous avons une application Powerbuilder 10 qui utilise des assemblages COM .Net. Nous essayons d'intégrer le manifeste dans l'application PB (pour invoquer des assemblys COM sans enregistrement). Le fichier manifeste fusionné a ajouté des sections pour les dépendances sur les assemblys COM .Net. Nous avons essayé différents outils pour injecter le nouveau manifeste avec des résultats différents - en utilisant GenMan32 pour injecter tronque l'application de 6 Mo à 45 Ko. - en utilisant ResourceTuner, la taille du fichier semble correcte, mais essayer de lancer l'application donne "Fatal Disk Error".Appel de l'assemblage COM .Net à partir de l'application Powerbuilder (sans inscription)

Toute suggestion sur l'assembly .Net ComEnabled invoqué par PB sans inscription?

Répondre

1

Ceci est plus une redirection qu'une réponse. Une chose que vous devez savoir est que PowerBuilder produit des exécutables qui ne respectent pas les normes pour les fichiers exécutables Windows. Essentiellement, il s'agit d'une routine d'amorçage pour charger la machine virtuelle PowerBuilder, plus une collection de définitions de classe (objets). Les cas que vous avez évoqués ne sont pas les premiers dont j'ai entendu parler où les utilitaires destinés à modifier les exécutables ne fonctionnent pas sur les exécutables PowerBuilder.

En ce qui concerne une contribution positive sur les autres directions à suivre, je ne sais pas vraiment assez pour donner des conseils qualifiés. Si c'était moi, j'essayerais d'enregistrer l'objet COM si ConnectToNewObject() échoue, mais je n'ai aucune idée si cela est possible ou si cette route est une impasse.

Bonne chance,

Terry.

1

Avez-vous essayé avec un manifeste externe et assuré que cela fonctionne? Si un manifeste externe ne fonctionne pas, les informations du manifeste ne sont pas correctes. Une fois que vous avez un manifeste externe valide, vous pouvez essayer l'outil Manifest Tool (MT.EXE) à partir du SDK .Net. Cela fonctionne bien avec les vrais fichiers EXE. Comme l'a noté Terry, l'exécutable généré par PB contient des informations supplémentaires que les outils qui manipulent le fichier EXE doivent respecter ou ils vont le casser.

http://blogs.msdn.com/patricka/archive/2009/12/09/answers-to-several-application-manifest-mysteries-and-questions.aspx