Archive: NSIS DLL Registration problem


NSIS DLL Registration problem
Greetings,

We use NSIS to install the anonymizer toolbar. The toolbar basically consists of some images and 2 DLLs.

Most of the time when the toolbar is installed all works as planed. But on some peoples computers the toolbar dlls are registered improperly. This causes the toolbar not to show up. If one registers them manually after the case it works.

So my question is what would be the reasons NSIS might have a problem registering a DLL and is there any kinda logging I can turn on to figure this out?

I am using version NSIS 1.98. We have seen this issue a lot on XP are there any known issues with 1.98 on XP?

Thanks in Advance!

Roy Milican
rmilican@anonymizer.com
http://www.anonymizer.com


then I changed:


RegDLL "$SYSDIR\my.dll"


:p

The UpgradeDLL macro upgrades a DLL file, registering is something else.


RegDLL just calls DllRegisterServer, there shouldn't be any problem with XP. Just to be sure, try the latest version of NSIS (2.0b1 or CVS version), and see if it still happens.

The only problem I can think of is if the DLL you are regstring is looking for another DLL that it depends on in the same directory. I can't see why this would cause it to mailfunction on just a part of the systems, but it's worth checking. To fix this you'll have to upgrade to 2.0b1 and use SetOutPath "C:\path\to\dll". It will set the current directory of the installer so the DllRegisterServer will look there too.

To turn on file logging you'll have to uncomment #define NSIS_CONFIG_LOG in Source\exehead and recompile NSIS. It won't help you much in this case. You'll get the exact same messages as you get in the normal log.

If non of the above helps please clarify "registered improperly". Is DllRegisterServer called? Does NSIS set the error flag?


Greetings,

Sorry when I said "registered improperly" I really ment not at all :) Because if it does not get registered the toolbar does not show up in IE.

The error flag is being set when the DLL registration fails. The problem we are seeing is that we have see it fail and the toolbar still show up and fail and it doesn't show and some times work fine. All this from the same machine and installer. If there a way to get the reason the error flag was set?

Yes we are dependent on several of the windows dll's but they seem to be standard
accross all windows installs. We dont think they have anything to do with the problem because it works most of the time, and as stated above even on the same machine will fail some times and not others.

We are going to convert to the NSIS 2.0 and try using it to see if we still have these problems.

If you have any further ideas or insight we are willing to hear them.

Thanks in advance

Roy Milican
rmilican@anonymizer.com
http://www.anonymizer.com


If the error flag is set then there must be an error text in the installer log (details) too. What is the error your users get?


Greetings,

We rebuilt NSIS 2.0 with logging enabled as you suggest in a previous post. We then used the command stated in the readme "Logset On" to dump the log file in the install directory when its done. We made sure It is not creating the log file. What could be the reason?

Thanks,

Roy


Please upgrade to NSIS 2.0b2 and then use NSIS Update to get the latest CVS veresion. I have fixed a bug with LogSet on in the latest CVS version, it should be the cause.