Zum Inhalt springen

Deployment von Office PIA's unter XP


Amstelchen

Empfohlene Beiträge

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...