2009-11-05 8 views
2

Je suis en train d'essayer de comprendre les privilèges utilisateur et les paramètres de sécurité de Vista. La situation est la suivante:Serveur COM Vista et hors processus

J'ai une application C++ 32 bits qui agit comme un serveur COM hors processus (== standalone exe). J'ai plusieurs applications client .Net, FoxPro, X ++ et C/AL qui utilisent ce serveur. Ils fonctionnent tous sur Windows XP. Ils fonctionnent souvent sous Windows Vista (32/64 ne semble pas faire la différence). Cependant, le comportement sur Vista est très erratique. Il va généralement quelque chose comme ceci:
1) instancier l'objet COM (donc à partir du serveur) du client -> succès
2) envoyer les deux premières commandes au serveur - Crash> succès
3) avec un exception indiquant que l'objet COM côté client n'est pas lié ?! WTF ?! Nous venons d'utiliser cet objet avec succès pour l'étape 2!

Cela fonctionne toujours correctement et de manière fiable si je fais "démarrer en tant qu'administrateur" sur le programme client. Cependant, le simple fait d'être connecté en tant qu'administrateur et de lancer le client en double-cliquant échouera. Quelle est la différence entre les deux? Le client et le serveur s'exécutent localement sur la même machine. C'est une installation propre de Vista Ultimate 32 bits sur une machine virtuelle.

Je suis complètement à bout de nerfs ici. Aucune suggestion?

+0

Des messages d'erreur dans votre journal système? –

+0

À l'exception de System.NullReferenceException du client - no. – BuschnicK

Répondre

0

Quelques commentaires sur les différences entre être un administrateur et un ADMINISTRATEUR vista ici: link text

Pouvez-vous installer votre objet com comme un service correct, je pense que par défaut, il fonctionne alors comme le ADMINISTRATEUR

+0

Merci pour le lien. Non, l'application ne peut pas s'exécuter en tant que service. C'est une interface graphique qui doit lancer/quitter à la demande et autoriser plusieurs instances simultanées. – BuschnicK

Questions connexes