How do I make a KACE SMA Managed Installation that is 100% silent? No Command Prompt pop-ups.
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).
Answers (4)
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
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".