PDA

View Full Version : Riched20.dll missing on Target machine


thegrinch
20th February 2008, 10:00
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, 12:04
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, 14:16
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, 17:09
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, 21:44
Was it Windows x64? Did you disable redirection in .onInit?

Could be the same as:
http://forums.winamp.com/showthread.php?s=&threadid=262273&highlight=license

thegrinch
21st February 2008, 11:34
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, 13:02
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.