xsharp.eu • com_module_sample - Page 5
Page 5 of 5

com_module_sample

Posted: Tue May 17, 2022 12:41 pm
by lagraf
Hallo Wolfgang,
anbei die Original DLLs, sind nicht geschützt. Jose-jwt.dll ist diejenige, die nicht signiert werden muss.
Ich kann dir auch gerne ein ZIP meiner TestApp und DLL hier posten zum Ausprobieren.
Und du weißt ja, es eilt NICHT!
Danke, Franz
FremdDlls.zip
(96.5 KiB) Downloaded 51 times
PS: Müssen die Fremd DLLs im Manifest meiner DLL irgendwie aufscheinen (DependentAssembly, etc) oder die Versionsnummern angepaßt werden (bindingRedirect, etc)?

PPS: Meine originale C# App verwendet diese 3 Fremd DLLs unsigniert. Verhält sich hier C# anders als X# oder liegt das daran, dass diese App installiert werden muss?

com_module_sample

Posted: Sat May 21, 2022 9:33 am
by lagraf
Hallo Wolfgang,
ich hab das Problem gefunden: Die jose-jwt.dll muss auch signiert werden! Der StrongNameSigner konnte das nicht, aber mit Disassemblieren und Assemblieren hats funktioniert!

Damit läufts nun unter X#, ich schau kommende Woche mal, ob ichs in VO integrieren kann.
Danke, Franz

com_module_sample

Posted: Mon May 23, 2022 10:38 am
by lagraf
Hallo Wolfgang,
X# DLL und X# Testapp laufen inzwischen. In VO habe ich eine Wrapper Lib erzeugt und mittels TLB File die Com Klasse generiert. Die X# Testapp habe ich nach VO umgeschrieben und an die Wrapper Lib angepasst. Wenn ich nun die VO Testapp starte bekomme ich leider wieder den leidigen CreateProcessError. Im Ereignislog und im sxstrace steht:

Code: Select all

Fehler beim Generieren des Aktivierungskontextes für "C:WINAPPSVO2X#RBKASSARKSVEnabledX.DBG". Fehler in Manifest- oder Richtliniendatei "C:WINAPPSVO2X#RBKASSARKSVComEnabledX.DLL" in Zeile  9. Die im Manifest gefundene Komponenten-ID stimmt nicht mit der ID der angeforderten Komponente überein.
Verweis: RKSVComEnabledX,processorArchitecture="X86",publicKeyToken="ec885d9ecb42e9c7",type="win32",version="1.0.0.0".
Definition: RKSVComEnabledX,publicKeyToken="ec885d9ecb42e9c7",type="win32",version="1.0.0.0". 
Ich sehe da keinen Unterschied zwischen Verweis und Definition (außer processorArchitectur, aber die fehlt auch bei deinem Beispiel ComTestFR). Hättest du bitte mal Zeit, einen Blick drauf zu werfen?
Die X# Dll:
RKSVComEnabledX.zip
(481.18 KiB) Downloaded 58 times
Die X# TestApp:
RKSVEnabledX.zip
(19.21 KiB) Downloaded 51 times
Die VO Wrapper Lib + VO TestApp + Alle nötigen signierten Dlls:
VO Lib+Dll+Testapp.zip
(187.7 KiB) Downloaded 50 times

com_module_sample

Posted: Mon May 23, 2022 11:43 am
by wriedmann
Hallo Franz,
nimm bitte die ProcessorArchitecture mal raus.
Wolfgang

com_module_sample

Posted: Mon May 23, 2022 12:39 pm
by lagraf
Hallo Wolfgang,
die ProcessArchitecture hab ich rausgenommen, ausserdem war noch ein Syntaxfehler im Manifest. Seitdem wird die VO App gestartet und bringt die ersten Ergebnisse. Ich teste mal, ob alle Aufrufe funktionieren.
Danke und LG Franz

com_module_sample

Posted: Mon May 23, 2022 12:43 pm
by wriedmann
Hallo Franz,
wenn die VO-Applikation mal startet und einzelne Aufrufe funktionieren, bist Du aus dem Gröbsten raus.
Das einzige, wo Du noch ggf. arbeiten musst, ist die Fehlerdiagnose.
Wolfgang
P.S. habe es heute sogar geschafft, DLL-Hell bei zwei verschiedenen COM-Modulen zu beheben (zwei Module, die verschiedene Versionen derselben DLL gebraucht haben).

com_module_sample

Posted: Mon May 23, 2022 3:02 pm
by lagraf
Hallo Wolfgang,
die Aufrufe funktionieren jetzt alle, somit stehen mir für die Zukunft 2 Möglichkeiten offen:
  • Meine VO Apps unverändert mit der neuen X# DLL zu betreiben
  • Meine VO Apps auf X# umzustellen und diese mit der neuen X# DLL zu betreiben
Ich mach in den nächsten Tagen noch einen Massentest und prüfe den Export der verschlüsselten RKSV Daten mit dem vom Finanzamt bereitgestellten Prüftool. Falls da was nicht passen sollte, dann gibts an der Übertragung von C# nach X# noch Unstimmigkeiten. Rein optisch betrachtet schauen die verschlüsselten RKSV Werte aber OK aus und die QR Codes sind auch lesbar, sollte also wohl nichts mehr auftauchen. Aber da es hier um Umsätze fürs Finanzamt geht, lieber nichts riskieren!

Jedenfalls einen herzlichen Dank für deine Unterstützung bei diesen Arbeiten!