CORRECTIF : l'exécution côte à côte Windows n'est pas prise en charge pour contrôles ActiveX Visual Basic 6.0

Traductions disponibles Traductions disponibles
Numéro d'article: 828629 - Voir les produits auxquels s'applique cet article
Agrandir tout | Réduire tout

Symptômes

Avec Microsoft Windows XP et versions ultérieures, vous pouvez exécuter modules DLL (Microsoft Component Object Model) en mode côte à côte (SxS). Avec SxS, différentes versions d'une DLL COM pour coexister dans le même environnement ordinateur sans conflit. Ce problème se produit à l'aide de .manifest fichiers qui spécifient la façon dont un programme peut lier à une DLL COM particulier. Microsoft Visual Basic 6.0 ActiveX sont essentiellement les modules DLL COM avec extensions de nom de fichier .ocx. Si vous essayez de configurer ces modules pour SxS opération dans Windows XP, vous recevez le message d'erreur suivantes :

Erreur d'exécution '336 » composants pas correctement enregistrés.

Cause

Ce problème se produit parce que le Windows et le Visual Basic exécution ne prennent pas en charge SxS configurer l'exécution de contrôles ActiveX Visual Basic 6.0.

Résolution

Pour résoudre complètement vous devez disposer des opérations suivantes :
  • La version du runtime Visual Basic inclus avec Visual Basic 6 Service Pack 6 (SP6)
  • Windows XP Service Pack 2 (SP2)
Pour plus d'informations sur la façon d'obtenir le dernier runtime de Visual Basic, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
290887 VBRun60sp6.exe installe les fichiers d'exécution de Service Pack 6 Visual Basic 6.0
Pour obtenir Windows XP SP2, reportez-vous au site Web de base de connaissances Microsoft suivant :
http://support.microsoft.com/default.aspx?scid=fh;EN-US;windowsxpsp2
Si vous ne pouvez pas installer Windows XP SP2, vous pouvez obtenir le correctif Windows XP en tant qu'un correctif logiciel. Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
843524 CORRECTIF : contrôles Visual Basic 6.0 ActiveX DLL COM côte à côte module manifeste est de remplacement par le Registre dans Windows XP

Plus d'informations

Pour activer ce correctif, vous devez ajouter champs dans les fichiers .manifest. Celui-ci est une version de file:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
	<assemblyIdentity type="win32" name="control.ocx" version="1.0.0.0" processorArchitecture="x86"/>
	<file name="control.ocx">
		<comClass description="Sub control" clsid="{76548630-0CC8-48E4-B471-A9001865AE65}" 
			miscStatus="recomposeonresize,cantlinkinside,insideout,activatewhenvisible,setclientsitefirst"
			progid="Control.TextBox" threadingModel="Apartment"
			tlbid="{8A1ADF05-8164-4D5B-9267-FA74E601D826}"/>
		<typelib tlbid="{8A1ADF05-8164-4D5B-9267-FA74E601D826}" version="1.0" helpdir=""/>
	</file>
</assembly>
Notez que l'attribut miscStatus a été ajouté. Désormais cinq nouveaux attributs sont disponibles dans l'élément d'assemblage ou de l'élément comClass pour représenter les différentes valeurs DVASPECT qui sont disponibles :
Réduire ce tableauAgrandir ce tableau
AttributNote
miscStatus Les indicateurs d'état par défaut qui sont obtenus lorsque vous transmettez 0 pour l'argument dwAspect à l'API OleRegGetMiscStatus
miscStatusIcon Correspond à DVASPECT_ICON
miscStatusThumbnail Correspond à DVASPECT_THUMBNAIL
miscStatusDocPrint Correspond à DVASPECT_CONTENT
miscStatusContent Correspond à DVASPECT_CONTENT
Pour chaque aspect, l'ensemble suivant d'indicateurs peut être spécifié qu'une liste séparée par des virgules. N'utilisez pas de caractères espace (" ") mais les indicateurs peuvent être casse mixte. Ces éléments sont extraites de l'énumération indicateur OLEMISC.
Réduire ce tableauAgrandir ce tableau
Recomposeonresize Onlyiconic Insertnotreplace
StatiqueCantlinkinsideCanlinkbyole1
IslinkobjectInsideoutActivatewhenvisible
RenderingisdeviceindependentInvisibleatruntimeAlwaysrun
ActslikebuttonActslikelabelNouiactivate
AlignableSimpleframeSetclientsitefirst
ImemodeIgnoreactivatewhenvisibleWantstomenumerge
Supportsmultilevelundo
Notez que vous devez également utiliser l'attribut tlbid dans l'élément d'assemblage ou dans l'élément comClass pour indiquer le bibliothèque de type de la classe COM provient pour que le runtime résoudre correctement.

Statut

Microsoft a confirmé que c'est un problème dans les produits Microsoft répertoriés dans la section « S'applique à ».

Propriétés

Numéro d'article: 828629 - Dernière mise à jour: mardi 25 octobre 2005 - Version: 1.1
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Visual Basic 6.0 Enterprise Edition Service Pack 5
  • Microsoft Visual Basic 6.0 Édition initiation
  • Microsoft Visual Basic Professional Edition for Windows 6.0 SP5
  • Microsoft Windows XP Professional SP1
  • Microsoft Windows XP Professional SP1a
Mots-clés : 
kbmt kbhotfixserver kbqfe kbqfe kbwinxppresp2fix kbfix kbbug KB828629 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 828629
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com