Bonjour,

Le contexte :

J'ai hérité d'une application générée à l'origine sous VB.NET 2005 et tournant sous Windows 2000.

Les sources de cette appli ont été déplacés sur une belle station Vista ayant VS 2008.

La première fois que j'ai ouvert cette appli sous VS 2008, les sources ont été convertis et les originaux mis dans un répertoire backup.

Cette appli lit des classeurs Excell, "bidouille" leurs données et ressort un nouveau classeur.

Pour cela, on utilise Microsoft.Office.Interop.Excel (la dll se trouve dans bin/debug/).

Les modifs que je dois apporter à cette appli sont : gérer un nouveau point d'entrée dans le menu qui prendra en compte 2 classeurs Excell en entrée pour en sortir un autre.

Mon développement sous Vista et les tests n'ont pas posé de problème particulier (en dehors de mon manque d'expérience) et la nouvelle version de l'appli tourne sur la machine de développement.

J'ai donc publié l'appli et commencer à la distribuer à quelques utilisateurs pour qu'ils la valide et là, les problèmes ont commencé :

Les utilisateurs sont toujours sous W2K.
L'installation s'est passée sans problème ni message.
L'appli se lance correctement, mais après avoir saisi le nom des classeurs d'entrée on rencontre l'erreur suivante :
Consultez la fin de ce message pour plus de détails sur l'appel du débogage
juste-à-temps (JIT) à la place de cette boîte de dialogue.

************** Texte de l'exception **************
System.Runtime.InteropServices.COMException (0x80020008): Type de variable incorrect. (Exception de HRESULT : 0x80020008 (DISP_E_BADVARTYPE))
à System.RuntimeType.ForwardCallToInvokeMember(String memberName, BindingFlags flags, Object target, Int32[] aWrapperTypes, MessageData& msgData)
à Microsoft.Office.Interop.Excel.Range.get__Default(Object RowIndex, Object ColumnIndex)
à Appli_PPDS.ExportExcelPSG.TitreDetail(SortedDictionary`2 pSemaine)
à Appli_PPDS.ExportExcelPSG..ctor(Records_ArticleDonnees mrecords_, String path, SortedDictionary`2 pSemaine)
à Appli_PPDS.MainDialog_EST.Btn_Gene_Fic_PSG_Click(Object sender, EventArgs e)
à System.Windows.Forms.Control.OnClick(EventArgs e)
à System.Windows.Forms.Button.OnClick(EventArgs e)
à System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
à System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
à System.Windows.Forms.Control.WndProc(Message& m)
à System.Windows.Forms.ButtonBase.WndProc(Message& m)
à System.Windows.Forms.Button.WndProc(Message& m)
à System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
à System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
à System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Assemblys chargés **************
mscorlib
Version de l'assembly*: 2.0.0.0
Version Win32*: 2.0.50727.832 (QFE.050727-8300)
CodeBase*: file:///C:/WINNT/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------
Appli_PPDS
Version de l'assembly*: 1.0.0.0
Version Win32*: 1.0.0.0
CodeBase*: file:///C:/Documents%20and%20Settings/NWNogreJo/Local%20Settings/Apps/2.0/OJ20BC26.KXT/GONYRGCN.6K2/appl..tion_db37345aac6ae4cc_0001.0000_877e754de720ec5a/Appli_PPDS.exe
----------------------------------------
Microsoft.VisualBasic
Version de l'assembly*: 8.0.0.0
Version Win32*: 8.0.50727.42 (RTM.050727-4200)
CodeBase*: file:///C:/WINNT/assembly/GAC_MSIL/Microsoft.VisualBasic/8.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
----------------------------------------
System
Version de l'assembly*: 2.0.0.0
Version Win32*: 2.0.50727.832 (QFE.050727-8300)
CodeBase*: file:///C:/WINNT/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Windows.Forms
Version de l'assembly*: 2.0.0.0
Version Win32*: 2.0.50727.832 (QFE.050727-8300)
CodeBase*: file:///C:/WINNT/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
Version de l'assembly*: 2.0.0.0
Version Win32*: 2.0.50727.832 (QFE.050727-8300)
CodeBase*: file:///C:/WINNT/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Configuration
Version de l'assembly*: 2.0.0.0
Version Win32*: 2.0.50727.832 (QFE.050727-8300)
CodeBase*: file:///C:/WINNT/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Xml
Version de l'assembly*: 2.0.0.0
Version Win32*: 2.0.50727.832 (QFE.050727-8300)
CodeBase*: file:///C:/WINNT/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
System.Runtime.Remoting
Version de l'assembly*: 2.0.0.0
Version Win32*: 2.0.50727.832 (QFE.050727-8300)
CodeBase*: file:///C:/WINNT/assembly/GAC_MSIL/System.Runtime.Remoting/2.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll
----------------------------------------
mscorlib.resources
Version de l'assembly*: 2.0.0.0
Version Win32*: 2.0.50727.832 (QFE.050727-8300)
CodeBase*: file:///C:/WINNT/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------
Microsoft.Office.Interop.Excel
Version de l'assembly*: 10.0.4504.0
Version Win32*: 10.0.4504
CodeBase*: file:///C:/Documents%20and%20Settings/NWNogreJo/Local%20Settings/Apps/2.0/OJ20BC26.KXT/GONYRGCN.6K2/appl..tion_db37345aac6ae4cc_0001.0000_877e754de720ec5a/Microsoft.Office.Interop.Excel.DLL
----------------------------------------
CustomMarshalers
Version de l'assembly*: 2.0.0.0
Version Win32*: 2.0.50727.42 (RTM.050727-4200)
CodeBase*: file:///C:/WINNT/assembly/GAC_32/CustomMarshalers/2.0.0.0__b03f5f7f11d50a3a/CustomMarshalers.dll
----------------------------------------
System.Windows.Forms.resources
Version de l'assembly*: 2.0.0.0
Version Win32*: 2.0.50727.42 (RTM.050727-4200)
CodeBase*: file:///C:/WINNT/assembly/GAC_MSIL/System.Windows.Forms.resources/2.0.0.0_fr_b77a5c561934e089/System.Windows.Forms.resources.dll
----------------------------------------

