/ / VisualStudio Setup Project: Déployez un projet avec une base de données via une exception CustomAction BadImageFormatException - base de données, visual-studio-2010, installation, badimageformatexception, action personnalisée.

Projet d'installation VisualStudio: Déploiement d'un projet avec une base de données via une exception CustomAction BadImageFormatException - base de données, visual-studio-2010, installation, badimageformatexception, action personnalisée

J'ai une solution avec un projet qui utilise unMSSQL Database et a généré pour cela un projet d'installation VisualStudio. Ensuite, j'ai créé un autre projet avec une classe d'installation qui devrait déployer ma base de données lors de l'installation.

J'ai donc généré la classe CustomAction Installer à l'aide de ce Tutoriel et aussi essayé ce C # Solution qui est similaire.

Lorsque je lance maintenant mon projet d'installation et que je souhaite installer mon application, j'obtiens toujours une erreur:

Lors de l’initialisation de l’installation, une exceptioneu lieu: System.BadImageFormatException: Fichier ou assemblage ... CustomAction.dll ou une de ses dépendances non trouvée. le l'assemblage est inséré par un terme qui est plus récent que celui actuellement chargé terme, et ne peut pas être chargé.

J'espère que l'erreur est compréhensible, je l'ai traduite de l'allemand en anglais ...

Donc, je suis reconnaissant pour des astuces ou des conseils pour résoudre ce problème.

Cordialement

Réponses:

1 pour la réponse № 1

Peut-être que cet article vous aidera: http://msdn.microsoft.com/en-us/library/k7137bfe(VS.80).aspx

Il semble y avoir 2 causes possibles:

  1. Le chemin de la DLL n'est pas résolu correctement, la DLL est donc introuvable. Vous pouvez essayer de vérifier comment le chemin relatif de la DLL est résolu par rapport au répertoire de travail.
  2. Il y a un problème avec l'action personnalisée. Dans ce cas, vous pouvez essayer de créer un journal et voir si vous pouvez en savoir plus. Vous pouvez créer des journaux avec msiexec.exe, par exemple:

msiexec.exe / i package.msi / l * v "C: package.log"


1 pour la réponse № 2

L'une des nombreuses raisons de ne pas utiliser InstallUtil (Les actions personnalisées de la classe Installer) sont «collantes» en ce qui concerne le processus d'hébergement et la version de CLR à supprimer. Si une AC 1.1 se déclenche puis une 2.0 se déclenche, elle échouera avec une exception BadImageFormat.

Je recommande vraiment de faire une bonne recherche pour WiX Deployment Tools Foundation. C'est un bien meilleur modèle d'hébergement pour votre code managé et résout le problème et bien d'autres.