selon Non-Admin ActiveX Controls, il est possible d'enregistrer activeX sous l'utilisateur actuel (qui ne nécessitera pas de droits d'administrateur pendant l'installation). J'ai mis en caisse un projet ATL (VS2008, natif) et ajouté un contrôle ATL qui ne fait rien.Enregistrement non-administrateur des contrôles ActiveX
J'ai créé un fichier .inf:
[version]
signature="$CHICAGO$"
AdvancedINF=2.0
[Add.Code]
Batman.dll=Batman.dll
[Deployment]
InstallScope=user
[Batman.dll]
file-win32-x86=thiscab
clsid={2C10EC82-2BF3-4ED5-8AFC-E5146C672B3D}
FileVersion=1,0,0,1
RegisterServer=yes
Ajouter à la fois la dll et CAB et dans .inf signé. je charge un ActiveX de simple page html
<OBJECT ID="sampleControl" CLASSID="CLSID:2C10EC82-2BF3-4ED5-8AFC-E5146C672B3D" CODEBASE="Batman.cab#Version=1,0,0,1"></OBJECT>
Et il ne l'enregistre pas sous utilisateur courant de toute façon.
I Cas que je spécifie InstallScope = machine il n'y a pas de problème le activeX est chargé.
Une idée de ce qui devrait être fait?
Merci
Merci, quand je l'ai modifié mon inf, quand je me connecte comme non-admin et essayer d'accéder à la page qui charge ActiveX, je reçois un message si je veux l'installer pour la machine ou pour l'utilisateur actuel. Même si je choisis de l'installer pour l'utilisateur actuel, l'ActiveX n'est pas chargé. Je ne peux pas non plus le trouver en HD ou en registre ... Pensez-vous qu'il est nécessaire de modifier le fichier rgs ou tout ajout nécessaire dans la page HTML? Merci – Zaky
Je pense que la cause n'est pas dans la fonction "Non-administrateur". Au moins dans mon cas, les modifications du fichier INF étaient suffisantes. Je n'ai pas touché d'autres fichiers. Vous pouvez essayer de l'installer pour tous les utilisateurs, juste pour tester. Assurez-vous que les numéros de version sont identiques (1,0,0,1! = 1.0.0.1), assurez-vous que vous utilisez bien clsid dans le fichier INF. – Eugene
J'ai trouvé utile d'essayer d'enregistrer manuellement ma DLL via la ligne de commande, par exemple: regsvr32 cela indique si l'enregistrement par lui-même fonctionne ou pas. –
Spike0xff