Archive: Visual Basic 6 & RegDLL


Visual Basic 6 & RegDLL
After searching the forums, I have still found myself having trouble with RegDLL. I have 2 ActiveX dll's that need registering when the installer runs.. According to the log, they get registered and the files are indeed placed in $SYSDIR. However when I goto launch the application, I get Error: 429, cannot create ActiveX Object. So, for testing purposes, I manually used regsvr32 and low and behold, they were not registered at all contrary to what the setup log says. Heres the current code I used to register the 2 ActiveX dll's:

SetOutPath $SYSDIR
File "C:\mPad\mpad_ide.dll"
File "C:\mPad\alloc_tab.dll"
RegDLL "$SYSDIR\mpad_ide.dll"
RegDLL "$SYSDIR\alloc_tab.dll"

The setup runs fine, no errors, yet they are not being registered at all. Does anyone have any ideas as to why this is? Do I need to check to see if previous copies of that file exist in $SYSDIR, delete/unregister them and then re-register the new files that are put in place? Any help is appreciated, thanks!


Have you checked for errors using the error flag (IfErrors and ClearErrors)? Are you sure those DLLs do not depend on other DLLs? You should use the UpgradeDLL macro whenever upgrading a system DLL.


Originally posted by kichik
UpgradeDLL macro whenever upgrading a system DLL.
Does UpgradeDLL also install a new DLL if no previous DLL exsists?

Yes.