/build/static/layout/Breadcrumb_cap_w.png

Scripting Question


How do I make a KACE SMA Managed Installation that is 100% silent? No Command Prompt pop-ups.

11/13/2019 480 views

I'm new to KACE and this job. My SMA appliance is on 9.0.270. My environment already has a system to use AutoIT scripts to install software with the SMA Managed Installations. I'm researching using batch files and PowerShell instead. AutoIT is the only way my predecessors could find that would completely hide any sort of interface or pop-ups. To achieve that, they used the @SW_HIDE parameter in AutoIT scripts. For example:

RunWait(@ScriptDir & "install.bat", @ScriptDir, @SW_HIDE)


An example of the settings in one of our Managed Installations is like this:

  • Associated files: a zip folder with the installation file and a install.bat file
  • Execution = Anytime
  • Delete downloaded files = checked
  • Override default installation = selected
  • Full Command line = install.bat
  • Don't prepend msiexec.exe = checked
  • Notify: none of them are checked

An example of the actual install.bat script would be:

@echo off

:: Install software

"%~dp0SoftwareName.exe" /S


I've run multiple batch files as Managed Installations on my SMA. I get Command Prompt windows that pop-up or flash briefly. Also, not all of our software comes in nice, clean .msi files that you can easily automate. Surely there's a way to hide all hints of an interface and installations running in the background. Does anyone have any ideas?


Edit: For anyone from the future. I also posted the same question to reddit.com/r/kace. This is more the answer I was looking for. Thanks for your help!

Answer:

Managed installations, by design/definition, are calling the vendor's installer (or any custom wrapper you may have created), so the ability to trigger a completely silent installation is up to the vendor (or your custom code). AutoIT/PowerShell/Python/Etc wrappers are a common method to circumvent any shortcomings of vendor installers, such as in your example.

There's no real best practice approach for this, as every installer is unique (sometimes vendors use the same parameters, but not always).

0 Comments   [ + ] Show comments

Comments


All Answers

1

There are many ways to hide installs depends on the installer used

http://unattended.sourceforge.net/installers.php

Ask the application. Sometimes it’s just as easy as asking. Using a command window you can try running the EXE with /? and see if it returns with install options.

if you need to hide batch and do not want to use AutoIT you can use a vb script to hide the batch file

CreateObject("Wscript.Shell").Run ".\install.bat",0,True



Answered 11/13/2019 by: SMal.tmcc
Red Belt

1

To prevent the system from opening a cmd window while executing a batch, I use the open source tool SilentCMD.exe by Stephan Brenner.


The program can be found here:
https://www.stephan-brenner.com/

The use is simple.

I'll zip the SilendCMD.exe along with the installation files and the batch.

Then I upload the zip on the KACE and use the command line "SilentCMD.exe Install.bat".

Answered 11/13/2019 by: Gerhart
Purple Belt

1

/s doesn't work for every .exe . Try looking up the command line arguments for this particular installer (google how to silently install X program cmd). A lot of the time there is specific commands you need to use like /silent or /quiet or something like that. 

Answered 11/20/2019 by: pfletcher
Yellow Belt

1

Run the executable with /? in the command window and if there are switches in the exe file they will be displayed. Note the installer.

Answered 11/20/2019 by: egholm52
Senior White Belt