MS Access Moteur DB (32 bits) avec Office 64 bits

nous avons actuellement un problème majeur en utilisant Microsoft Access Database Engine 2010. Le moteur est disponible en 64-bit et 32-bit, ce qui est bien. Cependant, apparemment, vous devez toujours installer la version 32 bits si le processus hôte est toujours en 32 bits. Fine, nous pouvons le faire.

notre logiciel traite avec beaucoup de composants hérités qui sont 32-bit, et la plupart de celui-ci est en code VB6, qui génère l'assemblage 32-bit. Nous sommes, donc, sous l'hypothèse que le conducteur doit également être installé comme 32-bit. En effet, lorsque nous installons des pilotes 32 bits sur une machine 64 bits, et que nous exécutons nos applications 32 bits, cela fonctionne correctement.

cependant, le problème commence quand Office 2010 64 bits est installé sur le système. Croyez-moi, nous avons essayé d'éduquer les utilisateurs que le bureau 64 bits est largement inutile, en vain. Comme les ordinateurs sortent de la chaîne de montage avec des versions 64 bits installées, nous sommes incapables de répondre aux demandes de support lorsque notre logiciel casse quelque chose. Soit le 64-bit des pauses de bureau notre installation, ou notre installation casse leur version de bureau, mais ce n'est pas joli de toute façon. Un autre problème est que les logiciels non traditionnels installent parfois les pilotes 64 bits (comme ils le devraient), et les deux versions ne coexistent tout simplement pas de manière raisonnable. Soit notre logiciel casse, soit leur logiciel casse.

alors, quelqu'un a-t-il réussi à trouver un moyen de faire coexister les pilotes 32 bits avec les installations 64 bits? J'ai vu que l'installation d' /passive le drapeau permet les deux à installer, et notre installateur utilise passif. Les deux sont en cours d'installation, mais une fois sur le système soit notre logiciel ne fonctionne plus, ou le bureau répare constamment son installation. Est-il raisonnable de faire ce travail?

32
demandé sur drharris 2012-09-04 23:54:17

6 réponses

voici une solution de contournement pour installer la version 64 bits du moteur de base de données Microsoft Access 2010 redistribuable sur un système avec une version MS Office 32 bits installée:

  • Vérifiez la clé de registre de 64 bits "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\14.0\Common\FilesPaths" avant d'installer la version 64 bits du moteur de base de données Microsoft Access 2010 redistribuable.
  • Si il ne contient pas le "mso.dll " valeur d'enregistrement, alors vous aurez besoin de renommer ou supprimer la valeur après l'installation de la version 64 bits du moteur de base de données Microsoft Access 2010 redistribuable sur un système avec une version 32 bits de MS Office installé.
  • utilisez le paramètre de ligne de commande" / passive " pour installer le redistribuable, par exemple "C:\directory path\AccessDatabaseEngine_x64.exe" /passif
  • Supprimer ou renommer le "ssm.dll " valeur d'enregistrement, qui contient le chemin vers la version 64-bit DE MSO.DLL (et ne doit pas être utilisé par MS Office 32-bit) version.)

Maintenant vous pouvez démarrer une application MS Office 32 bits sans le problème de "re-configuration". Notez que le "mso.dll " la valeur du registre sera déjà présente si une version 64 bits de MS Office est installée. Dans ce cas, la valeur ne doit pas être supprimé ou renommé.

aussi si vous ne voulez pas utiliser le paramètre "/passive" de la ligne de commande, vous pouvez éditer L'AceRedist.msi fichier pour supprimer les MS Office architecture vérifier:

  • téléchargement et installer Microsoft Orca: http://msdn.microsoft.com/en-us/library/windows/desktop/aa370557(v=vs. 85).aspx
  • décompressez le moteur de base AccessData.exe ou AccessDatabaseEngine_x64.fichier exe
  • ouvrez L'AceRedist.fichier msi dans Orca
  • rechercher deux lignes de tableaux contenant l'action "CheckOfficeArchitecture" et supprimer ces lignes
  • enregistrer la mise à jour AceRedist.fichier msi

