Skip to content
⌘ NSIS Forum Archive

Dll registration fail

3 posts

Boyito#

Dll registration fail

Hello
Using VB runtimes script example i do the same with VFP9 runtimes
Code :
-----------------------------------------------------
Section -InstallVFP9Runtimes
Var /GLOBAL ALREADY_INSTALLED
IfFileExists "$INSTDIR\MyApp.exe" 0 NewInstallation
StrCpy $ALREADY_INSTALLED 1
NewInstallation:
!insertmacro InstallLib DLL $ALREADY_INSTALLED NOREBOOT_NOTPROTECTED "C:\Windows\system32\msvcr71.dll" "$SYSDIR\msvcr71.dll" "$TEMP"
!insertmacro InstallLib DLL $ALREADY_INSTALLED NOREBOOT_NOTPROTECTED "C:\VFP\gdiplus.dll" "$COMMONFILES\Microsoft Shared\VFP\gdiplus.dll" "$TEMP"
!insertmacro InstallLib REGDLL $ALREADY_INSTALLED NOREBOOT_NOTPROTECTED "C:\VFP\vfp9r.dll" "$COMMONFILES\Microsoft Shared\VFP\vfp9r.dll" "$TEMP"
!insertmacro InstallLib DLL $ALREADY_INSTALLED NOREBOOT_NOTPROTECTED "C:\VFP\vfp9t.dll" "$COMMONFILES\Microsoft Shared\VFP\vfp9t.dll" "$TEMP"
!insertmacro InstallLib DLL $ALREADY_INSTALLED NOREBOOT_NOTPROTECTED "C:\VFP\vfp9renu.dll" "$COMMONFILES\Microsoft Shared\VFP\vfp9renu.dll" "$TEMP"
!insertmacro InstallLib DLL $ALREADY_INSTALLED
SectionEnd
------------------------------------------------
Only one dll need to be registered
But when run the installer shows to me

Extract: C:\Archivos de programa\Archivos comunes\Microsoft Shared\VFP\vfp9r.dll... 100%
Could not load: C:\Archivos de programa\Archivos comunes\Microsoft Shared\VFP\vfp9r.dll
Extract: C:\Archivos de programa\Archivos comunes\Microsoft Shared\VFP\vfp9t.dll... 100%
Extract: C:\Archivos de programa\Archivos comunes\Microsoft Shared\VFP\vfp9renu.dll... 100%


The one ive use REGDLL says Could not load
How can i trap the error to know why this happend??

TIA
kichik#
It probably can't load because it's dependent on other DLL files not yet installed. Use Dependency Walker to find out its dependencies or simply play with it a bit. Try putting it last on the list.
Boyito#
Thanks kichik
This Dll depends on msvcr71.dll, becuase of that ive put first.
I try putting last in the list