WINAMP.COM | Forums : Powered by vBulletin version 2.3.9 WINAMP.COM | Forums > Developer Center > NSIS Discussion > InstallLib does not register any dll or ocx
  Last Thread   Next Thread
Author
Thread Post New Thread    Post A Reply
pssns
Junior Member

Registered: Nov 2009
From:

InstallLib does not register any dll or ocx

New to NSIS. My first project is for trying to convert an old VB6 setup to NSIS, and testing it in Windows 7. To make things easier, I am testing with UAC disabled.

When installing, it installs all the normal files, links and uninstall program, but it does not install any of the dlls and ocx.

I am testing it with the logging version of the installer, and in the install.log file does not apear any comment or error about the dlls and ocx.

Sure it will be something forgotten, so, any help will be appreciated.

Here is a partial code of what I am using

; MUI end ------

!include "Library.nsh"

Var ALREADY_INSTALLED
Var Version

Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
OutFile "ProtonSetup.exe"
InstallDir "C:\PROTON"
InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" ""
ShowInstDetails show
ShowUnInstDetails show

RequestExecutionLevel admin

Section "ProtonInstall"
LogSet on
ReadRegDWord $Version HKLM "${PRODUCT_DIR_REGKEY}" Version
IfErrors new_installation
StrCpy $ALREADY_INSTALLED 1
new_installation:
SetOverwrite ifnewer
!insertmacro InstallLib REGDLL $ALREADY_INSTALLED REBOOT_PROTECTED "Support\dbgrid32.ocx" "$SysDir\dbgrid32.ocx" "$SysDir"
!insertmacro InstallLib DLL $ALREADY_INSTALLED REBOOT_PROTECTED "Support\ADODCES.DLL" "$SysDir\ADODCES.DLL" "$SysDir"
!insertmacro InstallLib DLL $ALREADY_INSTALLED REBOOT_PROTECTED "Support\STDFTES.DLL" "$SysDir\STDFTES.DLL" "$SysDir"
!insertmacro InstallLib REGDLL $ALREADY_INSTALLED REBOOT_PROTECTED "Support\MSSTDFMT.DLL" "$SysDir\MSSTDFMT.DLL" "$SysDir"
!insertmacro InstallLib REGDLL $ALREADY_INSTALLED REBOOT_PROTECTED "Support\MSADODC.OCX" "$SysDir\MSADODC.OCX" "$SysDir"
!insertmacro InstallLib DLL $ALREADY_INSTALLED REBOOT_PROTECTED "Support\MSMPIES.DLL" "$SysDir\MSMPIES.DLL" "$SysDir"
!insertmacro InstallLib REGDLL $ALREADY_INSTALLED REBOOT_PROTECTED "Support\MSMAPI32.OCX" "$SysDir\MSMAPI32.OCX" "$SysDir"
!insertmacro InstallLib DLL $ALREADY_INSTALLED REBOOT_PROTECTED "Support\FLXGDES.DLL" "$SysDir\FLXGDES.DLL" "$SysDir"

Quick Link | Report this post to a moderator | IP: Logged

pssns is offline Old Post 11-27-2009 06:07 PM
Click Here to See the Profile for pssns Click here to Send pssns a Private Message Find more posts by pssns Add pssns to your buddy list Edit/Delete Message Reply w/Quote
MSG
Senior Member

Registered: Oct 2006
From:

Perhaps you're not running the installer as admin. When UAC is disabled, windows ignores the requested execution level. To work around this, use the userinfo plugin to manually test for actual admin access in .onInit.

Quick Link | Report this post to a moderator | IP: Logged

MSG is offline Old Post 11-27-2009 10:03 PM
Click Here to See the Profile for MSG Click here to Send MSG a Private Message Find more posts by MSG Add MSG to your buddy list Edit/Delete Message Reply w/Quote
pssns
Junior Member

Registered: Nov 2009
From:

It was easier than supposed. I tested in an XP machine, and it happened the same, so, after investigating, I added SetOutPath before registering dlls in the SysDir and InstDir folders, and now it works.

Quick Link | Report this post to a moderator | IP: Logged

pssns is offline Old Post 11-28-2009 06:27 PM
Click Here to See the Profile for pssns Click here to Send pssns a Private Message Find more posts by pssns Add pssns to your buddy list Edit/Delete Message Reply w/Quote
kichik
M.I.A.
[NSIS Dev, Mod]

Registered: Oct 2001
From: Israel

SetOutPath sets the working directory which is also used in the search path for dependencies. If you have dependencies outside of the system folder and the search path, you have to set the working folder to that.

__________________
NSIS FAQ | NSIS Home Page | Donate $
"I hear and I forget. I see and I remember. I do and I understand." -- Confucius

Quick Link | Report this post to a moderator | IP: Logged

kichik is offline Old Post 12-01-2009 07:23 AM
Click Here to See the Profile for kichik Click here to Send kichik a Private Message Visit kichik's homepage! Find more posts by kichik Add kichik to your buddy list Edit/Delete Message Reply w/Quote
pssns
Junior Member

Registered: Nov 2009
From:

Thanks for your interest kichik.

The sample script inserted does not completely illustrate the situation because are only some partial lines of about 100 files to copy, and the ocx and dlls that did not copied where those in the InstDir folder, those in SysDir copied correctly.

After using the log version of the installer, I saw that SetOutPat $InstDir also creates the folder if it does not exists, so putting it at the beginning of the files to copy to $InstDir solved my problem.

Quick Link | Report this post to a moderator | IP: Logged

pssns is offline Old Post 12-01-2009 08:08 AM
Click Here to See the Profile for pssns Click here to Send pssns a Private Message Find more posts by pssns Add pssns to your buddy list Edit/Delete Message Reply w/Quote
All times are GMT. The time now is 09:32 PM. Post New Thread    Post A Reply
  Last Thread   Next Thread
WINAMP.COM | Forums : Powered by vBulletin version 2.3.9 WINAMP.COM | Forums > Developer Center > NSIS Discussion > InstallLib does not register any dll or ocx
Show Printable Version
 | 
Email this Page
 | 
Subscribe to this Thread

Forum Jump:
 

Forum Rules:
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is off
vB code is ON
Smilies are ON
[IMG] code is ON