2015-03-30 3 views
0

J'ai créé un service Windows simple (par exemple MyService.exe) et un serveur COM (ATL) (par exemple MyCOMServer.exe).Autorisation requise pour CreateInstance de COMserver à partir d'un service

Je voudrais que le service crée une instance d'une interface exposée par MyCOMServer. Le COMserver ne fait actuellement rien.

Il fonctionne si le compte de service est « système local », ou un utilisateur qui est membre du groupe d'administrateur, mais pas avec un utilisateur standard ou « service local »

Ma question est, ce sont au minimum les autorisations de compte utilisateur requises sont-elles nécessaires? Ou cela fonctionne-t-il seulement avec un compte avec des privilèges d'administrateur?

Répondre

0

Exécutez l'outil d'administration dcomcnfg à partir d'un compte d'administrateur et définissez les autorisations de lancement pour MyCOMServer spécifiquement (mieux) ou définissez les autorisations COM par défaut pour tout le monde.

  1. Component Services Ouvrez
  2. Ordinateurs ouverts
  3. Soit un clic droit sur « Poste de travail » pour définir des autorisations pour tous les utilisateurs, ou ouvrir ça, ouvert DCOM Config et trouver et faites un clic droit MyCOMServer qui devrait être listé.
  4. Pour les autorisations d'accès et les autorisations de lancement et d'activation, vous pouvez ajouter un nom d'utilisateur spécifique, ou ajouter un nom comme INTERACTIVE pour toute personne connectée localement, ou tout le monde pour tout le monde. Dans ces sections pour l'utilisateur sélectionné, assurez-vous que l'accès local, le lancement local et l'activation locale sont cochés pour "autoriser".
+0

Merci, mais MyCOMServer n'est pas répertorié dans DCOM. Mais puisque ce n'est pas un serveur DCOM, mais juste un simple serveur com, je suppose que c'est logique? Est-ce que ça doit être DCOM? – Kim