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) + " "
           else
                cmdline = cmdline + Replace(objArgs(j),"=","=""") + """ "
           end if

         next
         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.