Core Protection Module - Apply Automatic Updates - Exit Code 4

(imported topic written by RubenB.)

Can anyone shed some light into this problem? What does exit code 4 mean?

============================================================================

Action Script Execution Detail

Completed begin prefetch block

Completed // Windows

Completed if {name of operating system contains “Win”}

Completed // Call TMCPMAuUpdater.exe --> input:server.ini ; output:urllist.txt

Completed execute prefetch plug-in “{(value “Application Path” of key “HKEY_LOCAL_MACHINE\SOFTWARE\TrendMicro\CPM” of registry as string) & “\TMCPMAuUpdater.exe”}” -pu -m “{(pathname of client folder of site “CustomSite_FileOnlyCustomSite_CPMAutoUpdate”) & “\server.ini”}” -f “{(pathname of client folder of site “CustomSite_FileOnlyCustomSite_CPMAutoUpdate”) & “\urllist.txt”}”

Completed // urllist assumed to be formatted as lines, each containing name= sha1= size=

url=
Completed add prefetch item {concatenation “;” of ((preceding text of first “sha1=” of it) & (“sha1=”) & ((it as lowercase) of (following text of first “sha1=” of it) of (preceding text of first “size=” of it)) & (“size=”) & (following text of first “size=” of it)) of ((preceding text of first “url=” of it) & (“url=http://127.0.0.1:” & ((value “ListenPort” of key “HKEY_LOCAL_MACHINE\SOFTWARE\BigFix\EnterpriseClient\GlobalOptions” of registry) as string) & “/cpm/patterns/” & ((key “version” of section “pattern” of file ((pathname of client folder of site “CustomSite_FileOnlyCustomSite_CPMAutoUpdate”) & “\manifest.ini”)) as string) & “/”) & (following text of first “url=” of it)) of (lines whose (it as string != “”) of file ((pathname of client folder of site “CustomSite_FileOnlyCustomSite_CPMAutoUpdate”) & “\urllist.txt”) as string)}
Completed endif
Completed // Mac
Completed if {name of operating system contains “Mac”}
Completed // execute trend component: given ini data file, it produces a file of prefetch items.
Completed execute prefetch plug-in “{((string “ApplicationPath” of dictionary of file “/Library/Preferences/com.trendmicro.mpm.plist”) as string) & “/TMMPMAuUpdater”}” -pu -m “{((pathname of client folder of site “CustomSite_FileOnlyCustomSite_CPMAutoUpdate”) & “/server.ini”) as string}” -f "{((pathname of client folder of site “CustomSite_FileOnlyCustomSite_CPMAutoUpdate”) & “/urllist.txt”) as string}"
Completed // urllist assumed to be formatted as lines, each containing name= sha1= size= url=
Completed add prefetch item {concatenation “;” of ((preceding text of first “sha1=” of it) & (“sha1=”) & ((it as lowercase) of (following text of first “sha1=” of it) of (preceding text of first “size=” of it)) & (“size=”) & (following text of first “size=” of it)) of ((preceding text of first “url=” of it) & (“url=http://127.0.0.1:” & ((string “Value” of dictionary “ListenPort” of dictionary “GlobalOptions” of dictionary “Options” of dictionary of file “/Library/Preferences/com.bigfix.BESAgent.plist”) as string) & “/cpm/patterns/” & (if (it contains “%22”) then (following text of first “%22” of preceding text of last “%22” of it) else (it)) of ((key “version” of section “pattern” of file ((pathname of folder “/Library/Application Support/BigFix/BES Agent/__BESData/CustomSite_FileOnlyCustomSite_CPMAutoUpdate”) & “/manifest.ini”)) as string) & “/”) & (following text of first “url=” of it)) of (lines whose (it as string != “”) of file ((pathname of client folder of site “CustomSite_FileOnlyCustomSite_CPMAutoUpdate”) & “/urllist.txt”) as string)}
Completed endif
Completed end prefetch block
Completed // Windows
Completed if {name of operating system contains “Win”}
Completed continue if {(not (exists key “HKEY_LOCAL_MACHINE\SOFTWARE\TrendMicro\CPM\AuUpdater” whose (exists value “ParseExitCode” whose (not (it as integer = 0)) of it) of registry))}
Completed // Make pattern and engine file directory structure
Completed createfile until END-FILE
Completed {("mkdir " & concatenation “” of substrings separated by “/” of it & “%0a%0d”) of (preceding text of last “/” of it) of (following text of first “url=” of it) of (lines whose (it != “”) of (file ((pathname of client folder of site “CustomSite_FileOnlyCustomSite_CPMAutoUpdate”) & “\urllist.txt”)) as string)}
Completed END-FILE
Completed delete "{pathname of download folder & “\mkdir.bat”}"
Completed move __createfile "{pathname of download folder & “\mkdir.bat”}"
Completed // Move pattern and engine file into directory structure
Completed createfile until END-FILE
Completed {("move " & (following text of last “/” of it) & " " & (it) & “%0a%0d”) of (following text of first “url=” of it) of (lines whose (it != “”) of (file ((pathname of client folder of site “CustomSite_FileOnlyCustomSite_CPMAutoUpdate”) & “\urllist.txt”)) as string)}
Completed END-FILE
Completed delete "{pathname of download folder & “\move.bat”}"
Completed move __createfile "{pathname of download folder & “\move.bat”}"
Completed createfile until END-FILE
Completed cd "{pathname of download folder}"
Completed call mkdir.bat
Completed call move.bat
Completed END-FILE
Completed delete "{pathname of download folder & “\main.bat”}“
Completed move __createfile “{pathname of download folder & “\main.bat”}“
Completed waithidden {pathname of download folder & “\main.bat”}
Completed // execute trend component to update pattern files
Completed waithidden “{(value “Application Path” of key “HKEY_LOCAL_MACHINE\SOFTWARE\TrendMicro\CPM” of registry as string) & “\TMCPMAuUpdater.exe”}” -update -m “{(pathname of client folder of site “CustomSite_FileOnlyCustomSite_CPMAutoUpdate”) & “\server.ini”}” -f “{(pathname of client folder of site “CustomSite_FileOnlyCustomSite_CPMAutoUpdate”) & “\urllist.txt”}” -d “{pathname of download folder}“
Completed // Check the LatestExitCode from TMCPMAuUpdater.exe - if it’s not 0 or 3, we should error out
Failed continue if {exists key “HKEY_LOCAL_MACHINE\SOFTWARE\TrendMicro\CPM\AuUpdater” whose (exists value “LatestExitCode” whose (it as integer = 0 OR it as integer = 3) of it) of registry} // Modify ‘LastPatternUpdate’ statistic
regset “HKEY_LOCAL_MACHINE\SOFTWARE\BigFix\CPM\client” “LastPatternUpdate”=”{apparent registration server time}”
// Modify ‘LastUpdateVersion’ statistic
regset “HKEY_LOCAL_MACHINE\SOFTWARE\BigFix\CPM\client” “LastUpdateVersion”=”{(key “version” of section “pattern” of file ((pathname of client folder of site “CustomSite_FileOnlyCustomSite_CPMAutoUpdate”) & “\manifest.ini”))}”
// Increment ‘UpdateCount’ statistic
if {exists key “HKEY_LOCAL_MACHINE\SOFTWARE\BigFix\CPM\client” whose (exists value “UpdateCount” of it) of registry}
regset “HKEY_LOCAL_MACHINE\SOFTWARE\BigFix\CPM\client” “UpdateCount”=”{(value “UpdateCount” of key “HKEY_LOCAL_MACHINE\SOFTWARE\BigFix\CPM\client” of registry as integer) + 1}"
else
regset “HKEY_LOCAL_MACHINE\SOFTWARE\BigFix\CPM\client” “UpdateCount”=“1"
endif
// Modify ‘AverageUpdateTime’ statistic
if {exists key “HKEY_LOCAL_MACHINE\SOFTWARE\BigFix\CPM\client” whose (exists value “AverageUpdateTime” of it) of registry}
regset “HKEY_LOCAL_MACHINE\SOFTWARE\BigFix\CPM\client” “AverageUpdateTime”=”{(((value “AverageUpdateTime” of key “HKEY_LOCAL_MACHINE\SOFTWARE\BigFix\CPM\client” of registry as string as time interval) * (value “UpdateCount” of key “HKEY_LOCAL_MACHINE\SOFTWARE\BigFix\CPM\client” of registry as integer - 1)) + (apparent registration server time - (“01 Jan 1970 00:00:00 +0000” as time + ((key “update” of section “pattern” of file ((pathname of client folder of site “CustomSite_FileOnlyCustomSite_CPMAutoUpdate”) & “\manifest.ini”)) as integer) * second))) / (value “UpdateCount” of key “HKEY_LOCAL_MACHINE\SOFTWARE\BigFix\CPM\client” of registry as integer)}“
else
regset “HKEY_LOCAL_MACHINE\SOFTWARE\BigFix\CPM\client” “AverageUpdateTime”=”{apparent registration server time - (“01 Jan 1970 00:00:00 +0000” as time + ((key “update” of section “pattern” of file ((pathname of client folder of site “CustomSite_FileOnlyCustomSite_CPMAutoUpdate”) & “\manifest.ini”)) as integer) * second)}“
endif
// Modify 'LastAutoUpdateServerIni’
if {exist site “CustomSite_FileOnlyCustomSite_CPMAutoUpdate”}
if {exist file “server.ini” of client folder of site “CustomSite_FileOnlyCustomSite_CPMAutoUpdate”}
if {exist line whose (it contains “TimeStamp=”) of file “server.ini” of client folder of site “CustomSite_FileOnlyCustomSite_CPMAutoUpdate”}
regset “HKEY_LOCAL_MACHINE\SOFTWARE\BigFix\CPM\client” “LastAutoUpdateServerIni”=”{((key “TimeStamp” of section “Common” of file ((pathname of client folder of site “CustomSite_FileOnlyCustomSite_CPMAutoUpdate”) & “\server.ini”)) as string)}"
endif
endif
endif
// Delete TMCPMAuUpdater.exe windows prefetch cache to avoid 60 seconds issue
if {exist folder (windows folder as string & “\Prefetch”) AND exist (find files “TMCPMAUUPDATER.EXE*.pf” of folder (windows folder as string & “\Prefetch”)) AND (length of it of ((find files “TMCPMAUUPDATER.EXE*.pf” of folder (windows folder as string & “\Prefetch”)) as string) > 31)}
delete "{(windows folder as string & “\Prefetch” & (last 30 of first 31 of it of ((find files “TMCPMAUUPDATER.EXE*.pf” of folder (windows folder as string & “\Prefetch”)) as string)))}"
endif
// Check to see if a reboot is required to apply a pattern set. If so, require a reboot.
if {exists key “HKEY_LOCAL_MACHINE\SOFTWARE\TrendMicro\CPM\Communication” whose (exists value “DriverStopError” of it) of registry}
action requires restart {“CPM_AUTO_UPDATE”}
endif
endif
// Mac
if {name of operating system contains “Mac”}
// Make pattern and engine file directory structure
createfile until END-FILE
{unique values of (("mkdir " & concatenation “” of substrings separated by “/” of it & " ; ") of (preceding text of last “/” of it) of (following text of first “url=” of it) of (lines whose (it != “”) of file ((pathname of client folder of site “CustomSite_FileOnlyCustomSite_CPMAutoUpdate”) & “/urllist.txt”) as string))}
END-FILE
delete "{download path “mkdir.sh”}“
move __createfile “{download path “mkdir.sh”}”
// Move pattern and engine file into directory structure
createfile until END-FILE
{unique values of ((“mv __Download/” & (following text of last “/” of it) & " " & (it) & " ; “) of (following text of first “url=” of it) of (lines whose (it != “”) of file ((pathname of client folder of site “CustomSite_FileOnlyCustomSite_CPMAutoUpdate”) & “/urllist.txt”) as string))}
END-FILE
delete “{download path “move.sh”}“
move __createfile “{download path “move.sh”}“
wait /bin/sh “{download path “mkdir.sh”}“
wait /bin/sh “{download path “move.sh”}”
// execute trend component to update pattern files
wait “{((string “ApplicationPath” of dictionary of file “/Library/Preferences/com.trendmicro.mpm.plist”) as string) & “/TMMPMAuUpdater”}” -update -m “{((pathname of client folder of site “CustomSite_FileOnlyCustomSite_CPMAutoUpdate”) & “/server.ini”)}” -f “{((pathname of client folder of site “CustomSite_FileOnlyCustomSite_CPMAutoUpdate”) & “/urllist.txt”)}” -d “{parent folder of folder (pathname of download folder as string)}”
// Modify ‘_CPM_AverageUpdateTime’ statistic
setting “_CPM_LastPatternUpdate”=”{apparent registration server time}” on “{parameter “action issue date” of action}” for client
if {exists setting “_CPM_UpdateCount” whose (exists value of it) of client}
setting “_CPM_UpdateCount”=”{(value of setting “_CPM_UpdateCount” of client) as integer + 1}” on “{parameter “action issue date” of action}” for client
else
setting “_CPM_UpdateCount”=“1” on “{parameter “action issue date” of action}” for client
endif
if {exists setting “_CPM_AverageUpdateTime” whose (exists value of it) of client}
setting “_CPM_AverageUpdateTime”=”{(((value of setting “_CPM_AverageUpdateTime” of client as string as time interval) * (value of setting “_CPM_UpdateCount” of client as integer - 1)) + apparent registration server time - (“01 Jan 1970 00:00:00 +0000” as time + ((key “update” of section “pattern” of file ((pathname of client folder of site “CustomSite_FileOnlyCustomSite_CPMAutoUpdate”) & “/manifest.ini”)) as integer) * second)) / (value of setting “_CPM_UpdateCount” of client as integer)}” on “{parameter “action issue date” of action}” for client
else
setting “_CPM_AverageUpdateTime”=”{apparent registration server time - (“01 Jan 1970 00:00:00 +0000” as time + ((key “update” of section “pattern” of file ((pathname of client folder of site “CustomSite_FileOnlyCustomSite_CPMAutoUpdate”) & “/manifest.ini”)) as integer) * second)}” on “{parameter “action issue date” of action}” for client
endif
endif

(imported comment written by Xie_Ran91)

Exit Code 4 means: Check version failed.

It’s very likely be the connection to the pattern update server failed. Check if you can access this link

http://cpm15-p.activeupdate.trendmicro.com/activeupdate/server.ini

directly from the client. If this is not the reason, you will have to look into the log to check the exact failure.

Normally the log file is located at

C:\Program Files\Trend Micro\OfficeScan Client\AU_Data\AU_Log\TmuDump.txt

C:\Program Files\Trend Micro\Core Protection Module\Bin\AU_Data\AU_Log\TmuDump.txt

I suggest you contact the support team and provide them with the log file if the problem still exist.