Frage

Bis vor kurzem waren wir glücklich mit anmeldefreien COM unsere einheimischen und .NET COM-Komponenten. Allerdings liefen wir in eine seltsame Frage, wo unsere Anwendung gestartet zufällig auf Windows XP SP3 (aber nicht auf Vista) abstürzt, nachdem wir nur die Versionsnummer einer .NET-Assembly geändert von Release Candidate zu bewegen zu lösen. (Nicht hassen Sie gerade Murphys Gesetz?)

Nach vielen einem verlorener Mann-Tag und Zähneknirschen, stellten wir fest, dass das Problem ein war in SxS bekannten Fehler .dll die Heapbeschädigung verursacht, wenn Informationen über eine .NET-Klasse abzurufen. Es ist ein Hot-Fix, die das Problem zum Verschwinden bringt, aber Hot-Fixes sind nicht dazu gedacht, neu verteilt werden.

Wir sind ein bisschen ratlos, dass es so ein schrecklicher Fehler in der Registrierung freier COM-Implementierung ist. Ist jemand da draußen erfolgreich mit registrierungsfreien COM für .NET-Komponenten? Wie haben Sie dieses Problem?

War es hilfreich?

Lösung

Dieses Problem wird damit zusammen, wie SxS die Größe der Klasseninformation berechnet. Die Versionsnummer der Baugruppe ist ein Teil dieser Informationen.

Da es sich bei der Release Candidate Versionsnummer arbeitete, vielleicht für Sie die Problemumgehung ist die gleiche Länge wie die RC-Version die Versionsnummer der Veröffentlichung zu machen.

Wenn dies nicht für Sie arbeiten, gibt es ein etabliertes Verfahren Umverteilung Rechte für Hotfixes für Ihr Interesse. Ich würde greifen Microsoft Kundenbetreuung, diesen Weg zu verfolgen.

Andere Tipps

Wir verwenden anmeldefreien COM für sowohl native als auch .NET-Komponenten. Wir beschlossen, eine feste Montage Versionsnummer für diese Komponenten zu verwenden (vor allem die Registrierung zu verhindern unübersichtlich, wenn sie wiederholt regasm-ing .NET-Komponenten, die eine dynamische Build-Nummer hatte / *). Nicht ideal, aber wir haben andere Möglichkeiten der Bestimmung, welche Version einer bestimmten Komponente verwendet wird (sie sind nie einzeln gepatcht).

Das klingt wie eine sehr unangenehme Frage in der Tat! Der KB-Artikel macht es fast scheinen, wie mit SxS optional ist ... Soweit ich es ist der einzige Weg, weiß reg frei COM zu tun?

FYI der Hotfix ist jetzt direkt heruntergeladen werden: http: // www.microsoft.com/en-us/download/details.aspx?id=27680

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top