I'm using SMIEngine in my application to download firmware to a SmartMotor (2316D). My problem is that when I'm building my installer and distributing it to clients, the SMIEngine dll (IntegMotorInterface.dll) is seemingly not registering on their systems. (They get an error message when attempting to create an instance of the SMIHost class).
Installing SMI fixes this problem (so I'm assuming it knows how to properly register it?). I've tried manually registering the .dll using regsvr32 but I get an error message:
The module "IntegMotorINterface.dll" failed to load.
Make sure the binary is stored at the specified path or debug it to check for problems with the binary or dependent .DLL files.
The specified module could not be found.
I suspect this is because it isn't a self-registering DLL? I'm using InstallShield as my installer and I have the option of choosing the "Registration Type" for this DLL. I can choose "None", "Extract COM Information", and "Self-registration".
When I use "Extract COM Information" I get a warning message when I compile the project:
ISEXP : warning : -4354: The build was unable to extract COM information from the file C:\Users\djwyatt\Documents\Visual Studio 2010\Projects\Synopticx\Synopticx\SMIEngine\IntegMotorInterface.dll in component IntegMotorInterface.dll. Please ensure that the file is self-registering and verify that the self-registration process does not fail.
I've all but given up trying to fix this. For now I'm telling people to install SMI.
Thanks in advance!
Keo Scientific Ltd.
The administrator has disabled public write access.
Re: SMIEngine in C++ application
8 years 2 months ago #117