Au Secours : Appli développée en x64 distribuée sur un Windows XP [Résolu]

guilleto 258 Messages postés jeudi 23 octobre 2003Date d'inscription 20 mars 2013 Dernière intervention - 3 sept. 2011 à 03:10 - Dernière réponse : DeveloppeurVb 126 Messages postés mardi 18 février 2003Date d'inscription 19 avril 2016 Dernière intervention
- 9 sept. 2011 à 23:42
Bonjour à toutes et tous,

J'ai développé une application sous Windows 7 64bits en VB.Net 2010.
Sur le poste tout fonctionne correctement.

Dans mon projet, j'ai 2 DLL, une permettant l'exportation en PDF et l'autre permettant le SQLite ...

C'est avec cette dernière que j'ai des soucis, en effet dès que je déploie mon Soft sur un Windows XP (32 bits) cela m'affiche un message d'erreur : Une exception non gérée s'est produite dans votre application. L'assembly en mode mixte est créé avec la version v2.0.50727 du runtime et ne peut pas être chargé dans le runtime 4.0 sans d'autres informations de configuration.

Dans mon projet j'ai mis un fichier app.config avec ce code :
<configuration>
  <startup useLegacyV2RuntimeActivationPolicy="true">
    
  <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup>
</configuration>


Qu'est-ce que je n'ai pas fait (ou mal fait) pour que cela ne fonctionne pas ?

Je dois dans le cadre de mon travail présenté ce bout de Soft, lundi matin, merci de m'éclairer pour que cela fonctionne.

Par avance merci

Olivier
Afficher la suite 

Votre réponse

20 réponses

Meilleure réponse
guilleto 258 Messages postés jeudi 23 octobre 2003Date d'inscription 20 mars 2013 Dernière intervention - 4 sept. 2011 à 23:10
3
Merci
Bonsoir,

Dans le package d'installation il faut ajouter le fichier MonAppli.exe.xml ... Et ça fonctionne !

En espérant que cela puisse aider quelqu'un !

Olivier

Merci guilleto 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 104 internautes ce mois-ci

Commenter la réponse de guilleto
DeveloppeurVb 126 Messages postés mardi 18 février 2003Date d'inscription 19 avril 2016 Dernière intervention - 3 sept. 2011 à 08:56
0
Merci
Bonjour,
Bon ca va je suis pas le seul a avoir des probleme avec SQlite.
Tu dis :
Dans mon projet j'ai mis un fichier app.config avec ce code :
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">

<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup>
</configuration>

Moi je ne l'ai pas inclus car des que j'inclus ce bout de code, mon app bug des que j'ai un acces a une base SQlite. et des que je l'enleve ca repart.
Je suis en XP SP3 avec VSTD 2008.

Peux tu me donner des infos quant a ton bout de code svp ?
A quoi cela sert il ?
Commenter la réponse de DeveloppeurVb
guilleto 258 Messages postés jeudi 23 octobre 2003Date d'inscription 20 mars 2013 Dernière intervention - 3 sept. 2011 à 12:12
0
Merci
Bonjour,

Mon programme permet de gérer une BdD de personnes (inscription/modification/suppression).

Est-ce qu'il faut que j'enlève le fichier app.config pour que cela fonctionne ?

Olivier
Commenter la réponse de guilleto
DeveloppeurVb 126 Messages postés mardi 18 février 2003Date d'inscription 19 avril 2016 Dernière intervention - 3 sept. 2011 à 16:45
0
Merci
Est ce ca fonctionne en debug si tu enleve ce que tu as de sqlite dans app.config.
Je dois vous avez que je decouvre SQLite ADO net je l'utilisais avant en ODBC SQlite UTF 8.
la y avait aucun soucis ca tournait tout seul et aujourd'hui avec leures nouveau truc c'est le bordel
Commenter la réponse de DeveloppeurVb
DeveloppeurVb 126 Messages postés mardi 18 février 2003Date d'inscription 19 avril 2016 Dernière intervention - 3 sept. 2011 à 17:17
0
Merci
Je vien de trouver du nouveau:
Auparavant lorsque j'ajoutais :
<DbProviderFactories>

