Registering the SDK Classes

 

Registration of SDK ActiveX Objects

The FlashBack SDK is designed to allow multiple versions of the SDK DLLs to be installed with different applications on the same PC.

Each application that includes the SDK should copy the SDK DLLs into its installation folder, and register them with a relative path such instead of an absolute one.

e.g.   regsvr32 "BB FlashBack Recorder.dll"

Using relative paths means that when an application creates a FlashBack SDK COM object, Windows will use the in-process server DLL installed with that application.

Administrative access rights are required to run regsvr32 and register the SDK objects.

 

Using a Manifest File to access SDK objects

In Windows XP and above, your application can access SDK classes via a manifest file, which removes the need for COM registration (and administrative access) described above. The manifest is an XML file that describes classes to be used by the application. It can either be included in your executable or be in a separate file named appname.exe.manifest.

The manifest file can be compiled into the executable via the mt.exe utility included with Visual Studio.

For example:

mt.exe -nologo -manifest "PATH\APPNAME.EXE.manifest" -updateresource:"PATH\APPNAME.EXE;#1"

For more information on the mt.exe utility see: http://msdn.microsoft.com/en-us/library/aa375649.aspx

 

For more information on manifest files, see: http://msdn.microsoft.com/en-us/library/windows/desktop/aa375365(v=vs.85).aspx  

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">

    <file name="BB FlashBack Player.dll">

      <comClass description="BB FlashBack Player Class"
          clsid="{4BA9089C-DDFC-4206-B937-74484B06D305}"
          progid="BBFlashBack.FBPlayer.1"
          threadingModel="Apartment"
          tlbid="{62DAD5FD-46E4-43B1-B174-9DD2729405E5}"/>

    </file>

    <file name="BBFlashBackEditor.dll">

       <comClass description="BB FlashBack Editor Class"
          clsid="{85E44C82-A172-4FDC-A857-D6B7F2BFD770}"
          progid="BBFlashBack.FBEditor.1"
          threadingModel="Apartment"
          tlbid="{8823DF52-5CDD-45DC-BE7D-A5E51C0716CE}"/>

    </file>

    <file name="BB FlashBack Recorder.dll">

       <comClass description="BB FlashBack Recorder Class"
          clsid="{A3CD4BF9-EC17-47A4-833C-50A324D6FF35}"
          progid="BBFlashBack.FBRecorder.1"
          threadingModel="Apartment"
          tlbid="{1F38C6CA-6D6C-4E3D-9C43-39D8BE41EE47}"/>

   </file>

    <file name="BBLogs.dll" hashalg="SHA1">

       <comClass description="FBLog Object"
           threadingModel="Apartment"
           clsid="{2AE289F8-4649-4A07-BD3A-57086BBCBA39}"
           tlbid="{B4C51199-A31A-42D7-ADEA-E7B23EB97CA4}" >
       </comClass>

        <typelib tlbid="{B4C51199-A31A-42D7-ADEA-E7B23EB97CA4}" resourceid="1" version="1.0" helpdir="" flags="HASDISKIMAGE"></typelib>

    </file>

    <comInterfaceExternalProxyStub
       name="IFBLog"
       iid="{E31FAF17-7139-4213-B37D-2DDF17CD34FA}"
       tlbid="{B4C51199-A31A-42D7-ADEA-E7B23EB97CA4}"
       proxyStubClsid32="{00020424-0000-0000-C000-000000000046}">
   </comInterfaceExternalProxyStub

</assembly>