Qualys Upgrade Windows Servers

I am attempting to update qualys cloud agent and the action is stuck at pending downloads. I am using the Software Distribution feature in LifeCycle to preform this. The only command line option I need is PatchInstall=True. Below is what was created by the software install.

BODY { FONT-SIZE: 12px; OVERFLOW: auto; FONT-FAMILY: Segoe UI; FONT-WEIGHT: 400; FONT-STYLE: normal } .relevanceDefault{font-family: Calibri;font-size: 12pt;color:#000000;background:#ffffff;} .relevanceKeyword{font-family: Courier New;font-size: 12pt;color:#0000ff;background:#ffffff;} .relevanceIgnored{font-family: Courier New;font-size: 12pt;color:#a9a9a9;background:#ffffff;} .relevanceOperator{font-family: Courier New;font-size: 12pt;color:#0000ff;background:#ffffff;} .relevanceString{font-family: Courier New;font-size: 12pt;color:#008080;background:#ffffff;} .relevanceConstant{font-family: Courier New;font-size: 12pt;color:#800080;background:#ffffff;} .relevanceMatchingParen{font-weight: bold;font-family: Courier New;font-size: 12pt;color:#ffffff;background:#ff9632;} .relevanceUnmatchedParen{font-weight: bold;font-family: Courier New;font-size: 12pt;color:#ffffff;background:#ff0000;} .relevanceQuestion{font-family: Courier New;font-size: 12pt;color:#ff0000;background:#ffffff;} .relevanceAnswer{font-family: Courier New;font-size: 12pt;color:#ff0000;background:#ffffff;} .relevanceIllegalCharacter{font-family: Courier New;font-size: 12pt;color:#ffffff;background:#ff0000;} .relevanceComment{font-family: Courier New;font-size: 12pt;color:#008000;background:#ffffff;} .relevanceItColorized{font-family: Courier New;font-size: 12pt;color:#000000;background:#afffaa;}

//**Begin Preparation Marker // Download all specified files begin prefetch block if {name of operating system starts with “Win”} parameter “availableSpace” = “{free space of drive of client}” elseif {mac of operating system} parameter “availableSpace” = “{free space of filesystem of folder (pathname of client)}” else parameter “availableSpace” = “{free space of filesystem of client}” endif if {(parameter “availableSpace” as integer) > 72111528} add prefetch item name=6c553b73801332967765ba53e6d94ae1630d22be sha1=6c553b73801332967765ba53e6d94ae1630d22be size=24037176 url=SWDProtocol://127.0.0.1:52311/Uploads/6c553b73801332967765ba53e6d94ae1630d22be/QualysCloudAgent_WINDOWS_6.1.0.28%202.exe.bfswd sha256=fcfaac62b6a39c62e0cec0d930ed44224e313bc59e262b30971da490843fa739 parameter “availableSpaceError” = “{0}” else parameter “availableSpaceError” = “{-11}” endif end prefetch block

BODY { FONT-SIZE: 12px; OVERFLOW: auto; FONT-FAMILY: Segoe UI; FONT-WEIGHT: 400; FONT-STYLE: normal } .relevanceDefault{font-family: Calibri;font-size: 12pt;color:#000000;background:#ffffff;} .relevanceKeyword{font-family: Courier New;font-size: 12pt;color:#0000ff;background:#ffffff;} .relevanceIgnored{font-family: Courier New;font-size: 12pt;color:#a9a9a9;background:#ffffff;} .relevanceOperator{font-family: Courier New;font-size: 12pt;color:#0000ff;background:#ffffff;} .relevanceString{font-family: Courier New;font-size: 12pt;color:#008080;background:#ffffff;} .relevanceConstant{font-family: Courier New;font-size: 12pt;color:#800080;background:#ffffff;} .relevanceMatchingParen{font-weight: bold;font-family: Courier New;font-size: 12pt;color:#ffffff;background:#ff9632;} .relevanceUnmatchedParen{font-weight: bold;font-family: Courier New;font-size: 12pt;color:#ffffff;background:#ff0000;} .relevanceQuestion{font-family: Courier New;font-size: 12pt;color:#ff0000;background:#ffffff;} .relevanceAnswer{font-family: Courier New;font-size: 12pt;color:#ff0000;background:#ffffff;} .relevanceIllegalCharacter{font-family: Courier New;font-size: 12pt;color:#ffffff;background:#ff0000;} .relevanceComment{font-family: Courier New;font-size: 12pt;color:#008000;background:#ffffff;} .relevanceItColorized{font-family: Courier New;font-size: 12pt;color:#000000;background:#afffaa;}

if {parameter “availableSpaceError” = “-11”} // It fails here if the available space is not enough exit {parameter “availableSpaceError”} endif // All SWD files will go into a folder in the clients __BESData folder. This folder gets cleared on every restart. parameter “baseFolder” = “__Download/” // Move files into subfolders and unescape file names move “__Download/6c553b73801332967765ba53e6d94ae1630d22be” “{parameter “baseFolder”}QualysCloudAgent_WINDOWS_6.1.0.28 2.exe”

BODY { FONT-SIZE: 12px; OVERFLOW: auto; FONT-FAMILY: Segoe UI; FONT-WEIGHT: 400; FONT-STYLE: normal } .relevanceDefault{font-family: Calibri;font-size: 12pt;color:#000000;background:#ffffff;} .relevanceKeyword{font-family: Courier New;font-size: 12pt;color:#0000ff;background:#ffffff;} .relevanceIgnored{font-family: Courier New;font-size: 12pt;color:#a9a9a9;background:#ffffff;} .relevanceOperator{font-family: Courier New;font-size: 12pt;color:#0000ff;background:#ffffff;} .relevanceString{font-family: Courier New;font-size: 12pt;color:#008080;background:#ffffff;} .relevanceConstant{font-family: Courier New;font-size: 12pt;color:#800080;background:#ffffff;} .relevanceMatchingParen{font-weight: bold;font-family: Courier New;font-size: 12pt;color:#ffffff;background:#ff9632;} .relevanceUnmatchedParen{font-weight: bold;font-family: Courier New;font-size: 12pt;color:#ffffff;background:#ff0000;} .relevanceQuestion{font-family: Courier New;font-size: 12pt;color:#ff0000;background:#ffffff;} .relevanceAnswer{font-family: Courier New;font-size: 12pt;color:#ff0000;background:#ffffff;} .relevanceIllegalCharacter{font-family: Courier New;font-size: 12pt;color:#ffffff;background:#ff0000;} .relevanceComment{font-family: Courier New;font-size: 12pt;color:#008000;background:#ffffff;} .relevanceItColorized{font-family: Courier New;font-size: 12pt;color:#000000;background:#afffaa;}

// Log setup parameter “mainSWDLogFolder” = “{parent folder of client folder of current site}/__Global/SWDDeployData” folder create “{parameter “mainSWDLogFolder”}” parameter “logFile” = “SWD_DeploymentResults.log”

BODY { FONT-SIZE: 12px; OVERFLOW: auto; FONT-FAMILY: Segoe UI; FONT-WEIGHT: 400; FONT-STYLE: normal } .relevanceDefault{font-family: Calibri;font-size: 12pt;color:#000000;background:#ffffff;} .relevanceKeyword{font-family: Courier New;font-size: 12pt;color:#0000ff;background:#ffffff;} .relevanceIgnored{font-family: Courier New;font-size: 12pt;color:#a9a9a9;background:#ffffff;} .relevanceOperator{font-family: Courier New;font-size: 12pt;color:#0000ff;background:#ffffff;} .relevanceString{font-family: Courier New;font-size: 12pt;color:#008080;background:#ffffff;} .relevanceConstant{font-family: Courier New;font-size: 12pt;color:#800080;background:#ffffff;} .relevanceMatchingParen{font-weight: bold;font-family: Courier New;font-size: 12pt;color:#ffffff;background:#ff9632;} .relevanceUnmatchedParen{font-weight: bold;font-family: Courier New;font-size: 12pt;color:#ffffff;background:#ff0000;} .relevanceQuestion{font-family: Courier New;font-size: 12pt;color:#ff0000;background:#ffffff;} .relevanceAnswer{font-family: Courier New;font-size: 12pt;color:#ff0000;background:#ffffff;} .relevanceIllegalCharacter{font-family: Courier New;font-size: 12pt;color:#ffffff;background:#ff0000;} .relevanceComment{font-family: Courier New;font-size: 12pt;color:#008000;background:#ffffff;} .relevanceItColorized{font-family: Courier New;font-size: 12pt;color:#000000;background:#afffaa;}

//**End Preparation Marker delete __createfile parameter “logFolder” = “{parameter “mainSWDLogFolder”}” // Run setup process delete run.bat

BODY { FONT-SIZE: 12px; OVERFLOW: auto; FONT-FAMILY: Segoe UI; FONT-WEIGHT: 400; FONT-STYLE: normal } .relevanceDefault{font-family: Calibri;font-size: 12pt;color:#000000;background:#ffffff;} .relevanceKeyword{font-family: Courier New;font-size: 12pt;color:#0000ff;background:#ffffff;} .relevanceIgnored{font-family: Courier New;font-size: 12pt;color:#a9a9a9;background:#ffffff;} .relevanceOperator{font-family: Courier New;font-size: 12pt;color:#0000ff;background:#ffffff;} .relevanceString{font-family: Courier New;font-size: 12pt;color:#008080;background:#ffffff;} .relevanceConstant{font-family: Courier New;font-size: 12pt;color:#800080;background:#ffffff;} .relevanceMatchingParen{font-weight: bold;font-family: Courier New;font-size: 12pt;color:#ffffff;background:#ff9632;} .relevanceUnmatchedParen{font-weight: bold;font-family: Courier New;font-size: 12pt;color:#ffffff;background:#ff0000;} .relevanceQuestion{font-family: Courier New;font-size: 12pt;color:#ff0000;background:#ffffff;} .relevanceAnswer{font-family: Courier New;font-size: 12pt;color:#ff0000;background:#ffffff;} .relevanceIllegalCharacter{font-family: Courier New;font-size: 12pt;color:#ffffff;background:#ff0000;} .relevanceComment{font-family: Courier New;font-size: 12pt;color:#008000;background:#ffffff;} .relevanceItColorized{font-family: Courier New;font-size: 12pt;color:#000000;background:#afffaa;}

**//Use .bat to set working directory to packages root, for setup command. createfile until end @ECHO OFF cd “{parameter “baseFolder”}” rem // See comments at the beginning of this action for an explanation of the comment markers. echo %DATE% %TIME% >> “{parameter “logFolder”}{parameter “logFile”}” echo Action ID: {id of active action} >> “{parameter “logFolder”}{parameter “logFile”}” rem //**Begin Command Marker echo Command: “QualysCloudAgent_WINDOWS_6.1.0.28 2.exe” PatchInstall=TRUE >> “{parameter “logFolder”}{parameter “logFile”}” set errorlevel= “QualysCloudAgent_WINDOWS_6.1.0.28 2.exe” PatchInstall=TRUE >> “{parameter “logFolder”}{parameter “logFile”}” 2>&1 set SWDExitCode=%errorlevel% rem //End Command Marker

BODY { FONT-SIZE: 12px; OVERFLOW: auto; FONT-FAMILY: Segoe UI; FONT-WEIGHT: 400; FONT-STYLE: normal } .relevanceDefault{font-family: Calibri;font-size: 12pt;color:#000000;background:#ffffff;} .relevanceKeyword{font-family: Courier New;font-size: 12pt;color:#0000ff;background:#ffffff;} .relevanceIgnored{font-family: Courier New;font-size: 12pt;color:#a9a9a9;background:#ffffff;} .relevanceOperator{font-family: Courier New;font-size: 12pt;color:#0000ff;background:#ffffff;} .relevanceString{font-family: Courier New;font-size: 12pt;color:#008080;background:#ffffff;} .relevanceConstant{font-family: Courier New;font-size: 12pt;color:#800080;background:#ffffff;} .relevanceMatchingParen{font-weight: bold;font-family: Courier New;font-size: 12pt;color:#ffffff;background:#ff9632;} .relevanceUnmatchedParen{font-weight: bold;font-family: Courier New;font-size: 12pt;color:#ffffff;background:#ff0000;} .relevanceQuestion{font-family: Courier New;font-size: 12pt;color:#ff0000;background:#ffffff;} .relevanceAnswer{font-family: Courier New;font-size: 12pt;color:#ff0000;background:#ffffff;} .relevanceIllegalCharacter{font-family: Courier New;font-size: 12pt;color:#ffffff;background:#ff0000;} .relevanceComment{font-family: Courier New;font-size: 12pt;color:#008000;background:#ffffff;} .relevanceItColorized{font-family: Courier New;font-size: 12pt;color:#000000;background:#afffaa;}

echo Return code: %SWDExitCode% >> “{parameter “logFolder”}{parameter “logFile”}” echo. >> “{parameter “logFolder”}{parameter “logFile”}” exit %SWDExitCode% end

BODY { FONT-SIZE: 12px; OVERFLOW: auto; FONT-FAMILY: Segoe UI; FONT-WEIGHT: 400; FONT-STYLE: normal } .relevanceDefault{font-family: Calibri;font-size: 12pt;color:#000000;background:#ffffff;} .relevanceKeyword{font-family: Courier New;font-size: 12pt;color:#0000ff;background:#ffffff;} .relevanceIgnored{font-family: Courier New;font-size: 12pt;color:#a9a9a9;background:#ffffff;} .relevanceOperator{font-family: Courier New;font-size: 12pt;color:#0000ff;background:#ffffff;} .relevanceString{font-family: Courier New;font-size: 12pt;color:#008080;background:#ffffff;} .relevanceConstant{font-family: Courier New;font-size: 12pt;color:#800080;background:#ffffff;} .relevanceMatchingParen{font-weight: bold;font-family: Courier New;font-size: 12pt;color:#ffffff;background:#ff9632;} .relevanceUnmatchedParen{font-weight: bold;font-family: Courier New;font-size: 12pt;color:#ffffff;background:#ff0000;} .relevanceQuestion{font-family: Courier New;font-size: 12pt;color:#ff0000;background:#ffffff;} .relevanceAnswer{font-family: Courier New;font-size: 12pt;color:#ff0000;background:#ffffff;} .relevanceIllegalCharacter{font-family: Courier New;font-size: 12pt;color:#ffffff;background:#ff0000;} .relevanceComment{font-family: Courier New;font-size: 12pt;color:#008000;background:#ffffff;} .relevanceItColorized{font-family: Courier New;font-size: 12pt;color:#000000;background:#afffaa;}

move __createfile run.bat // You will not be able to stop or take action on an applicable BigFix Client until your installer completes. // So ensure no user input is required. // If your package absolutely must interact with the user, replace ‘override wait’ with ‘override run’ and ‘wait’ with ‘run’. override wait hidden=true completion=job wait run.bat

BODY { FONT-SIZE: 12px; OVERFLOW: auto; FONT-FAMILY: Segoe UI; FONT-WEIGHT: 400; FONT-STYLE: normal } .relevanceDefault{font-family: Calibri;font-size: 12pt;color:#000000;background:#ffffff;} .relevanceKeyword{font-family: Courier New;font-size: 12pt;color:#0000ff;background:#ffffff;} .relevanceIgnored{font-family: Courier New;font-size: 12pt;color:#a9a9a9;background:#ffffff;} .relevanceOperator{font-family: Courier New;font-size: 12pt;color:#0000ff;background:#ffffff;} .relevanceString{font-family: Courier New;font-size: 12pt;color:#008080;background:#ffffff;} .relevanceConstant{font-family: Courier New;font-size: 12pt;color:#800080;background:#ffffff;} .relevanceMatchingParen{font-weight: bold;font-family: Courier New;font-size: 12pt;color:#ffffff;background:#ff9632;} .relevanceUnmatchedParen{font-weight: bold;font-family: Courier New;font-size: 12pt;color:#ffffff;background:#ff0000;} .relevanceQuestion{font-family: Courier New;font-size: 12pt;color:#ff0000;background:#ffffff;} .relevanceAnswer{font-family: Courier New;font-size: 12pt;color:#ff0000;background:#ffffff;} .relevanceIllegalCharacter{font-family: Courier New;font-size: 12pt;color:#ffffff;background:#ff0000;} .relevanceComment{font-family: Courier New;font-size: 12pt;color:#008000;background:#ffffff;} .relevanceItColorized{font-family: Courier New;font-size: 12pt;color:#000000;background:#afffaa;}

//**Begin Closing Marker // Get the return code of the previous action. parameter “returnCode” = “{exit code of action}”

BODY { FONT-SIZE: 12px; OVERFLOW: auto; FONT-FAMILY: Segoe UI; FONT-WEIGHT: 400; FONT-STYLE: normal } .relevanceDefault{font-family: Calibri;font-size: 12pt;color:#000000;background:#ffffff;} .relevanceKeyword{font-family: Courier New;font-size: 12pt;color:#0000ff;background:#ffffff;} .relevanceIgnored{font-family: Courier New;font-size: 12pt;color:#a9a9a9;background:#ffffff;} .relevanceOperator{font-family: Courier New;font-size: 12pt;color:#0000ff;background:#ffffff;} .relevanceString{font-family: Courier New;font-size: 12pt;color:#008080;background:#ffffff;} .relevanceConstant{font-family: Courier New;font-size: 12pt;color:#800080;background:#ffffff;} .relevanceMatchingParen{font-weight: bold;font-family: Courier New;font-size: 12pt;color:#ffffff;background:#ff9632;} .relevanceUnmatchedParen{font-weight: bold;font-family: Courier New;font-size: 12pt;color:#ffffff;background:#ff0000;} .relevanceQuestion{font-family: Courier New;font-size: 12pt;color:#ff0000;background:#ffffff;} .relevanceAnswer{font-family: Courier New;font-size: 12pt;color:#ff0000;background:#ffffff;} .relevanceIllegalCharacter{font-family: Courier New;font-size: 12pt;color:#ffffff;background:#ff0000;} .relevanceComment{font-family: Courier New;font-size: 12pt;color:#008000;background:#ffffff;} .relevanceItColorized{font-family: Courier New;font-size: 12pt;color:#000000;background:#afffaa;}

// Task will now exit. exit {parameter “returnCode”} //**End Closing Marker

After pushing it to some other servers it worked properly. The two it does now work on are 2025 Servers, which is odd.

Hello.

Sorry, but your message is unreadable.

Here is the very simple code example generated via “Software Distribution” Wizard that we we use for our environment to update Qualys Cloud agent.

prefetch e3690bb2182c6088cdfccb3276b9bd6041d57d60 sha1:e3690bb2182c6088cdfccb3276b9bd6041d57d60 size:20138925 http://SERVERNAME:52311/Uploads/e3690bb2182c6088cdfccb3276b9bd6041d57d60/QualysCloudAgent_WINDOWS_6.0.0.13.exe.tmp sha256:51c0040a6020d9207b601537735d69adb86a54effff670dedf43ac13b79f7106
extract e3690bb2182c6088cdfccb3276b9bd6041d57d60

waithidden __Download\QualysCloudAgent_WINDOWS_6.0.0.13.exe PatchInstall=TRUE

Thats all…

Thanks Anton, I will give this a test