I'd like to push the .NET 4.0 framework to several computers by adding dotNetFx40_Full_x86.exe as a dependency, running the script on a group and finish by verifying that dotNetFx40_Full_x86.exe exists in the $(KACE_DEPENDENCY_DIR).

My question is whether or not items in the KACE_DEPENDENCY_DIR only stay there for a limited time before KACE removes them automatically.

I appreciate your help! I'm learning how to use KACE for the first time.

0 Comments   [ + ] Show Comments


Please log in to comment

Community Chosen Answer


I would verify "%ProgramFiles%\Microsoft.NET\RedistList\AssemblyList_4_extended.xml" existed. 

Answered 09/17/2012 by: dugullett
Red Belt

  • We've been wondering how to use the ProgramFiles variable pathname for awhile heh.
Please log in to comment



I don't belive the K1000 removes the file from the dependency directory unless you explicitly tell it to in a managed install or add a task to delete in a script.

Why would you verify that the installer is in the dependency directory? That would just show that the file downloaded, not that .Net 4.0 was installed.

Give me a better idea of what you are trying to accomplish and I can suggest further.

Answered 09/16/2012 by: jknox
Red Belt

  • Well we have a lot of computers to put .NET 4.0 onto. Some of the computers have really fast connections, others have really slow connections.

    It has been decided that we should send dotNetFx40_Full_x86.exe to the computers, make sure it gets there, then the next day install it. We are worried that if we do both at the same time the computers will get .NET 4.0 later in the day than we intend and it will have a noticeable impact on other software running on the computers we are distributing it to when it installs.
    • With scripts you can schedule a time. You can also display a message, and have them OK it, or snooze.
  • Oh, good point, so I could have a script that places the .NET 4.0 installer on a computer, snoozes 24 hours then starts back up and installs .NET 4.0 onto the computer.
    • Well.... I was more thinking you just run the script at a certain time. Then give the users an option to snooze if they are busy. Give it like at 15 minute timeout. If they don't click snooze then it installs.

      The first thing your script will do is copy down the dependencies. So it wont install until it is local.
  • I just encountered a problem... We wanted to seperate placing dotNetFx40_Full_x86.exe in the dependency directory and installing dotNetFx40_Full_x86.exe with 2 different scripts.

    Unfortuneately when I try to verify a dependency exists that was sent to the target machine in a different script KACE looks in the wrong directory.

    I've created a script with dotNetFx40_Full_x86.exe as a dependency, it just checks to make sure that dotNetFx40_Full_x86.exe exists in the KACE dependency directory. KACE successfully saves dotNetFx40_Full_x86.exe to C:\Program Files\KACE\KBOX\\packages\kbots\116\dotNetFx40_Full_x86.exe

    In the next script I run the installer but instead of going to packages\kbots\116\dotNetFx40_Full_x86.exe it goes to packages\kbots\117\dotNetFx40_Full_x86.exe.
    • When you upload a file as a dependency it copies to the directory for you. I guess I'm a little lost on why you would do it this way. The installer is only around 50 MB.

      $(KACE_DEPENDENCY_DIR) is basically the same as %~dp0. So if you created a script to install you would have to tell it to go to "\kbots\116". I really don't get this way of doing it, but to each his own.
  • I still don't understand why you want to verify it's there first. In either a script or a MI, the download has to complete before it's run.
  • @jknox Because I'm told to ;) I just got the job, I'm asking those questions in my head but I understand that they are VERY wary of KACE and whether or not it works like it should which is understandable.

    @dugullet Like I said, this is how we want to do it, I have very little control over it at this point. I asked why we were seperating pushing the file and installing the file though and they did have a farely good explanation. Some of the computers we manage have no more than a tethered cellphone for their internet connection. Because we don't know how long 50 MB takes to transfer to a computer over a connection like that we don't want to Push and Install .NET 4.0 in one fell swoop, we want to seperate them so that we know that all computers recieved the the complete installer (without any problems) before we begin running the installer.
    • If that's the case, and it will probably be common practice for your environment why not create a directory somewhere on the local machine (C:\installs). Have a script copy those files down. Then on your install script use something like this.

      VERIFY: File Exists

      ON SUCCESS: Run a batch File
      @echo off
      C:\installs\msnet40\dotnetfx40_full_x86.exe /passive /norestart
Please log in to comment
Answer this question or Comment on this question for clarity