Question

Je vais avoir quelques problèmes 64 bits. Voici le scoop:

J'ai 32 bits COM exe (écrit dans FoxPro). Ce exe invoque une dll COM 32 bits (également écrit dans FoxPro). Dans le monde Windows 32 bits, la dll est placé dans le répertoire C:/Windows/System32, inscrit C:/Windows/System32/regsvr32.exe et tout va bien. L'exe peut être lancé et tous les processus qui nécessitent dll sont très bien.

Il est une autre histoire dans le monde 64 bits. J'ai essayé d'installer cette application sur une machine exécutant Windows 7 x64 comme ceci:

  • Je place le dll dans C:/Windows/SysWOW64
  • Je l'enregistrer avec C:/Windows/SysWow64/regsvr32.exe, mais je ne put obtenir l'enregistrement pour réussir en exécutant regsvr32 en utilisant le menu contextuel « Exécuter en tant qu'administrateur » option.

Maintenant, quand je tente de lancer mon exe, il ne peut pas invoquer la dll, sauf quand mon exe est lancé avec l'option « Exécuter en tant qu'administrateur ». Ce n'est pas bien. Un utilisateur ne doit pas être nécessaire d'être un administrateur juste pour lancer une application simple.

Quelqu'un sait comment je peux obtenir ce travail sans nécessiter l'option « Exécuter en tant qu'administrateur » ??

Merci!

-Ken

Était-ce utile?

La solution

vieux trucs, il n'a jamais été jugé probablement sur un compte utilisateur avec des privilèges limités avant. Il fait probablement quelque chose verboten, comme l'écriture aux clés de Registre dans HKLM \ Software ou la création d'un fichier dans c: \ windows. C'est fini et fait avec ces jours-ci.

Si vous ne savez pas ce que cela pourrait être fait, puis utilisez l'outil ProcMon Sysinternals pour l'observer à l'aide du disque et le registre. L'erreur d'accès refusé devrait sortir, même si cela prend un peu de creuser. Si vous ne pouvez pas modifier le code, alors vous devriez vraiment envisager de mettre fin de vie ce composant. Vous pouvez pirater les droits pour le fichier spécifique ou clé de Registre qu'il tente de grignoter comme une solution intermédiaire. Assurez-vous de ne rien faire pour le répertoire c: \ windows répertoires, qui provoque plus de problèmes qu'elle en résout. Ce qui est une autre chose, votre composant vraiment ne pas sa place dans un répertoire privé de Windows.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top