newLISP Fan Club

Forum => newLISP and the O.S. => Topic started by: HPW on July 31, 2011, 01:58:10 AM

Title: newLISP windows installer PATH
Post by: HPW on July 31, 2011, 01:58:10 AM
Hello,



I had installed newLISP on a fresh W7 PC.

I started installation from a user-account and after asking the admin password it installs.

So far it runs fine.



But using newLISP DLL from other envriments shows a problem.



The newLISP installer installs newLISP into the wanted path.

Besides the NEWLISPDIR variable it set the newLISP-path into the PATH-variable.



But it uses the user-PATH variable instead of the systemwide PATH-variable.



So now my LoadLibrary from the user-account fails, because the path-entry is only in the admin's Path-variable and fails.



So the installer of newLISP should put the path-info into the  systemwide PATH-variable.



Regards



Hans-Peter
Title: Re: newLISP windows installer PATH
Post by: Lutz on July 31, 2011, 03:55:34 PM
Couple of questions, because I am not that familiar with Windows 7:



- Is the distinction between user and system-wide PATH environment variable new in Windows 7, or did that distinction already exist in Windows XP?



- Is specifying the full path for the LoadLibary() call a workaround, or is it really a permission problem and not a PATH problem?
Title: Re: newLISP windows installer PATH
Post by: HPW on July 31, 2011, 11:26:08 PM
Hello,


Quote
- Is the distinction between user and system-wide PATH environment variable new in Windows 7, or did that distinction already exist in Windows XP?


No, as as I know it is the same in windows xp. (I will check it on my older XP system)

When you look into system 'propertys/ enviroment variables' the dialog shows 2 areas of variables.

On top the dialog shows the user settings and the window below show the system settings.


Quote
- Is specifying the full path for the LoadLibary() call a workaround, or is it really a permission problem and not a PATH problem?


Of course is giving the full path always a workaround.

And it was a path problem, because after setting the path into the system-wide path it gets working.



Regards



Hans-Peter
Title: Re: newLISP windows installer PATH
Post by: HPW on July 31, 2011, 11:44:23 PM
Hello,



Checked it on my XP-Box:



The top frame is titled with (translated from german): Uservariable for username



The frame below is titled: Systemvariables



On my XP newLISP is also only in the user-path.

But it was never a problem since I had no different user/admin account.

And in my hpwNewLISP plugin I always used full path.

But now with vista/win7 and the UAC things changed.



In the system path I can find pathes from TCL/Ruby/Delphi etc.



BTW: NEWLISPDIR is defined on all systems as a system-wide variable.



Regards



Hans-Peter
Title: Re: newLISP windows installer PATH
Post by: Lutz on August 01, 2011, 10:47:12 AM
Thanks for researching this Hans-Peter.



Future versions will install newlisp.dll in C:WINDOWSsystem32 or whatever the system32 directory is called on a specific Windows platform. The NSIS installer used for newLISP uses an internal variable $SYSDIR for this. This way newlisp.dll is always in the usual path for DLLs.