Erreur lors de l'installation de mon application, avec Visual Basic 2008

Humanisto Messages postés 2 Date d'inscription lundi 23 juin 2008 Statut Membre Dernière intervention 24 août 2008 - 22 août 2008 à 12:20
Humanisto Messages postés 2 Date d'inscription lundi 23 juin 2008 Statut Membre Dernière intervention 24 août 2008 - 24 août 2008 à 16:29
J'ai fait une grosse application (avec bases de donées...). Lorsque je veux l'installer, une ^msgbox s'affiche disant :
"Echec de la validation de l'application. Impossible de continuer"

Il y a un journal expliquant ce qui ne va pas, voici un extrait :

"* [13/08/2008 00:38:44] : Requête de confiance et détection de plateforme terminée.


DÉTAILS DE L'ERREUR
 Les erreurs suivantes ont été détectées au cours de cette opération.
 * [13/08/2008 00:38:45] System.Deployment.Application.InvalidDeploymentException (HashValidation)
  - Le fichier DB_Casper.mdf possède un hachage calculé différent de celui spécifié dans le manifeste.
  - Source : System.Deployment
  - Trace de la pile :
   à System.Deployment.Application.ComponentVerifier.VerifyFileHash(String filePath, Hash hash)
   à System.Deployment.Application.ComponentVerifier.VerifyFileHash(String filePath, HashCollection hashCollection)
   à System.Deployment.Application.ComponentVerifier.FileComponent.Verify()
   à System.Deployment.Application.ComponentVerifier.VerifyComponents()
   à System.Deployment.Application.DownloadManager.DownloadDependencies(SubscriptionState subState, AssemblyManifest deployManifest, AssemblyManifest appManifest, Uri sourceUriBase, String targetDirectory, String group, IDownloadNotification notification, DownloadOptions options)
   à System.Deployment.Application.ApplicationActivator.DownloadApplication(SubscriptionState subState, ActivationDescription actDesc, Int64 transactionId, TempDirectory& downloadTemp)
   à System.Deployment.Application.ApplicationActivator.InstallApplication(SubscriptionState& subState, ActivationDescription actDesc)
   à System.Deployment.Application.ApplicationActivator.PerformDeploymentActivation(Uri activationUri, Boolean isShortcut, String textualSubId, String deploymentProviderUrlFromExtension)
   à System.Deployment.Application.ApplicationActivator.ActivateDeploymentWorker(Object state)"

Pour info, mon application se nomme Casper et DB_Casper est une base de donnée. Je ne suis pas encore un pro de la programmation et j'ai rien compris à cette histoire de hachage (!?!) calculé différent de celui spécifié dans le manifeste (?!?).

Quelqu'un pourrait-il m'aider (me dire où ça va pas et ou alors me donner une solution de remplacement) ?

Merci

2 réponses

cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
22 août 2008 à 20:45
"...Le fichier DB_Casper.mdf possède un hachage calculé différent de celui spécifié dans le manifeste..."

Le hash est une signature calculé selon un certain algorithme (il existe plusieurs comme md5, sha, ....) qui indentifie de manière unique ton fichier.

En un hash de ce fichier a été calculé lors de la génération de ton pack de déploiement et enregisté dans un manifest de déploiement (en gros un fichier de configuration de ton déploiement). Un second hash est calculé sur ton fichier lors de l'installation.
Si les 2 hashs sont différents, c'est que ton fichier, présent dans ton pack de déploiement, et de façon certaine, a été modifier entre le moment ou le pack a été généré et le moement ou tu installe.
Ce peut-etre l'ouvre de plaisantins, de pirates, de personnes malintentionnées ayant pu y introduire spy, virus ou autre saloperie. D'où le message d'avertissement.

Dans le cas présent, vu que c'est une base Access, peut-etre que simplement tu as réouvert ton ficher après avoir généré le pack. Une simple ouverture du fichier suffit à en modifier sa signature dans le cas d'une base Access.

---- Sevyc64  (alias Casy) ---- # LE PARTAGE EST NOTRE FORCE #   
0
Humanisto Messages postés 2 Date d'inscription lundi 23 juin 2008 Statut Membre Dernière intervention 24 août 2008
24 août 2008 à 16:29
Merci pour la réponse mais je ne vois pas trop comment une modification de la signature a pu se produire :
- j'ai fait ce programme sur mon logiciel. A un moment donné, j'ai voulu le publier puis l'installer pour voir ce que ça donnait réellement. Je ne vois pas comment un pirate aurait pu faire des conneries dedans alors que tout est toujours resté dans le PC et qu'à ce moment là, je n'avais même pas internet.
- dès que l'application a été publié, j'ai essayé de l'installer directement sans ouvrir un fichier (pour info, ce n'est pas base Access mais SQL Server 2005)

Franchement, visual basic conservera toujours une sacré partde mystère pour moi !!!

PS : puisque je ne peux pas installer mon application automatiquement, ne serait-il pas possible de l'installer manuellement sur un autre ordi, en copiant tous les fichiers dans le dossier Debug ? Ne faudrait-il pas alors copier des des DLL et autres choses du genre ?
0
Rejoignez-nous