Hi,
when I run a setup created with v2.0b4 on Linux using
WINE, I get an error: "Error! Can't initialize plug-ins
directory. Please try again later.".
I found out, that it is only when TEMP variable is set
to /tmp (which is Linux file system). When setting TEMP
to a fat32 drive, it works.
Can you tell me what API call(s) will have to fail to get
this error message? Maybe it can be fixed on either NSIS
or WINE side...
Thank you,
Genrot
Logged In: YES
user_id=584402
It fails because NSIS validates all paths to make sure they
are valid Windows paths. Especially the temporary folder,
without which installers using solid compression will not work
and plug-ins will not load.
There isn't any specific API function failing on WINE's side,
it's just the fact that it allows to mix *nix paths with
Windows paths. I think this is a bad idea, cool feature, but a
bad idea if you want to retain full compatibility.
If you want to change this behavior on the NSIS side take a
look in the function validate_filename in
Source\exehead\Util.c.
Logged In: YES
user_id=584402
On second thought, it was supposed to use
C:\Windows\Temp if the %TEMP%/%TMP% was invalid... Yet
another check...
Still better than littering the hard disk as it was probably
doing in b3.
Logged In: YES
user_id=905723
Hi,
If I set the TEMP env var to:
C:\Windows\Temp (which
becomes /home/me/.wine/faked_windows/windows/temp) it
worked.
Setting it to X:\ didn't work. somehow the '\' got cut off and
the temp-dir was then "X:nsi21331\" which didn't really
satisfy NSIS.
Strangely, the system.dll plugins cannot be found. I think it
might be a upper/lowercase problem, but I'm not sure. The
dll's get extracted correctly. Maybe a LoadLibrary fails - I'm
not quite sure.
Any help about NSIS and WINE is highly welcome, since we
have a lot of effort trying to make our programs WINEable
instead of re-wrinting huge applications, now that the council
of Munich/Germany is switching to Linux.
Best regards,
Gernot
Logged In: YES
user_id=584402
In latest CVS version I have added yet another check that
should make NSIS fall back to %WINDIR%\Temp for this case
where the temporary directory given is not a fully qualified
path. I have also made it add a trailing backslash for the
temporary directory so specifying root directories will be
possible and won't produce the problems gernotfrisch
reported.
Thanks.