This code should work fine for you (it should show you if there was an error changing the file - NOTE this will run everytime unless you change the code somehow to prevent it.)

Why not just check the version of the file and only copy it if it's the wrong version ?


Break On
Dim $Source
$Source = ExpandEnvironmentVars(ReadValue('HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion','ProgramFilesPath'))
If Exist($Source +'\Common Files\System\MSMAPI\1033\MAPIR.DLL')
Move $Source +'\Common Files\System\MSMAPI\1033\MAPIR.DLL' $Source +'\Common Files\System\MSMAPI\1033\MAPIR.OLD'
'Moving file: ' + @ERROR + ' ' + @SERROR ?
Copy '\\mnc17p1s\NETLOGON\batch\mapirnew.dll' $Source +'\Common Files\System\MSMAPI\1033\MAPIR.DLL'
'Copying new file: ' + @ERROR + ' ' + @SERROR ?
EndIf