2009-10-13 5 views
3

Nous développons une application de point de vente sur le Web qui, même si elle fonctionne principalement dans un navigateur, nécessite également une intégration avec des périphériques matériels tels que des lecteurs de cartes de crédit. Afin de fournir l'intégration matérielle, nous avons implémenté plusieurs contrôles ActiveX simples en C++ en utilisant ATL.Quelles autorisations sont nécessaires pour installer et mettre à jour un contrôle ActiveX?

Nous ne sommes pas des développeurs Windows expérimentés et nous avons des difficultés à comprendre le processus d'installation et le modèle de sécurité des contrôles ActiveX. De toute évidence, c'est une condition préalable à la possibilité pour nos utilisateurs d'exécuter notre application. :)

Nous essayons de déterminer quels sont à installer et à mettre à jour un particulier le grain le plus fin et jeu le plus restrictif des autorisations requises pour un utilisateur non privilégié typique (non-admin, utilisateur non électrique) Contrôle ActiveX (par opposition à tout contrôle ActiveX) à partir d'un fichier .cab signé servi sur HTTP dans le cadre d'une application Web. Nous devons le savoir pour XP (SP2 +) & IE6, ainsi que pour les combinaisons OS/navigateur plus récentes. Nous voulons cette information afin que nous puissions aider notre personnel informatique à configurer correctement les machines sur lesquelles le logiciel fonctionnera.

Nous avons fait beaucoup de recherches sur Internet et n'avons pas été en mesure de trouver la documentation adéquate. Nous avons également discuté avec certaines personnes chez Microsoft, qui ne pouvaient pas non plus nous fournir l'information dont nous avions besoin. En utilisant le moniteur de processus Sysinternals et quelques essais et erreurs, nous avons été en mesure de déterminer que les autorisations de registre suivantes sont suffisantes pour permettre à un utilisateur non privilégié d'installer un contrôle ActiveX sur XP SP2/IE6 (c'est-à-dire l'utilisateur verra un la barre jaune en haut de IE disant: « Ce site veut installer un logiciel »):

  • HKLM\Software\Microsoft\Tracing (seule clé, créez l'autorisation de sous-clé)
  • HKLM\Software\Microsoft\Code Store Database (seule clé, créez l'autorisation de sous-clé)

Le processus d'installation en fait le contrôle est beaucoup plus complexe, et nous n'avons pas fait beaucoup de progrès dans le tri dehors, au-delà d'une prise de conscience générale que l'utilisateur devra écrire C:\windows\downloaded program files\ et HKLM\Software\Microsoft\Code Store Database\Distribution Units\{guid}

(Nous étudient la possibilité pour Vista et Windows 7 d'installer des contrôles ActiveX en tant qu'utilisateur non privilégié, mais nous devons également prendre en charge XP. Nous envisageons également d'adopter AIR 2 comme plate-forme, qui fournit l'intégration de code natif, mais qui ne répond pas non plus à nos besoins immédiats.)

Répondre

3

Il a fallu beaucoup, beaucoup de lunes depuis le début. développer des contrôles ActiveX intégrés dans une page Web pour un produit commercial.

Kudo de vous et votre équipe pour faire les choses de la bonne manière. Je l'ai vu aussi beaucoup commercial, sur le web, applications forcer les entreprises à plus les exigences de sécurité d'Internet Explorer parce qu'ils ne pouvaient pas prendre le temps de bien package leur application.

Le principe de base que je me souviens est que vous deviez mettre en œuvre au moins une interface spécifique, IObjectSafety, ajouter quelques ids catégorie de composants spécifiques lors de l'inscription des composants, et signer votre .cab avec un certificat d'une confiance CA tel que Verisign.

Départ:

Si cela ne fonctionne pas, essayez aller chercher une prise de votre local Microsoft Developer Evangelist pour vous orienter dans le droit direction. Si vous disposez d'un contrat de support Microsoft, contactez votre responsable de compte technique (TAM) ou le consultant développeur d'applications (ADC) pour obtenir de l'aide supplémentaire.

Bonne chance,

Z

Questions connexes