Vous pouvez maintenant utiliser ce fichier pour installer le Microsoft Access Database Engine 2010 redistribuable sur un système où une version" conflictuelle " de MS Office est installée (par exemple une version 64 bits sur le système avec une version 32 bits MS Office)) Assurez-vous de renommer le "ssm.dll" valeur de registre comme expliqué ci-dessus (si nécessaire).

25
répondu Peter Coppens 2013-02-20 15:35:13

je déteste répondre à mes propres questions, mais j'ai finalement trouvé une solution qui fonctionne réellement (utiliser la communication entre les services peut résoudre le problème, mais cela crée encore plus de problèmes). Depuis notre base de données héritage, il exigeait seulement Microsoft.ACE.OLEDB.12.0 dans la chaîne de connexion. Il s'avère que cela a également été inclus dans Office 2007 (et MSDE 2007), où il n'y a qu'une version 32 bits disponible. Donc, au lieu d'installer MSDE 2010 32 bits, nous installer MSDE 2007, et il fonctionne très bien. D'autres applications peuvent alors installer MSDE 2010 64 bits (ou Office 2010 64 bits), et il n'entre pas en conflit avec notre application.

Jusqu'à présent, il semble que ce soit une solution acceptable pour tous les environnements Windows OS.

17
répondu drharris 2012-09-17 14:14:45

Installer la version 2007, il semble que si vous installez la version opposée à la version d'Office que vous utilisez, vous pouvez le faire fonctionner.

http://www.microsoft.com/en-us/download/details.aspx?id=23734

1
répondu Matthew Dolman 2015-08-16 06:42:44

une approche similaire à la réponse de @Peter Coppins. C'est, je pense, est un peu plus facile et ne nécessite pas l'utilisation de l'utilitaire Orca:

  1. Vérifiez la clé de Registre " HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\14.0\Common\FilesPaths "et assurez-vous que la valeur" mso.dll" n'est pas présent. Si elle est présente, alors Office 64-bit semble être installé et vous ne devriez pas avoir besoin de cette solution de rechange.

  2. Télécharger Base De Données Microsoft Access Moteur 2010 Redistribuable.

  3. depuis la ligne de commande, Lancez: AccessDatabaseEngine_x64.exe /passif

(Note: cet installateur s'est écrasé ou a échoué silencieusement pour moi, donc j'ai décompressé les composants et couru: AceRedist.MSI / passif et celui installé fine. Peut-être un truc de Windows 10.)

  1. Supprimer ou renommer le "ssm.dll "valeur dans le" HKEY_LOCAL_MACHINE\SOFTWARE \ Microsoft\Office\14.0\Common\FilesPaths" clé.

Source:comment installer des pilotes de base de données Microsoft 64 bits à côté de Microsoft Office 32 bits

1
répondu Jahmic 2016-06-26 13:24:01

j'avais un message d'erreur plus spécifique qui indiquait de supprimer 'Office 16 Click-to-Run Extensibility Component'

Je l'ai corrigé en suivant les étapeshttps://www.tecklyfe.com/fix-for-microsoft-office-setup-error-please-uninstall-all-32-bit-office-programs-office-15-click-to-run-extensibility-component/

  • Allez dans Démarrer > Exécuter (ou Winkey + R)
  • Tapez "installer" (qui ouvre le dossier %windir%installer), assurez-vous que tous les fichiers sont visible dans Windows (Paramètres de Dossier)
  • ajouter la colonne "sujet" – et faire au moins 400 pixels de large) - clic droit sur les en-têtes de colonne, cliquez plus, puis trouvez le sujet
  • triez sur la colonne sujet et faites défiler vers le bas jusqu'à ce que vous localisiez le nom mentionné dans votre écran d'erreur ("Office 16 Click-to-Run Extensibility Component")
  • faites un clic droit sur le MSI et choisissez Désinstaller
1
répondu kloarubeek 2017-06-27 09:58:45

si les deux versions de Microsoft Access Database Engine 2010 ne peuvent pas coexister, alors votre seule solution est de vous plaindre à Microsoft, concernant le chargement des versions 64 bits de cela dans votre application 32 bits est impossible directement, ce que vous pouvez faire est un service qui fonctionne en 64 bits qui communique avec un autre service 32 bits ou votre application via des tuyaux ou des sockets réseaux, mais il peut exiger un effort significatif.

0
répondu Rafael 2012-09-14 19:52:54