Amstelchen Geschrieben 22. Juni 2009 Geschrieben 22. Juni 2009 ich mal wieder gegebenne voraussetzungen: eine C# anwendung mit VS 2008, welche verweise auf Microsoft.Office.Interop.Word macht und auf einem rechner ohne VS ausgerollt werden soll (mittels InnoSetup, aber das tut nichts zur sache). auf dem zielrechner ist das .NET framework v1.1.4322 sowie v2.0.50727 installiert. gacutil.exe war auch bei nachinstallation von 1.1 nicht auffindbar, ich habe es einzeln kopiert. es gibt nun die office PIA's für 2002 (XP) und 2003 zum runterladen (KB328912 sowie KB897646), erstere habe ich verwendet. ausgeführt hab ich (u.a. auch nach anleitung) gacutil -i assembly_file_name also im konkreten falle gacutil -i Microsoft.Office.Interop.Word.dll sowie regedit /s Microsoft.Office.Interop.Word.dll.reg im registry-file stehen hives drin wie HKEY_CLASSES_ROOT\TypeLib\{00020905-0000-0000-C000-000000000046} HKEY_CLASSES_ROOT\CLSID\{000209F2-0000-0000-C000-000000000046} dennoch erhalte ich, beim ausführen der anwendung: ************** Ausnahmetext ************** System.IO.FileNotFoundException: Die Datei oder Assembly Microsoft.Office.Interop.Word, Version=11.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c oder eine Abhängigkeit davon wurde nicht gefunden. Das System kann die angegebene Datei nicht finden. Dateiname: Microsoft.Office.Interop.Word, Version=11.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c den hinweis auf erweiterte protokollierung sah ich erst später: WRN: Protokollierung der Assemblybindung ist AUS. Sie können die Protokollierung der Assemblybindungsfehler aktivieren, indem Sie den Registrierungswert [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) auf 1 festlegen. Hinweis: Die Protokollierung der Assemblybindungsfehler führt zu einer gewissen Leistungseinbuße. Sie können dieses Feature deaktivieren, indem Sie den Registrierungswert [HKLM\Software\Microsoft\Fusion!EnableLog] entfernen. aktiviertes log und/oder wenn ich die Microsoft.Office.Interop.Word.DLL jetzt ins anwendungsverzeichnis lege, bringt im fehlertext: === Zustandsinformationen vor Bindung === LOG: Benutzer = X\Y LOG: DisplayName = Microsoft.Office.Interop.Word, Version=11.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c (Fully-specified) LOG: Appbase = file:///C:/Programme/xxxTool/ LOG: Ursprünglicher PrivatePath = NULL Aufruf von Assembly : xxxxTool, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null. === LOG: Diese Bindung startet im default-Load-Kontext. LOG: Die Anwendungskonfigurationsdatei wird verwendet: C:\Programme\xxxTool\xxxTool.exe.Config LOG: Die Computerkonfigurationsdatei von C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\config\machine.config wird verwendet. LOG: Verweis nach der Richtlinie: Microsoft.Office.Interop.Word, Version=11.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c LOG: Download von neuem URL file:///C:/Programme/xxxTool/Microsoft.Office.Interop.Word.DLL. WRN: Der Vergleich des Assemblynamens führte zum Konflikt: Hauptversion. ERR: Das Setup der Assembly konnte nicht abgeschlossen werden (hr = 0x80131040). Die Suche wurde beendet. wie bekomme ich dieses problem in den griff? falls infos fehlen, reiche ich die nach. s'Amstel Zitieren
realgun Geschrieben 22. Juni 2009 Geschrieben 22. Juni 2009 Hi, auf dem zielrechner ist das .NET framework v1.1.4322 sowie v2.0.50727 installiert. gacutil.exe war auch bei nachinstallation von 1.1 nicht auffindbar, ich habe es einzeln kopiert. gacutil ist nur im .NET SDK, nicht in den Runtimes. Mit dem MSI Installer (z.B. der aus dem VS) kannst Du die Assemblies direkt im GAC registrieren. Falls Du was anderes (wie z.B. InnoSetup) benutzt, musst Du gacutil "mitbringen". (Oder "von Hand / per Explorer installieren) es gibt nun die office PIA's für 2002 (XP) und 2003 zum runterladen (KB328912 sowie KB897646), erstere habe ich verwendet. [...] LOG: Verweis nach der Richtlinie: Microsoft.Office.Interop.Word, Version=11.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c WRN: Der Vergleich des Assemblynamens führte zum Konflikt: Hauptversion. Ich kenne diese Office PIA's nicht aber die Meldung sagt zumindest, was das Problem ist: Deine Anwendung wurde mit einem Verweis auf einer anderen Version der Interop.word.dll kompiliert als Du mit auslieferst. Wenn Du Deine Anwendung für Office XP kompiliert hast, musst Du auch die Interops mit der Version 10 mitliefern. (Office 10 => XP, Office 11 => 2003) Es müsste übrigens vollkommen ausreichen die Interop-dlls in das Anwendungsverzeichnis zu installieren, in den GAC müssen die nicht unbedingt. Schöne Grüße, realgun Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.