Enregistrement des composants com 1s 8.3 sur le serveur

Pour accéder à l'infobase à partir d'un programme externe, utilisez l'objet COM COMConnector. Selon la version de la plateforme, V82.COMConnector ou V83.COMConnector est utilisé. Lors de l'installation de la plateforme 1C, la classe COMConnector est automatiquement enregistrée dans le système d'exploitation. Si, pour une raison quelconque, l'enregistrement échoue, vous pouvez l'enregistrer manuellement.

Un exemple de travail avec une base de données 1C via une connexion COM peut être trouvé dans.
Si le COMConnector n'est pas enregistré dans Windows, une erreur apparaîtra lors de la création de l'objet par programme :
Erreur lors de l'appel du constructeur (COMObject) : -2147221164(0x80040154) : Classe non enregistrée.

L'enregistrement peut être effectué à l'aide de la ligne de commande. Pour ouvrir la ligne de commande sous Windows 7 ou Windows 10, vous devez taper cmd dans la barre de recherche du menu DÉMARRER. Pour Windows 8, dans la « Fenêtre Démarrer », tapez cmd dans la recherche. Exécutez cmd.exe avec les droits d'administrateur.

Syntaxe de la ligne de commande Windows

cd c:\fichiers de programme- dans le répertoire des fichiers du programme
CD\- à la racine du disque
Avec:- conduire c
CD..- un niveau plus haut


Windows (x64)

Afin d'enregistrer ComConnector dans un système d'exploitation Windows 64 bits, exécutez
équipe: C:\Windows\SysWOW64\

c:\Windows\Système32>
c:\Windows\System32>cd c:\Windows\SysWOW64
c:\Windows\SysWOW64>
c:\Windows\SysWOW64>regsvr32 "c:\program files (x86)\1cv8\8.3.9.2233\bin\comcntr.dll"
...
Désinstallation
c:\Windows\SysWOW64>

Windows (x32)

Pour un système d'exploitation Windows 32 bits, il s'exécute
équipe: C:\Windows\System32\regsvr32 "C:\Program Files (x86)\1cv8\8.3.9.2233\bin\comcntr.dll"

c:\Windows\Système32>
c:\Windows\System32>regsvr32 "c:\program files (x86)\1cv8\8.3.9.2233\bin\comcntr.dll"
...
Désinstallation
c:\Windows\System32>regsvr32 "c:\program files (x86)\1cv8\8.3.9.2233\bin\comcntr.dll" /u

Après une exécution réussie, une notification apparaîtra :

Mise à jour-1. Résolution des problèmes avec la bibliothèque com pour la connexion externe à la base de données.

2018-10-05T16:32:35+00:00

Dans son travail, Updater-1c utilise la bibliothèque com de 1c pour la connexion externe aux bases de données.

Dans la plupart des cas, aucun problème n'est observé avec cette bibliothèque - le programme de mise à jour lui-même enregistre et utilise automatiquement la bibliothèque de la version requise de 1c, mais il arrive parfois (principalement sur les systèmes d'exploitation serveur) où « danser avec un tambourin » est requis.

Comment comprendre que nous avons des problèmes avec COM

Pour cela, appuyez sur le bouton « Vérifier les paramètres » tout en maintenant enfoncée la touche « Maj » du clavier :

Pendant le fonctionnement normal de COM, le rapport ressemblera à ceci :

S'il y a des problèmes avec COM, cette erreur ou une erreur similaire apparaîtra :

Il peut aussi écrire quelque chose comme " Échec de la création d'une connexion logicielle à 1C".

Oui, à en juger par le test, nous avons des problèmes avec COM

Tout d’abord, de quel type de bibliothèque parlons-nous ? Cette bibliothèque comcntr.dll, qui se trouve dans le dossier bin d'une plateforme 1c spécifique :

Cette bibliothèque est installée et automatiquement enregistrée auprès du système lors de l'installation de la plateforme.

De plus, avant de se connecter à la base de données via une connexion externe, le programme de mise à jour enregistre lui-même en outre la bibliothèque de la version requise de la plateforme dans le système à l'aide de la commande :

regsvr32. exe /n/i:utilisateur

Alors que pouvons-nous faire ?

Étape #0

Tout d'abord, nous nous assurons que nous disposons bien d'une version professionnelle de la plateforme, car pour la version de base de la plateforme, les connexions externes aux bases de données ne devraient pas fonctionner (c'est une limitation de la plateforme).

Pour comprendre de quelle plateforme nous disposons (de base ou professionnelle), exécutons celle-ci.

Si la licence de la plateforme n’est pas professionnelle, mais basique, alors toutes les autres étapes n’ont aucun sens. Les connexions externes aux bases de données ne fonctionneront pas pour nous (en raison des limitations de la plateforme). Il ne reste plus qu'à configurer les bases de données.

Étape #1

Si l'UAC est activé, vous pouvez y parvenir en cliquant avec le bouton droit sur le raccourci du programme de mise à jour et en sélectionnant l'option "Exécuter en tant qu'administrateur".

Ensuite, sélectionnez la base de données et cliquez sur le bouton « Vérifier les paramètres ». Si l'erreur disparaît et ne se reproduit plus même lorsque vous exécutez normalement le programme de mise à jour (sans droits d'administrateur), félicitations, le problème est résolu. Sinon, continuez.

