UMMM
UMMM copied to clipboard
warning: no type library found
My ini file, for the time being, is super simple:
Identity C:\Users\I505225\source\repos\RegFree2\Debug\RegFree2.exe
File C:\Users\I505225\source\repos\RegFree\Debug\MyComDll.dll
But:
C:\Users\I505225\source\repos\RegFree2\Debug>UMMM.exe RegFree2.ini
warning: no type library found in C:\Users\I505225\source\repos\RegFree\Debug\MyComDll.dll
The Dll has a tlb in its resources via a classic 1 TYPELIB "MyComDll.tlb"
OleView.exe is able to see/load that tlb.
If MyComDll.dll
is an x64 executable this might be a problem because UMMM does not have an x64 version yet.
MyComDll.dll is x86.
Is this COM DLL registered with regsvr32?
That Dll was not registered with regsvr32. My goal is to do "Reg Free".
After registration, the warning is unchanged warning: no type library found
@somanuell generally speaking it is almost impossible for the development environment to be regfree, in my experience. But your deployment can be.
As a further check of your environment and that UMMM & its dependencies are setup correctly, will it work for a standard VB6 or system DLL? Something like MSCOMCTL.ocx? Or do you get a similar error even in that case?
I am OK with having to use the Registry at dev time.
if I add Dependency ComCtl
to my ini file, I get a dependency section added to the manifest:
<dependency>
<dependentAssembly>
<assemblyIdentity language="*" name="Microsoft.Windows.Common-Controls" processorArchitecture="X86" publicKeyToken="6595b64144ccf1df" type="win32" version="6.0.0.0" />
</dependentAssembly>
</dependency>
I getting the same error, using latest 1.0.17
UMMM version, running it on clean Windows 7 SP1 x64 system. The application is VB6 compiled exe
file, which uses several ActiveX (.ocx
) components.
warning: no type library found in MSCOMCTL.OCX
and empty tag in output manifest
<file name="MSCOMCTL.OCX">
</file>
Registering / unregistering .ocx
files with regsvr32
has no effect.
The error generally means that UMMM cannot access the type library living inside the referenced OCX using the system provided TLBINF32.DLL helper DLL.
Btw, you don't need clean OS to use UMMM because there is no MSCOMCTL.OCX on clean Win7 anyway. Where is this OCX sourced from and is it compatible with Win7?
You can run UMMM on your dev machine where MSCOMCTL.OCX is installed and working correctly (can be referenced by a project) and this is usually what we do -- run UMMM on the build server (which has all DLLs/OCXs registered) as a post-build step.
I use clean system for further testing Registration-Free COM. I have only compiled exe
in CAB
with dependencies (dll
and ocx
). There actually was no TLBINF32.DLL
in that clean system (looks like it will be installed with Visual Basic).
I took TLBINF32.DLL
from VB6 installation disk, registered it with regsvr32
and now UMMM generates .manifest
file.
Ooops, sorry about that!
So it seems UMMM does have a non-system provided dependency.