</DbProviderFactories>
dans mon app.config cela ne focntionnais plus en debug.
Maintenant cela fonctionne en debug aussi avec.
J'ai veillé a verifier la version et le PublicKeyToken et je vais testé l'install depuis un setup
Commenter la réponse de DeveloppeurVb
DeveloppeurVb 126 Messages postés mardi 18 février 2003Date d'inscription 19 avril 2016 Dernière intervention - 3 sept. 2011 à 18:08
0
Merci
encore cette err :
System.IO.FileNotFoundException: Impossible de charger le fichier ou l'assembly
'System.Data.SQLite, Version=1.0.66.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139'
ou une de ses dépendances. Le fichier spécifié est introuvable.
Nom du fichier : 'System.Data.SQLite, Version=1.0.66.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139'

Ca commence a me ...
Commenter la réponse de DeveloppeurVb
DeveloppeurVb 126 Messages postés mardi 18 février 2003Date d'inscription 19 avril 2016 Dernière intervention - 5 sept. 2011 à 07:52
0
Merci
Bonjour,
Merci pour l'infos, je test et tiens au courant.
Merci
Commenter la réponse de DeveloppeurVb
DeveloppeurVb 126 Messages postés mardi 18 février 2003Date d'inscription 19 avril 2016 Dernière intervention - 8 sept. 2011 à 15:16
0
Merci
Bon Xml ou pas cela ne change rien
Commenter la réponse de DeveloppeurVb
DeveloppeurVb 126 Messages postés mardi 18 février 2003Date d'inscription 19 avril 2016 Dernière intervention - 8 sept. 2011 à 16:09
0
Merci
Est il obligatoire de passer par des controle SQLITE (boite a outil) ?
Commenter la réponse de DeveloppeurVb
guilleto 258 Messages postés jeudi 23 octobre 2003Date d'inscription 20 mars 2013 Dernière intervention - 8 sept. 2011 à 16:21
0
Merci
Bonjour,

Il suffit de référencer la DLL dans le projet de faire un Imports au début du code !

Bon courage !

Olivier
Commenter la réponse de guilleto
DeveloppeurVb 126 Messages postés mardi 18 février 2003Date d'inscription 19 avril 2016 Dernière intervention - 8 sept. 2011 à 17:47
0
Merci
La dll est deja referencee dans mon projet.
Par contre il y a ceci :
http://comments.gmane.org/gmane.comp.db.sqlite.general/65078
Sous XP elle ne fonctionnerai pas ?
Et je suis sous XP pro SP3, donc pas de deploiement si j'ai bien compris.
Quand pensez vous ?
Commenter la réponse de DeveloppeurVb
DeveloppeurVb 126 Messages postés mardi 18 février 2003Date d'inscription 19 avril 2016 Dernière intervention - 8 sept. 2011 à 18:45
0
Merci
Y aurait il une personne qui aurait en sa possession le SQLite instal en 32 bit.
Car impossible de telecharger une installa de SQLite en 32 bits
Merci par avance
Commenter la réponse de DeveloppeurVb
DeveloppeurVb 126 Messages postés mardi 18 février 2003Date d'inscription 19 avril 2016 Dernière intervention - 9 sept. 2011 à 08:45
0
Merci
Alors, effectivement il y a 2 version de dll une x64 et une x32.
Probleme, la x32 n'est plus distribuée, et oui tout le monde a du x64
Enfin bref pour ceux qui aurait telecharger le SQLite-1.0.66.0-setup.exe (x64) et qui etes en dans un system x32 recuperer le SQLite-1.0.65.0-binaries et remplacer le contenu de votre dossier C:\Program Files\SQLite.NET par le contenu de SQLite-1.0.65.0-binaries.
Dans SQLite-1.0.65.0-binaries il y a System.Data.SQLite.DLL x64 et x32
Pour moi ca fonctionne maintenant reste a verifier
Commenter la réponse de DeveloppeurVb
DeveloppeurVb 126 Messages postés mardi 18 février 2003Date d'inscription 19 avril 2016 Dernière intervention - 9 sept. 2011 à 11:15
0
Merci
N'hesitez pas a me corriger si je me trompe svp
Commenter la réponse de DeveloppeurVb
guilleto 258 Messages postés jeudi 23 octobre 2003Date d'inscription 20 mars 2013 Dernière intervention - 9 sept. 2011 à 11:40
0
Merci
Bonjour,