************** Débogage JIT **************
Pour activer le débogage juste-à-temps (JIT), le fichier de configuration pour cette
application ou cet ordinateur (machine.config) doit avoir la valeur
jitDebugging définie dans la section system.windows.forms.
L'application doit également être compilée avec le débogage
activé.

Par exemple*:

<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>

Lorsque le débogage juste-à-temps est activé, les exceptions non gérées
seront envoyées au débogueur JIT inscrit sur l'ordinateur
plutôt que d'être gérées par cette boîte de dialogue.
Soupçonnant un problème de compatibilité entre Vista / W2K d'une part et VS 2008 / VS 2005 d'autre part, j'ai demandé à ce qu'on m'installe un VS 2005 sur une station W2K.
J'ai copié les sources de Vista vers W2K et j'ai cherché à recompiler l'appli.

Je recontre 3 erreurs :
Erreur 193 CA0058 : Certaines références d'assembly n'ont pas pu être résolues. Les résultats pourront être incorrects ou incomplets. Appli_PPDS
Erreur 194 CA0058 : Impossible de trouver la dépendance manquante 'Office, Version=7.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. Ce module était référencé par*: Microsoft.Office.Interop.Excel.dll Appli_PPDS
Erreur 195 CA0058 : Impossible de trouver la dépendance manquante 'Microsoft.Vbe.Interop, Version=10.0.4504.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'. Ce module était référencé par*: Microsoft.Office.Interop.Excel.dll Appli_PPDS
J'ai remis les sources issus du backup fait lors de la conversion VS 2005 => VS 2008. Même motif,même punition.

Je suis même reparti d'une sauvegarde du projet, toujours le même problème.

Je pense qu'une référence, inutile sous VS 2008, a disparue.

Mes recherches dans Google parlent d'installer "O2003PIA" et/ou "OWC11", ce que j'ai fait (il me semble toutefois que O2003PIA ne s'installe pas correctement)

Cela fait 4 jours que je galère sur ce problème, je ne sais plus où chercher.

Toutes aides et toutes suggestions seront les bienvenues.

Merci

Joël