Beware of MI’s that install at bootup or after logon that need to restart the client.

When an MI is set to ‘Execute before Logon’ or Execute After Logon’ AND the computer is set to reboot to complete the install, the client could end up in an endless cycle of MI install/reboot.

What happens is a client completes and Inventory check and finds out it has an MI to install at Bootup. KACE creates a file on C:\ called “KBCLIENT.BOOTUP.LAUNCH" during an Inventory check. This tells the KACE client to install the MI at Bootup before Logon. Now, if you have the MI set (via batch file or MSI edit) to reboot the PC after install, the client reboots – but KACE never gets a chance to Inventory the new installation and does not get the chance to remove the “KBCLIENT.BOOTUP.LAUNCH" from C:\. So when the client reboots, the “KBCLIENT.BOOTUP.LAUNCH" file is still on C:\ and KACE thinks that it still needs to install the MI – which it already did during the last Bootup.

I’ve been in contact with support and they are aware of this known bug. However, there is a quick fix I use until it’s officially ‘fixed’ in a newer version.

The fix:
1. Create a batch file that runs your MSI/EXE. At the end of the batch file simply run this command: DEL /Q "C:\KBCLIENT.BOOTUP.LAUNCH".
2. 7-zip all your files including the batch file.
3. On the Managed Software Installation: Edit Detail screen set the Installation Command to ‘Configure Manually’ and enter the batch file name in the box.

Here is what my batch file looks like:

Echo off
msiexec.exe /i XXXXXXXX.msi /qn
DEL /Q "C:\KBCLIENT.BOOTUP.LAUNCH"
Exit


I hope this helps…
Dave



0 Comments   [ + ] Show Comments

Comments

Please log in to comment

Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.

Answers

0
This is a case where an offline scripts would do very well at. If you're creating a batch file why not augment it's logic with a script? Then there are less holes to plug. here the first step of the script would be to check if the installed file or directory exists.

Or, if you want to keep all your logic in a batch you can at least edit the batch file right in the script.

You can also take remediation steps if there is a failure, etc
Answered 03/04/2012 by: GillySpy
Seventh Degree Black Belt

Please log in to comment
Answer this question or Comment on this question for clarity