Background:Recupera COM ProgID da exe senza registrarlo
vorrei estrarre i dati COM da un'applicazione VB6 in modo da poter registrare correttamente (secondo Microsoft le migliori pratiche) l'applicazione. Sto usando WiX 3.0 e heat.exe non estrarrà i dati (problema noto con heat) e non ho un accesso immediato al file TLB associato. L'applicazione VB6 non ha la compatibilità attivata in modo da rigenerare i GUID COM ogni build (Vogliono che l'applicazione sia in grado di eseguire parallelamente una versione precedente.)
Ho creato un'applicazione C# che raccoglierà il Inserisci le informazioni TypeLib, interface e CoClass dall'applicazione VB6 senza registrarle e crea un file wxs da utilizzare per la candela. La mia azienda ha diverse altre vecchie applicazioni come questa e mi piacerebbe farne una soluzione più generica.
I problemi:
1.Is c'è un modo per raccogliere il 'vero' ProgID (programmatore destinato uno) dall'applicazione con il progetto o il file TLB e senza registrarlo?
2. C'è un modo per scoprire il modello di thread desiderato da una DLL senza registrarlo? (Intendo che possa gestire tutti gli elementi attivi COM, potrebbe anche essere completo) Grazie.
OLE-COM Visualizzatore oggetti che è in bundle con Visual Studio può farlo, quindi è sicuramente possibile. Bella domanda! + 1 – ParmesanCodice
Di solito ciò avviene impostando il reindirizzamento del registro e invocando la registrazione automatica. Il componente COM non viene registrato e non so se questo soddisfa "w/o la registrazione" parte della domanda. Sto usando una versione ottimizzata di sego: http://www.unicontsoft.com/upload/tallow/ – wqw
Il mio intento era di vedere se c'era via senza effettuare chiamate al registro. Leggerò sul reindirizzamento Grazie. – mangelo