Pour ma part j'utilise la version SQLite-1.0.66.0-setup.exe aussi bien sur un Windows 7 32 ou 64 Bits que sur un Windows XP 32 Bits.

En fait je penses plutôt qu'il faut regarder du côté du mode de compilation de l'application : Choisir AnyPC si c'est possible ou alors x86 au lieu de x64 !

Pour ma part j'utilise le mode ANYPC qui s'adapte en fonction de l'OS sur lequel l'application est installée.

A tester évidemment !

Olivier
Commenter la réponse de guilleto
DeveloppeurVb 126 Messages postés mardi 18 février 2003Date d'inscription 19 avril 2016 Dernière intervention - 9 sept. 2011 à 16:16
0
Merci
je suis en x86 je vais essayé.
Merci
Commenter la réponse de DeveloppeurVb
DeveloppeurVb 126 Messages postés mardi 18 février 2003Date d'inscription 19 avril 2016 Dernière intervention - 9 sept. 2011 à 16:18
0
Merci
Depuis que j'ai incorpore ce bout de code dans le form_load de ma premiere form ca tourne :
        Dim FileLibrary As String = ""
        Dim DossierApp As String = Application.StartupPath
        If Microsoft.VisualBasic.Right(DossierApp, 1) <> "" Then DossierApp = DossierApp & ""
        Dim architecture As Integer = Runtime.InteropServices.Marshal.SizeOf(GetType(IntPtr)) * 8
        Select architecture
            Case 32
                'x86
                FileLibrary = DossierApp & "x32System.Data.SQLite.dll.ok"
            Case 64
                'x64
                FileLibrary = DossierApp & "x64System.Data.SQLite.DLL.ok"
        End Select
        Me.ToolStripStatusLabel1.Text = architecture.ToString & " bit"
        ' si dossier bin exist
        If System.IO.File.Exists(FileLibrary) Then
            If System.IO.File.Exists(DossierApp & "System.Data.SQLite.DLL") Then System.IO.File.Delete(DossierApp & "System.Data.SQLite.DLL")
            System.IO.File.Copy(FileLibrary, DossierApp & "System.Data.SQLite.DLL")
        End If
  
Commenter la réponse de DeveloppeurVb
DeveloppeurVb 126 Messages postés mardi 18 février 2003Date d'inscription 19 avril 2016 Dernière intervention - 9 sept. 2011 à 16:19
0
Merci
en fait x32System.Data.SQLite.dll.ok et x64System.Data.SQLite.dll.ok sont deux x64System.Data.SQLite.dll un x86 et l'autre x64 que je met dans le package
Commenter la réponse de DeveloppeurVb
guilleto 258 Messages postés jeudi 23 octobre 2003Date d'inscription 20 mars 2013 Dernière intervention - 9 sept. 2011 à 16:25
0
Merci
Je ne suis pas allé aussi loin : bravo !
Commenter la réponse de guilleto
DeveloppeurVb 126 Messages postés mardi 18 février 2003Date d'inscription 19 avril 2016 Dernière intervention - 9 sept. 2011 à 23:42
0
Merci
Pourquoi, bravo, non, ce n'est pas normal de contourner , cela devrait etre prevu.
Pourquoi favoriser l'un ! juste pour du fric ?
desole mais cela me met en boulle
Commenter la réponse de DeveloppeurVb

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.