Registrace vfw kodeku - Win 7 HP 64-bit
Pěkný večer. Snažím se zaregistrovat jednoduchý vfw kodek s vlastním fourcc. Byl dodán jako projekt do Visual Studia. Po sestavení vznikne .dll soubor. Umístil jsem ho do C:\Windows\SysWoW64 (podle stránek MS protože mám 64-bit systém a kodek je 32-bit). CMD spouštím jako správce, ale nedaří se. Vždy vyskočí chyba:
Modul C:\Windows\SysWoW64\mulvfw.dll byl načten, ale nebyl nalezen vstupní bod DllRegisterServer.
Zkontrolujte, že je C:\Windows\SysWoW64\mulvfw.dll platný soubor DLL nebo OCX a akci zopakujte.
Kodek by měl být OK. Něco dělám špatně. Díky za případnou radu.
Spúšťaš 32-bit? %systemroot%\SysWoW64\regsvr32.exe
Je možné, že zostavenie dll je chybné...
Ano spouštím to tak. Do projektu jsem nezasahoval, jen otevřel (proběhla teda nějaká migrace na novější verzi) a přeložil. Během překladu žádné chyby.
Skús sem dať skompilovanú *.dll...
Zde.
Závislosť na knižnici: WINMM.dll (netuším čo je - to musíš vedieť Ty...) Máš? (zrejme áno).
Čítaj tu: msdn.microsoft.com
Ano tato knihovna je v C:\Windows\System32.
Zkusím ten postup z odkazu.
edit: při provádění dojde k chybě:
Modul nebyl patrně navržen jako samostatný a k registraci jako OLE server nebo DDE server. Nemá vchod pro registraci DllRegisterServer.
Já se v tomhle bohužel vůbec nevyznám, poprvé se snažím něco takového registrovat explicitně. Takže ani z Wiki po zadání OLE nebo DDE nejsu moc chytrý..
Znám naštěstí autora kodeku, ale ten na dotaz odpoví nejdřív až v pondělí. Pokud by teda měl ještě někdo nějaký nápad, tak prosím kdyžtak ve formě nějakého postupu pro neznalého
Tak jsem zjistil, že mezi zdrojáky je .inf soubor. Spustil jsem instalaci a ta asi proběhla, nehlásila chyby. V registrech v HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Drivers32 se vytvořil řetězec s názvem vidc.MUL1 a hodnotou mulvfw.dll, tento soubor byl zkopírován do složky System32. Nicméně ani po několika restartech nemám kodek k dispozici např. ve Virtualdubu..
Stále se nedaří. Přikládám instalační soubor. Zdá se, že všechny změny které tam jsou definované se provedou, ale kodek není vidět v žádném editoru (32-bit ani 64-bit).
Dependency walker vypsal, že chybí spousta .dll souborů které začínají vždy API-MS-WIN... např.
API-MS-WIN-SECURITY-ACTIVEDIRECTORYCLIENT-L1-1-0.D LL
API-MS-WIN-CORE-COM-L1-1-0.DLL
API-MS-WIN-CORE-DEBUG-L1-1-1.DLL
API-MS-WIN-CORE-DELAYLOAD-L1-1-1.DLL
API-MS-WIN-CORE-ERRORHANDLING-L1-1-1.DLL
API-MS-WIN-CORE-FILE-L1-2-0.DLL
API-MS-WIN-CORE-FILE-L2-1-0.DLL
API-MS-WIN-CORE-HEAP-L1-2-0.DLL
API-MS-WIN-CORE-HEAP-OBSOLETE-L1-1-0.DLL
API-MS-WIN-CORE-INTERLOCKED-L1-2-0.DLL
atp.
Prosím nevíte, jestli nejsou součástí nějakého balíku, který bych mohl nainstalovat? Můžu je všechny jednotlivě postahovat, ale to je na dlouho..
tie nazvy dll su nezmysly. To co si vypisal (podla casti nazvov) je zhruba sucastou kazdeho windows. Activedirectory neviem zhlavy.
Jak presne si to prekladal v jakom visualstudiu presne? Otvaral si solution alebo len projekt? (to druhe je zle).
Skus tam v nastaveniach compilera nastavit runtime library na statically linked a ne DLL.
Visual Studio Express 2013, otevřeno přes sln, poprvé proběhla nějaká migrace. Pak jsem dal jen přeložit na Release, proběhlo všechno bez chyb.
V nastavení mám: Knihovna prostředí Runtime a možnosti - Vícevláknové MT (/MT), Vícevláknová knihovna DLL (/MD), a debug varianty těchto dvou.
Ty cca 4 desítky chybějících .dll jsem postahoval, umístil do C:\Windows\SysWOW64 a dependency walker už chybu nehlásí, teď varovnou hlášku:
Warning: At least one module has an unresolved import due to a missing export function in a delay-load dependent module.
Aktuální stav je takový, že kodek funguje ve virtuálce Win XP, ovšem na Win 7 ani ťuk. Řešil to se mnou MM.. a zkoušel na Win Vista, tam to fungovalo také. Poradil i staticky linkovat knihovny. Za pomoc mu samozřejmě děkuji.
Teď by stačilo zjistit, v čem je Win 7 tolik jiný, než jeho předchůdci. Nebo se podívat, jak se instalují jiné kodeky. Např. Xvid funguje bez problému, ale potřeboval bych zjistit, co kam všechno instalátor zapisuje. Nějaký tip?
Drbu na to. Jede to na XP, tak budu testovat tam. Konec.