2010-12-15 181 views
1

J'ai une application qui fonctionne dans notre environnement de travail d'entreprise sur les ordinateurs Windows XP et Windows 7.Erreur 1001 LoaderExceptions

L'application est créée à l'aide de Visual Studio 2008 et aucun nouveau composant n'a été ajouté.

La solution comprend un programme d'installation Visual Studio qui remplace l'événement Engagé en demandant si la personne veut lancer l'application:

public AcpInstaller() : base() { 
    this.Committed += new InstallEventHandler(MyInstaller_Committed); 
} 

void MyInstaller_Committed(object sender, InstallEventArgs e) { 
    if (MessageBox.Show("Start ACP Suite now?", "Launch Application?", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { 
    try { 
     Process p = new Process() 
     { 
     StartInfo = new ProcessStartInfo(Context.Parameters["assemblypath"]) 
     }; 
     p.Start(); 
    } catch (Exception err) { 
     MessageBox.Show(err.Message, "Launch Failed", MessageBoxButtons.OK, MessageBoxIcon.Error); 
    } 
    } 
} 

Nous avons récemment ajouté de nouvelles HP Mini Netbooks. Ceux-ci ont des processeurs Atom 1.66GHz, 2 Go de RAM, et Win7 Pro x32.

Error 1001. Unable to get installer types in the <executable> assembly. --> Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.

Tous le Web montre que les gens obtenir ce en allant de VS2005 à VS2008 ou VS2008 à VS2010.

Ce n'est pas mon cas. Mon programme d'installation et d'application fonctionne actuellement comme il le devrait sur d'autres PC, mais ce netbook que je suis en train de tester sur me donne des problèmes.

Comment puis-je savoir ce qu'est cette LoaderException? Je ne peux pas regarder dans le débogueur, car c'est pendant une installation (c'est-à-dire pas pendant le processus de débogage) et cela se passe sur une machine complètement différente.

Répondre

1

Peut-être que cela aidera les autres.

Le problème résidait dans un contrôle tiers (LabelView) qui n'était pas compatible 64 bits.

L'application s'installe très bien tant qu'elle est uniquement construite en tant que projet x86.

+0

Je me retrouve à revenir ici (deux fois déjà). Pour ce contrôle LabelView particulier, la désinstallation de mon programme va "désenregistrer" la DLL LabelView. Pour "ré-enregistrer" la DLL, tout ce que j'ai à faire est d'ouvrir à nouveau LabelView, puis de recompiler le programme d'installation. – jp2code