Étape #2

Dans une version 32 bits de l'OS, on essaie d'exécuter la commande

regsvr32/n/i:utilisateur "chemin d'accès au dossier bin\comcntr.dll"

Sur une version du système d'exploitation 64 bits, la commande ressemblerait à ceci :

C:\Windows\SysWOW64\regsvr32 /n/i:utilisateur "chemin d'accès au dossier bin\comcntr.dll"

Nous exécutons ces commandes depuis nom d'utilisateur avec droits d'administrateur. Et avec l'UAC activé, lancez cmd via « Exécuter en tant qu'administrateur » ou via le même lancement du fichier batch écrit.

Si la commande d'enregistrement n'a pas aidé, vous devez d'abord supprimer l'enregistrement de la bibliothèque comcntr.dll en exécutant la même commande en appelant regsvr32 avec la clé /u

Si cela ne résout pas le problème, essayez de réinstaller la plate-forme 1C en mode Fix, puis enregistrez la bibliothèque comme indiqué ci-dessus.

Étape #3

Il semble que le programme de mise à jour ne parvienne pas à enregistrer le composant COM en raison des paramètres de sécurité de votre serveur.
Dans ce cas:

  1. Accédez à Panneau de configuration - Administration - Services de composants.
  2. Passons à la branche Ordinateurs - Poste de travail - Applications COM+.
  3. Dans le menu contextuel, sélectionnez Nouveau - Application. L'assistant d'installation de l'application COM+ s'ouvre.
  4. Cliquez sur "Suivant".
  5. Sélectionnez "Créer une nouvelle application".
  6. Entrez le nom "V83COMConnector". Réglez le commutateur « Application serveur ». Cliquez sur "Suivant".
  7. À l'étape suivante, définissez « Utilisateur actuel ». Cliquez sur "Suivant".
  8. Cliquez sur "Terminer".
  9. Dans la branche V83COMConnector qui apparaît, rendez-vous dans la sous-branche Composants.
  10. Dans le menu contextuel, sélectionnez Nouveau - Composant. L'assistant d'installation des composants COM+ s'ouvre.
  11. Cliquez sur "Suivant".
  12. Sélectionnez "Installer de nouveaux composants".
  13. Sélectionnez un fichier<каталог 1С>\bin\comcntr.dll.
  14. Cliquez sur "Suivant" - "Terminer".
  15. Passons à la branche V83COMConnector.
  16. Sélectionnez "Propriétés" dans le menu contextuel. Dans la fenêtre qui s'ouvre, allez dans l'onglet « Sécurité ».
  17. Décochez la case « Forcer la vérification de l'accès aux applications ». Cochez la case « Appliquer la politique de restrictions logicielles ». Définissez le niveau de restriction sur « Illimité ».
  18. Cliquez sur "OK".

Après cela, le programme de mise à jour devrait être capable d'enregistrer indépendamment les composants de toutes les versions des plates-formes, et pas seulement celle que nous avons spécifiée dans le composant.

Étape #4

Il arrive que seule la réinstallation de la plateforme soit utile (dans ce cas, le composant est correctement enregistré).

Étape #5

Si le problème a commencé à se produire immédiatement après la mise à jour de la plate-forme 1c, il est fort probable qu'il manque un service pack ou une mise à jour pour votre système d'exploitation dans la nouvelle version de la plate-forme 1c. Par conséquent, si possible, nous les installons tous ; sinon, nous agissons de manière sélective conformément à celui-ci.

À un moment donné, j'ai rencontré le problème de la création d'une connexion COM côté serveur. Le problème est difficile à diagnostiquer car... un code qui fonctionne parfaitement sous le client refuse de fonctionner sur le serveur, par exemple si le code effectue une tâche de routine.

La technique proposée ci-dessous permet de s'affranchir du problème décrit. Malheureusement, après avoir réinstallé la plateforme, tout revient à la normale et la procédure doit être répétée.

Mise à jour. Ajout : si le serveur Windows 64 bits dispose de 1C Enterprise Server 64 bits (dans la distribution windows64.rar),
alors il n'y aura pas un tel problème. Le programme d'installation vous permet d'installer un connecteur COM sans installer le nord lui-même. Ceci est utile lorsque l'application est implémentée sur la plate-forme 8.3 et qu'une connexion COM est nécessaire aux bases de données sur 8.2.

Merci pour l'ajoutbrix8x.

Un algorithme de configuration du système est donné, avec une capture d'écran pour chaque action.

2. Enregistrement des composants comcntr.dll

5. Démarrage du serveur 1C. (Nécessairement:)

Appeler la console


Enregistrez le composant. Le composant est manquant si seul le serveur 1C est installé. Pour une raison quelconque, 1C le publie uniquement dans le cadre du client.


Commençons le service des composants. Décrit pour Windows Server 2008 R2 Standard.








Dans le fil Les composants ajoutent un nouveau composant comcntr.dll






IMPORTANT!!! Après l'installation, vous devez modifier un peu les propriétés. Cette subtilité n’est décrite nulle part, sans elle cela ne fonctionnerait pas pour moi !

Redémarrage du serveur physique



Des questions ?

Signaler une faute de frappe

Texte qui sera envoyé à nos rédacteurs :