L'enregistrement OCX avec regsvr32.exe et de l'avoir disponible pour tous les utilisateurs
J'ai une troisième partie application web qui s'appuie sur un fichier OCX à être enregistré sur l'ordinateur de l'utilisateur. Je suis allé dans l'ordinateur en tant qu'administrateur et enregistré le fichier avec la commande:
REGSVR32 /S MyFile.ocx
Cela fonctionne bien et je suis en mesure d'utiliser l'application web sans problème. Dans regedit, je peux voir le contrôle a enregistré correctement.
Toutefois, lorsqu'un autre utilisateur ouvre une session sur l'ordinateur qui n'est pas un admin et tente d'exécuter l'application web, il ne fonctionne pas.
Si j'ai ajouter l'utilisateur au groupe administrateurs et les ont exécuté la commande REGSVR32 il fonctionne très bien pour eux. Malheureusement, il n'est vraiment pas possible pour moi de permettre à tous les utilisateurs d'être des administrateurs sur leurs machines.
Est-il un moyen que je peux enregistrer le fichier OCX avec REGSVR32 et qu'il est disponible pour tous les utilisateurs, même ceux sans les droits d'admin?
Merci!
OriginalL'auteur TroggleDorf | 2012-12-16
Vous devez vous connecter pour publier un commentaire.
Généralement regsvr32 registres CLSID info dans HKEY_LOCAL_MACHINE\software\Classes, afin de l'inscription doit être visible par tous les utilisateurs.
Le problème pourrait être avec votre OCX. Il pourrait faire quelque chose sur le démarrage qui empêche de l'ouvrir pour les utilisateurs non-administrateurs. Par exemple, il nécessite d'écrire quelque chose de registre HKEY_LOCAL_MACHINE, écrire dans le répertoire Windows, ...
Vous pouvez vérifier si cette OCX est en train de faire quelque chose pour l'utilisateur non-administrateur en utilisant Le Moniteur De Processus outil et vérifier ACCESS_DENIED erreurs.
Dans le cas où si votre OCX ne rien faire sous le compte admin, ce que vous pouvez essayer de faire est de vous inscrire OCX sous HKEY_CURRENT_USER levier en utilisant RegSvrEx outil. De cette façon, votre OCX seront inscrits en vertu de current_user_level
Lorsque vous ouvrez le Moniteur de Processus, je vous recommande de vous tourner sur le filtre (Ctrl + L) et filtrer par "Nom du Processus" et de préciser votre processus qui contient votre contrôle OCX. Ensuite, démarrez votre processus avec le compte d'utilisateur qui a un problème et vérifier la "Suite" de la Colonne. Vérifiez tout ce qui n'est pas "SUCCÈS". J'espère qu'il y aura une certaine idée, pourquoi il ne parvient pas.
Vous avez dit "Il ne fonctionne pas sur les Ordinateurs qui ont déjà un profil pour l'utilisateur". Permettez-moi de vous poser la question, après que l'utilisateur qui n'a jamais de connexion à cette machine fonctionne app, puis fermez la session et ouvrez une nouvelle session, sont-ils en mesure de l'exécuter de nouveau l'application. De cette façon, ils auront de la création d'un compte, et en fonction de votre observation, ils ne devraient pas être en mesure d'ouvrir cette application.
J'ai pensé à elle. J'ai été l'enregistrement de l'OCX à partir d'un emplacement à l'utilisateur non-administrateur ne l'a pas accès. J'ai modifié mon script de sorte que le fichier est copié sur la machine locale d'abord, puis l'enregistre. Fonctionne comme un charme. Merci pour votre aide!
OriginalL'auteur Vlad Bezden