Archive: Riched20.dll missing on Target machine


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


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.

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.


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


Was it Windows x64? Did you disable redirection in .onInit?

Could be the same as:
http://forums.winamp.com/showthread....hlight=license


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


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.