Hi all,

I have a problem in that a dll exists on the build in C:\Windows\System32, Moagent32.dll and it's version is
A new package has come to light that uses the same dll in the same directory. The problem is that this "new" dll has a lower version number Having spoken to the vendor it turns out that this "older" version is in fact newer and more up to date. Apparently the vendor screwed up with the versioning.

Now, obviously when I try to install my "older" dll it won't install because a newer file exists. How would I go about overwriting the "newer" dll with my "older" one?

I've tried using VB Script to unregister the dll in question and then delete it, followed by installing my dll and registering it. The problem is that the dll that exists on the build is marked as read only and therefore I keep getting an error with the VBScript saying i don't have the permissions to delete this file.

Anyone have any ideas how i can get around this?
0 Comments   [ - ] Hide Comments


Please log in to comment

Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.
Answer this question or Comment on this question for clarity


Hi Mark

If you really need to replace the dll with your I think one solution will be using the RemoveFile table to remove the dll on the workstation before installing yours with the package.

Hope this helps


Answered 03/28/2007 by: rpfenninger
Second Degree Green Belt

Please log in to comment
Thanks for that idea,

I've placed that line into the Remove File table with a condition of 1 and on a component that's definitely getting installed and it removed the file.

I'll use the script to now copy my new file into the correct location and to register it.

Answered 03/28/2007 by: mark_holland21
Fourth Degree Green Belt

Please log in to comment
If it comes down to it,

Use SessionManager(PendingFileRenameOperations) in the Registry - to do a File switch upon reboot.

Move to HKLM\SYSTEM\CurrentControlSet\Control\Session Manager

Double click on
(if it does not exist - create of type multi_str )

On the first line is the name of the new file with \??\ in front,

On the second line is the file to replaced with !\??\ in front,

Click OK

So the complete Multi-String Data would appear like:

Once the reboot is complete and the file replaced the PendingFileRenameOperations value will be deleted from the registry
Answered 03/28/2007 by: gmorgan618
Blue Belt

Please log in to comment