lorenzop
24th November 2006 08:44 UTC
Doesn't call plugin.
Hi,
I've made a plugin and I've saved it in "C:\Program Files\NSIS\Plugins" (in attach there's the source code).
In my NSI I call the function "GetDrive" (ePass1k::GetDrive), but every so often my installer doesn't call the function. I don't see the file debug.txt. If I change PC the installer works fine.
Have you any suggestions?
Thanks,
Lorenzo.
Takhir
24th November 2006 09:50 UTC
You can try to use simple DllMain entry point. Might be CRT libs problem. And last VS use msvcr80.dll (and mfc80), available in VS redist folder, this is why I (and other plug-in-writers :) ) removed all crt dependencies from the code. Or build your plug-in in VS 6.
lorenzop
24th November 2006 09:57 UTC
Can you help me to rewrite my DLL without use mfc80.
How to can I remove crt dependencies?
Thanks,
Lorenzo.
Takhir
24th November 2006 13:29 UTC
Use lstrcpy (kernel.dll) instead of strcpy (vcrt), the same with other functions. You can see what to replace using DependencyWalker (not sure VS 2005 has it). Also you can use /nodefaultlibs or exclude msvcr80.lib only in your project. Build final release in VS 6 - it uses mfc4 or use static linking. Sorry, I have not time for long explanations :(