COM INTEROP SERVICES
-
I made a VB.NET Control used in VB6 Application... I checked the Register Object fo Com Interop in the project properties. after compiling placed it in a testing machine tried registering it and gives an error "The DLLRegisterServer entry point was not found. File Cannot be registered." so i placed this code inside the control guessing this would somehow solve the problem... ------------------------------------------------------------------------------------- Public Class ComRegistration #Region "COM Registration " ' This function is called when registered _ Private Shared Sub ComRegister(ByVal t As Type) Dim keyName As String = "CLSID\" & t.GUID.ToString("B") Dim key As RegistryKey = Registry.ClassesRoot.OpenSubKey(keyName, True) key.CreateSubKey("Control").Close() Dim subkey As RegistryKey = key.CreateSubKey("MiscStatus") subkey.SetValue("", "131457") subkey = key.CreateSubKey("TypeLib") Dim libid As Guid = Marshal.GetTypeLibGuidForAssembly(t.Assembly) subkey.SetValue("", libid.ToString("B")) subkey = key.CreateSubKey("Version") Dim ver As Version = t.Assembly.GetName().Version Dim version As String = String.Format("{0}.{1}", ver.Major, ver.Minor) If version = "0.0" Then version = "1.0" subkey.SetValue("", version) End Sub ' This is called when unregistering _ Private Shared Sub ComUnregister(ByVal t As Type) ' Delete entire CLSID\{clsid} subtree Dim keyName As String = "CLSID\" + t.GUID.ToString("B") Registry.ClassesRoot.DeleteSubKeyTree(keyName) End Sub #End Region ------------------------------------------------------------------------------------ after compiling the project and registering it in a testing machine still doesnt work... Can anyone help me? I might have missed something...
-
I made a VB.NET Control used in VB6 Application... I checked the Register Object fo Com Interop in the project properties. after compiling placed it in a testing machine tried registering it and gives an error "The DLLRegisterServer entry point was not found. File Cannot be registered." so i placed this code inside the control guessing this would somehow solve the problem... ------------------------------------------------------------------------------------- Public Class ComRegistration #Region "COM Registration " ' This function is called when registered _ Private Shared Sub ComRegister(ByVal t As Type) Dim keyName As String = "CLSID\" & t.GUID.ToString("B") Dim key As RegistryKey = Registry.ClassesRoot.OpenSubKey(keyName, True) key.CreateSubKey("Control").Close() Dim subkey As RegistryKey = key.CreateSubKey("MiscStatus") subkey.SetValue("", "131457") subkey = key.CreateSubKey("TypeLib") Dim libid As Guid = Marshal.GetTypeLibGuidForAssembly(t.Assembly) subkey.SetValue("", libid.ToString("B")) subkey = key.CreateSubKey("Version") Dim ver As Version = t.Assembly.GetName().Version Dim version As String = String.Format("{0}.{1}", ver.Major, ver.Minor) If version = "0.0" Then version = "1.0" subkey.SetValue("", version) End Sub ' This is called when unregistering _ Private Shared Sub ComUnregister(ByVal t As Type) ' Delete entire CLSID\{clsid} subtree Dim keyName As String = "CLSID\" + t.GUID.ToString("B") Registry.ClassesRoot.DeleteSubKeyTree(keyName) End Sub #End Region ------------------------------------------------------------------------------------ after compiling the project and registering it in a testing machine still doesnt work... Can anyone help me? I might have missed something...
-
Ok now thats a big help... thanks... :D