Dll hell problem
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 3.0.0.46.
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 3.0.0.37. 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?
I have a problem in that a dll exists on the build in C:\Windows\System32, Moagent32.dll and it's version is 3.0.0.46.
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 3.0.0.37. 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
[ + ] Show comments
Answers (3)
Please log in to answer
Posted by:
rpfenninger
17 years ago
Posted by:
mark_holland21
17 years ago
Posted by:
gmorgan618
17 years ago
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
PendingFileRenameOperations
(if it does not exist - create of type multi_str )
On the first line is the name of the new file with \??\ in front,
e.g.
\??\d:\temp\ntfs.sys
On the second line is the file to replaced with !\??\ in front,
e.g.
!\??\c:\winnt\system32\drivers\ntfs.sys
Click OK
So the complete Multi-String Data would appear like:
\??\d:\temp\ntfs.sys
!\??\c:\winnt\system32\drivers\ntfs.sys
Once the reboot is complete and the file replaced the PendingFileRenameOperations value will be deleted from the registry
Use SessionManager(PendingFileRenameOperations) in the Registry - to do a File switch upon reboot.
Move to HKLM\SYSTEM\CurrentControlSet\Control\Session Manager
Double click on
PendingFileRenameOperations
(if it does not exist - create of type multi_str )
On the first line is the name of the new file with \??\ in front,
e.g.
\??\d:\temp\ntfs.sys
On the second line is the file to replaced with !\??\ in front,
e.g.
!\??\c:\winnt\system32\drivers\ntfs.sys
Click OK
So the complete Multi-String Data would appear like:
\??\d:\temp\ntfs.sys
!\??\c:\winnt\system32\drivers\ntfs.sys
Once the reboot is complete and the file replaced the PendingFileRenameOperations value will be deleted from the registry
Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.
so that the conversation will remain readable.