[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: Module loading on Windows
- From: Shmuel Zeigerman <shmuz@...>
- Date: Tue, 13 May 2008 21:38:42 +0300
Ignacio Burgueño wrote:
Shmuel Zeigerman wrote:
If an lrexlib rock installs pcre.dll into the same directory as
rex_pcre.dll, then the rock is wrong! pcre.dll should be either
somewhere on Windows PATH, or in the directory where lua.exe resides.
Why? Imagine two different applications are using different versions of
PCRE. If my rock installs its version of PCRE in the Windows path, it's
most likely to break the other applications.
Usually, if a Windows application is concerned with a particular DLL
version, it installs it in the directory where it installs its EXE.
Then, it can be safely uninstalled from there with the rest of the
application.
Whenever possible, its best to not drop dlls in the path. It breaks the
isolation of the rock.
Also, consider what happens when you remove the rock. Do you remove the
dll you put on the path? What happens if you stepped onto the dll of
another application? Removing the dll will break it.
Agreed.
(And I wasn't suggesting that LuaRocks install DLLs on the PATH, I said
installing pcre.dll on package.cpath would be wrong).
--
Shmuel