OVH Cloud OVH Cloud

Erreur automation avec Word

2 réponses
Avatar
Emmanuel COCHERIL
Bonjour à tous,



J'ai écrit une dll en VB6, « maDll », qui fait de l'automation avec Word
2000. (Pour la lecture d'un document Word)



J'ai créé une Application COM+ sur mon serveur IIS, sous le compte «
monCompte »., que j'appelle « monLot ». J'ai ajouté « maDll » dans cette
application.



« monCompte » à Full contrôle (pour l'instant) sur tout le disque dur, au
niveau des droits NTFS.

« monCompte » fait aussi partie du groupe « Utilisateurs »



Lorsque ma page ASP appelle cette dll « maDll », j'ai l'erreur suivante :



Erreur numéro : 5981 // Ma dll retourne le numéro d'erreur VB6
Description: Impossible d'ouvrir la macro de stockage.



Voici l'appel de ma Dll dans la mage ASP :

'..

set x = CreateObject("maDll.maClass").

'...





J'ai vérifié les propriétés DCOM avec « Dcmcnfg »

Microsoft Document Word = identité « Exécutant »

Machine Debug Manager= identité « Administrateur »



Configuration de la machine:

Windows Serveur 2000 + sp3 + IIS5

Word 2000

Dll écrite en VB6 + sp5



Si je mets « monCompte » dans le groupe « Administrateurs », cela
fonctionne.

Si j'ouvre, sur la console locale, une session sous le nom de « monCompte »,
cela fonctionne.



Mais je n'arrive pas à voir pourquoi cela ne fonctionne pas quand
"monCompte" est dans le groupe "Utilsiateurs".

Je ne veut pas mettre « monCompte » dans le groupe « Administrateurs », par
mesure de sécurité.



Quels sont les droits qu'ils manquent ...



Il y a t'il un autre serveur COM à paramétrer dans DCOM ??? ou autre chose .



Si quelqu'un a une idée, je suis intéressé



Merci beaucoup



Emmanuel

2 réponses

Avatar
Yann-Loïc [MS]
Bonjour,

Cette erreur provient soit d'un manque de permissions soit
d'un défaut de profile utilisateur.

http://support.microsoft.com/default.aspx?scid=kb;en-
us;257757

Essayes FileMon et RegMon dans un premier temps pour
éliminer les problèmes de permissions, disponibles depuis
http://www.sysinternals.com

Yann-Loïc

-----Message d'origine-----
Bonjour à tous,



J'ai écrit une dll en VB6, « maDll », qui fait de


l'automation avec Word
2000. (Pour la lecture d'un document Word)



J'ai créé une Application COM+ sur mon serveur IIS, sous


le compte «
monCompte »., que j'appelle « monLot ». J'ai ajouté «


maDll » dans cette
application.



« monCompte » à Full contrôle (pour l'instant) sur tout


le disque dur, au
niveau des droits NTFS.

« monCompte » fait aussi partie du groupe « Utilisateurs »



Lorsque ma page ASP appelle cette dll « maDll », j'ai


l'erreur suivante :



Erreur numéro : 5981 // Ma dll retourne le numéro


d'erreur VB6
Description: Impossible d'ouvrir la macro de stockage.



Voici l'appel de ma Dll dans la mage ASP :

'..

set x = CreateObject("maDll.maClass").

'...





J'ai vérifié les propriétés DCOM avec « Dcmcnfg »

Microsoft Document Word = identité «


Exécutant »

Machine Debug Manager= identité « Administrateur »



Configuration de la machine:

Windows Serveur 2000 + sp3 + IIS5

Word 2000

Dll écrite en VB6 + sp5



Si je mets « monCompte » dans le groupe «


Administrateurs », cela
fonctionne.

Si j'ouvre, sur la console locale, une session sous le


nom de « monCompte »,
cela fonctionne.



Mais je n'arrive pas à voir pourquoi cela ne fonctionne


pas quand
"monCompte" est dans le groupe "Utilsiateurs".

Je ne veut pas mettre « monCompte » dans le groupe «


Administrateurs », par
mesure de sécurité.



Quels sont les droits qu'ils manquent ...



Il y a t'il un autre serveur COM à paramétrer dans


DCOM ??? ou autre chose .



Si quelqu'un a une idée, je suis intéressé



Merci beaucoup



Emmanuel




.



Avatar
Emmanuel COCHERIL
Bonjour Yann-Loic

Merci de ton aide, et grace au lien sur microsoft, j'ai trouvé l'information
que me manquait.

Effectivement, j'avais bien compris qu'il sagissait d'un pb de droits, mais
lequel....
Je dirais qu'il s'agit plutot d'une erreur de profil.

Explication:
Losque mon serveur COM est lancé en automation, par le biais de la page ASP
(donc avec le compte "monCompte"), la ruche de la registry de ce compte
n'est pas chargée. C'est la ruche ".Default" qui est chargée à la place.
Cette ruche ne contient aucune information sur Word ==> d'ou échec
d'automation.

Il faut en fait lancer un service NT sous le compte "monCompte". ==>
"Démarrage Automatique"
Dans ce cas la ruche de la registry de "monCompte" est chargée au démarrage
de la machine, et lorsque mon serveur COM est appelé, la ruche étant déjà
chargée par le service , Word trouve ses informations pour se lancer
correctement. ==> cela fonctionne.


Le service NT peux être n'importe quoi (J'ai utilisé le service VNC, pour
faire mes essais.)
On pourrait créer un service bidon, qui ne fait rien, mais se charge au
démarrage de la machine.

Merci beaucoup pour ta piste.

Emmanuel



"Yann-Loïc [MS]" a écrit dans le message de
news: 0dd001c38858$ec310140$
Bonjour,

Cette erreur provient soit d'un manque de permissions soit
d'un défaut de profile utilisateur.

http://support.microsoft.com/default.aspx?scid=kb;en-
us;257757

Essayes FileMon et RegMon dans un premier temps pour
éliminer les problèmes de permissions, disponibles depuis
http://www.sysinternals.com

Yann-Loïc

-----Message d'origine-----
Bonjour à tous,



J'ai écrit une dll en VB6, « maDll », qui fait de


l'automation avec Word
2000. (Pour la lecture d'un document Word)



J'ai créé une Application COM+ sur mon serveur IIS, sous


le compte «
monCompte »., que j'appelle « monLot ». J'ai ajouté «


maDll » dans cette
application.



« monCompte » à Full contrôle (pour l'instant) sur tout


le disque dur, au
niveau des droits NTFS.

« monCompte » fait aussi partie du groupe « Utilisateurs »



Lorsque ma page ASP appelle cette dll « maDll », j'ai


l'erreur suivante :



Erreur numéro : 5981 // Ma dll retourne le numéro


d'erreur VB6
Description: Impossible d'ouvrir la macro de stockage.



Voici l'appel de ma Dll dans la mage ASP :

'..

set x = CreateObject("maDll.maClass").

'...





J'ai vérifié les propriétés DCOM avec « Dcmcnfg »

Microsoft Document Word = identité «


Exécutant »

Machine Debug Manager= identité « Administrateur »



Configuration de la machine:

Windows Serveur 2000 + sp3 + IIS5

Word 2000

Dll écrite en VB6 + sp5



Si je mets « monCompte » dans le groupe «


Administrateurs », cela
fonctionne.

Si j'ouvre, sur la console locale, une session sous le


nom de « monCompte »,
cela fonctionne.



Mais je n'arrive pas à voir pourquoi cela ne fonctionne


pas quand
"monCompte" est dans le groupe "Utilsiateurs".

Je ne veut pas mettre « monCompte » dans le groupe «


Administrateurs », par
mesure de sécurité.



Quels sont les droits qu'ils manquent ...



Il y a t'il un autre serveur COM à paramétrer dans


DCOM ??? ou autre chose .



Si quelqu'un a une idée, je suis intéressé



Merci beaucoup



Emmanuel




.