Ich habe eine Registrierung frei C ++ COM-Komponente, deren Manifest ich mit mt.exe mit VS2010 generieren. Alles funktioniert, außer dass ich nicht angeben kann, welches Threading-Modell meine Klassen verwenden. Ich habe ein kleines Repro-Projekt erstellt, dessen generierte Manifest-Datei ( RGS.dll.embed.manifest
) wie folgt lautet:
Der Teil, mit dem ich ein Problem habe, ist der comClass-Knoten
%Vor%sollte ein threadingModel-Attribut haben, wie im Beispiel "Sxs and Registration Free COM activation" auf der folgenden Seite: Ссылка
Ich weiß, dass das Threading-Modell nicht in *.tlb
angegeben ist, aber aus dem Kommentar von Sen Harada zu den MSDN-Dokumenten für mt.exe
sollte es möglich sein, einen in einer Registrierungsskriptdatei anzugeben ( *.rgs
)
Ссылка
Ich habe also die Datei *.rgs
, die der ATL-Assistent erstellt hat
Also gebe ich die *.rgs
Datei an mt.exe
Und sehen Sie im Build-Protokoll, dass es die Datei *.rgs
erfolgreich analysiert hat
(speziell die Zeile "Gültige GUID !!!" ist ohne den Parameter rgs:
auf mt.exe
) gegangen.
YET my RGS.dll.embed.manifest
hat das Attribut threadingModel nicht.
Diese Person ist die einzige online, die ich über das Problem sprechen kann, Ссылка , und er hat nie eine Lösung gefunden und das Manifest bearbeitet, nachdem es erzeugt wurde. Weiß jemand, wie das mt.exe-Tool die RGS-Datei verwendet, um das Manifest zu erstellen, und was ich tun muss, um ein threadingModel am anderen Ende zu finden?
Interessant ... es sieht so aus, als müssten einige rudimentäre ProgId-Sachen da sein, damit mt.exe glücklich ist. Insbesondere das folgende *.rgs
erzeugt das folgende *.embed.manifest
während das folgende *.rgs
erzeugt das folgende *.embed.manifest
Bearbeiten: Es scheint, dass dies funktioniert, aber es funktioniert nur für die erste Klasse in der *.rgs
-Datei. Zum Beispiel das folgende *.rgs
Erzeugt das folgende *.embed.manifest
Beachten Sie, dass nur die erste CoClass ein threadingModel (oder eine ProgId für diese Angelegenheit) hat.
Bearbeiten: Erfolg! Das folgende *.rgs
erzeugt das folgende *.embed.manifest
Tags und Links com manifest mt rgs registration-free-com