Prev Previous Post   Next Post Next
Old 17th May 2002, 03:56   #1
ivank
Junior Member
 
Join Date: May 2002
Location: New Jersey, USA
Posts: 4
Question How to update system DLLs?

What is the right way to update system DLLs that are constantly in use, such as mfc42.dll?

Note that I need to update the DLL only if the version of the DLL in my install is newer than the version currently present on the target computer. Comparison by creation date instead of version will probably do too.

SetOverwrite has "ifnewer" mode, but does not have "rebootOK" flag.
"Rename" has "rebootOK" flag, but lacks "ifnewer" mode.

Generally it would be nice to have some kind of "smartReplace" option for overwrite that would do this:

1. Check if taret file already exists.
2. If it does, check creation dates. If target is younger than the source, don't replace.
3. If target is in use, copy source to temporary directory and do rename /rebootOK. Otherwise just replace the target with the source.

I guess this can be done manually for each DLL, but it requires a bunch of commands. And it is even more difficult to put it into a function that takes file name as a parameter and does the rest automatically.

Maybe somebody already wrote such a function?
Please advise.

With best regards
Ivan
ivank is offline   Reply With Quote
 
Go Back   Winamp & Shoutcast Forums > Developer Center > NSIS Discussion

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump