2009-07-17 5 views
1

Je travaille sur un projet VB2008 qui fait référence à deux bases de données Access en utilisant Provider = Microsoft.Jet.OLEDB.4.0;Pourquoi l'application VB.NET Jet 4.0 plante-t-elle si Office n'est pas installé?

Il semblerait que si l'utilisateur n'a pas MSOffice sur leur machine, le programme se bloque avec un "XXX arrêté de fonctionner" au démarrage sous Vista et Win7.

Je pensais que Windows avait XP et au-dessus avait la fonctionnalité Jet intégrée? Est-ce que quelqu'un sait pourquoi cela se passe? Quels sont le bon projet/publier/prérequis requis s'il vous plaît?

TIA

+0

Quelle est la suite de la chaîne de connexion? Je n'ai eu aucun problème pour me connecter à une base de données Access dans Windows 7 sans Office installé. – Guffa

+0

Il est dans les paramètres de l'application et mis en place à travers les assistants dans VB. Provider = Microsoft.Jet.OLEDB.4.0; Source de données = | DataDirectory | \ xxx.mdb – user57087

Répondre

3

Il n'y a absolument aucun soutien de Jet pour les architectures x64. Ainsi, le programme provoquera une erreur d'exécution si vous utilisez un proc x64 et que votre application est en train de compiler vers AnyCPU.

Modifiez la cible de compilation de votre application en x86 explicitement et vos problèmes devraient disparaître ... si j'ai correctement identifié le problème. Si les ordinateurs défaillants exécutent des systèmes d'exploitation x86, vous devrez rechercher une autre solution. Mais si les machines défaillantes exécutent des systèmes d'exploitation x64 alors je garantis que c'est le problème.

Seth

+0

MERCI Seth Je pense que vous avez peut-être mis le doigt sur la tête. Je vais enquêter et faire rapport. – user57087

+0

Earle ... est-ce que ça t'a résolu ça? Seth –

+0

C'est fait, merci! Il a bien installé sur Windows 7 après avoir fait le changement. J'utilise VB express Nous avons donc dû ajouter manuellement dans la ligne de code dans les paramètres du projet x86 Le seul problème est maintenant que le déploiement ClickOnce est foiré et l'application pense qu'il est application différente entièrement ... soupir. Je me demande s'il y a un moyen de contourner cela? Merci – user57087

Questions connexes