thegrinch
20th February 2008 11:00 UTC
Riched20.dll missing on Target machine
Hi all,
I am deploying several NSIS installers successfully since more than two years, but now I encountered a "new", never seen before, error:
After the welcome page, when changing to the license page, the installer suddenly skips, and disappears.
The behaviour only occured on machines that did not have a copy of riched20.dll available.
Is there any way how to make sure this problem cannot occur?
I mean, either extract the file before it is needed (I don't know how to do this), or make NSIS link the produced exe-setup statically against the missing dll.
Thank you for your help in advance,
best regards,
thegrinch
Red Wine
20th February 2008 13:04 UTC
Re: Riched20.dll missing on Target machine
Originally posted by thegrinch
I mean, either extract the file before it is needed (I don't know how to do this)...
I guess you could search/extract for a file within function .onInit.
{_trueparuex^}
20th February 2008 15:16 UTC
If riched20.dll is not available NSIS trys to use riched32.dll Which should be available on any "virgin" system from Windows 95 to Vista...
So it should still work if the system has riched32.dll... Unless there's a bug in NSIS or something.
thegrinch
20th February 2008 18:09 UTC
Hmm,
I unfortunately cannot look into that pc that brought the error. But the guy definitely said, the riched20.dll was mentioned in the message box.
Concerning this .oninit thing, I never had to use this function. Could you give an example, please?
Thank you for your help in advance,
best regards,
thegrinch
kichik
20th February 2008 22:44 UTC
Was it Windows x64? Did you disable redirection in .onInit?
Could be the same as:
http://forums.winamp.com/showthread....hlight=license
thegrinch
21st February 2008 12:34 UTC
no, I did not. I actually don't even use the onInit function. Would installing (or: making sure, it is installed) in .onInit be possible? I mean, it's a question at which time the riched20.dll is loaded.
kind regards,
thegrinch
{_trueparuex^}
21st February 2008 14:02 UTC
Better description of the error message would help a lot...
To me it seems that the the system isn't missing riched20.dll, but the riched20.dll is corrupted or something. Googling quickly reveals that corrupted riched20.dll file isn't that far-fetched that it may sound.