+ Reply to Thread
Results 1 to 6 of 6

Thread: SB8.1 not registering .DLLs

  1. #1

    Default SB8.1 not registering .DLLs

    I have about ~50 .DLLs + 2 COM Interop DLLs, which were created from tlb, and the 2 DLLs that were used to created the tlb's. I'm making the switch from InstallShield to SB8.1.

    In InstallShield, it shows, of the ~50 .DLLs, that they are Shared, COM Extract at Build = Yes, .NET Scan at Build = Dependencies and Properties, .NET COM Interop = No.

    In SB8.1, I've tried a bunch of different combinations of setting up the project to register even just 1 of the 50 .DLLs, but failed every time.

    To paint a picture, after my application is installed and run, I check to see if the 2 COM Interop DLLs (and the 2 original .DLLs) are registered; my application will shut down if they aren't.

    When the user invokes commands which calls (Note one of my Interops is for IDeviceInfo, the other 50 DLLs implement IDeviceInfo):

    Code:
    Type comObjectType = Type.GetTypeFromProgID(className, true);
    
    object comObj = Activator.CreateInstance(comObjectType);
     _Plugin = (IDeviceInfo)comObj;
    The comObj cannot be created because the .DLL with that class name wasn't registered.

    I used a dependency scanner to see if the .DLLs were registered, which it showed that they were not, however when I searched the register for the class names, all the class names were in the registry!

    So my question is, all is all the type information getting into the registry, but the .DLL isn't registered? If I register the 50 DLLs using regsvr32, then everything works like a charm and the dependency scanner picks up the .DLLs.

    Any suggestions? I tried using the GUI "Details..." of the components, I've tried using Register File Operation settings, but nothing seems to work. I also pondered if it could be the order in which the operations were in the script, but I don't know.

  2. #2
    Join Date
    Mar 2004
    Posts
    4,307

    Default Re: SB8.1 not registering .DLLs

    Hello,

    If you are interested, please send your project file (.sb8) and one of the self-registering DLLs (which failed to register) to support [at] lindersoft [dot] com and we'll review the project for you.

    Friedrich

  3. #3

    Default Re: SB8.1 not registering .DLLs

    Project should be waiting in the inbox

  4. #4
    Join Date
    Mar 2004
    Posts
    4,307

    Default Re: SB8.1 not registering .DLLs

    Hello,

    Thank you Unfortunately, there is no .sb8 project file in the ZIP archive. Could you please send it?

    Friedrich

  5. #5
    Join Date
    Mar 2004
    Posts
    4,307

    Default Re: SB8.1 not registering .DLLs

    Hello,

    We have debugged the installation process and I think we know what is going on in your case. Item in review.

    Friedrich

  6. #6
    Join Date
    Mar 2004
    Posts
    4,307

    Default Re: SB8.1 not registering .DLLs

    Ticket closed. It was a DLL specific problem (not caused by SetupBuilder). The installer loads the DLL and calls the "DllRegisterServer" API to execute the self-registration process. In case this process fails, the installer retries it with another self-registration option. Problem is that, although this DLL fails to create all registry items, it returns SUCCESS. We have modified the SB runtime source code to handle this specific scenario in the next maintenance build.

    Friedrich

+ Reply to Thread

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Tags for this Thread

Posting Permissions

  • You may post new threads
  • You may post replies
  • You may not post attachments
  • You may not edit your posts
  •