clusrun.vbs fix to handle name="value" parameters

I want to install an application on a CCS cluster nodes using MSIEXEC. I use clusrun while have the package available on a share. i want the installation target to be at C:\Program Files\product name location on all nodes.


clusrun hangs when I give TARGETDIRECTORY="Program Files\product name" as a parameter for MSIEXEC.  A simple workaround I used:


change the clusrun.vbs as follows -

(look at <CCP ROOT>\bin\ for clusrun.vbs).


you need to look at the part that processes supplied arguments in the commnd line (line 101 through 144). It should be as follows.



for i=0 to objArgs.Count - 1
      if Left(objArgs(i),1) <> "/" then

          if schedname="" then
           set wshShell = Wscript.CreateObject ("WScript.Shell")
             set WshEnv = WshShell.Environment("Process")
             schedname = WshEnv("CCP_SCHEDULER")
             if schedname="" then
                 schedname = "localhost"
             end if              
         end if

         ' build the command line out of everything left
         for j = i to objArgs.Count - 1
            'if the argument contains a space then add quotes to maintain the structure


          if InStr(objArgs(j), " ") = 0 then
             cmdline = cmdline + objArgs(j) + " "
                cmdline = cmdline + Replace(objArgs(j),"=","=""") + """ "
           end if

         task.CommandLine = cmdline
         exit for

      end if


I could successfully use MSIEXEC with name value parameter and quotes as well as spaces.


Note: One way to overcome situations of having space in paramter is to place the command  within a batch file and execute the batch file using clusrun or job submit.

Comments (0)

Skip to main content