Spotnick2
October 14th, 1999, 10:42 AM
I did an ActiveX DLL, I build the installation with the deployment wizard and it doesn't register the object in the registry...
Anyone have an idea why and a way to fix this?
So far, the only way it works, is if we install VB and compile it on the machine.. but doing this on several clients is not the way to go...
---
Nicolas LeBlanc
Software Engineer
Ordiplan Inc.
Lothar Haensler
October 14th, 1999, 10:58 AM
and you don't get any error messages during setup?
does your dLL show up in the setup.lst file (used by setup.exe)?
does it contain a $(DLLSelfRegister) makro entry in setup.lst?
try registering it via RegSVR32.exe and see what error message you get.
Spotnick2
October 14th, 1999, 11:15 AM
I don't get any error at setup.
If I register it with RegSvr32 it works.. but the object doesn't show up in Visual Basic, I can't do a CreateObject.
Here is the setup script, looks normal:
[Bootstrap]
SetupTitle=Install
SetupText=Copying Files, please stand by.
CabFile=KraftFF.CAB
Spawn=Setup1.exe
Uninstal=st6unst.exe
TmpDir=msftqws.pdw
Cabs=1
[Bootstrap Files]
File1=@VB6STKIT.DLL,$(WinSysPathSysFile),,,3/26/99 12:00:00 AM,101888,6.0.84.50
File2=@COMCAT.DLL,$(WinSysPathSysFile),$(DLLSelfRegister),,5/31/98 12:00:00 AM,22288,4.71.1460.1
File3=@STDOLE2.TLB,$(WinSysPathSysFile),$(TLBRegister),,4/29/99 12:04:00 PM,17920,2.40.4275.1
File4=@ASYCFILT.DLL,$(WinSysPathSysFile),,,4/29/99 12:04:00 PM,147728,2.40.4275.1
File5=@OLEPRO32.DLL,$(WinSysPathSysFile),$(DLLSelfRegister),,4/29/99 12:04:00 PM,164112,5.0.4275.1
File6=@OLEAUT32.DLL,$(WinSysPathSysFile),$(DLLSelfRegister),,4/29/99 12:04:00 PM,598288,2.40.4275.1
File7=@MSVBVM60.DLL,$(WinSysPathSysFile),$(DLLSelfRegister),,5/10/99 12:00:00 AM,1384448,6.0.84.95
[Setup]
Title=Kraft FormFlow DLL
DefaultDir=$(ProgramFiles)\KraftFFDLL
AppExe=KraftFF.dll
AppToUninstall=KraftFF.dll
[Setup1 Files]
File1=@KraftFF.dll,$(WinSysPath),$(DLLSelfRegister),$(Shared),9/14/99 3:15:20 PM,36864,1.0.0.0
---
Nicolas LeBlanc
Software Engineer
Ordiplan Inc.
Sky1000
October 14th, 1999, 07:56 PM
Is the file listed in the setup.lst file correctly? Are you installing all the other necessary runtime files on the target machine?
Spotnick2
October 18th, 1999, 12:52 PM
I'm installing the package done my the Package & Deployment Wizard... it should take care of everything, isn't it?
---
Nicolas LeBlanc
Software Engineer
Ordiplan Inc.
Sky1000
October 20th, 1999, 08:16 PM
I just had a similar problem to yours, and in the process of finding the answer, I stumbled across your solution. What you need to know is in Microsoft Knowledge Base Article #Q173407. This is a portion of it:
All ActiveX DLLs created with Visual Basic export the DllRegisterServer and DllUnregisterServer functions. These functions can be declared in a Visual Basic client and called to self-register or unregister an ActiveX DLL. For example, the following declaration could be used to declare a function which would register the custom ActiveX DLL MyServerObject.DLL:
Public Declare Function RegMyServerObject Lib _
"MyServerObject.DLL" _
Alias "DllRegisterServer" () As Long
In code, the "RegMyServerObject" could be called to register the DLL:
Call RegMyServerObject
I added a trap for the 429 Error and attempted to register the dll through code as mentioned above, but found that was not the solution, it was a compatibility issue. If you plan to update your dll in the future it is a good idea to change Project Properties Compatibility from the default Project to Binary, if you are using VB5.0 w/o SP3, this issue is addressed in Microsoft Knowledge Base Article #Q171550.
Sky1000
Spotnick2
November 1st, 1999, 03:34 PM
Thank you, that seems to answer the question, I'll try it when I'll rework on this.
Should be better than extracting registry entries.
---
Nicolas LeBlanc
Software Engineer
Ordiplan Inc.