Best practices and approach when using Kbox breadcrumbs w/ custom inventory rules to deploy software packages?
Hello
I have been using breadcrumbs and Custom inventory rule in conjunction with smart labels to deploy software after the image drops and checks into the Kbox. The actual post imaging software deployment process works very well, the problem is almost too well. What I didn’t properly consider when mapping out this software deployment method was how to handle when software packages need/get updated or if they need to be uninstalled from the image. If the software version changes due to an update/patch/uninstall eventually the machine will check back and since it still has the registry key that is used to match on the custom inventory rule the initial software packages will try to reinstall again.
One example of this is when Adobe Reader 10.1.4 gets installed using breadcrumbs/smart label post installation. Then when patching runs and updates it’s to 10.1.7. Since the version # changed for Adobe Reader package it then tries to reinstall the version 10.1.4 again. I did come up with a workaround for this package so that this doesn’t happen.
Really curious to see how others have addressed this matter when using bread crumbs and custom inventory rules? I have thought of using script to delete the intial deployment registry key value that I used for the custom inventory to match on playing with the Smart labels to only look for a specific version of the software, or trying to find a way to have the custom inventory rule only run once. Any insight that anyone could share with me on how you’re using Breadcrumbs and custom inventory when it comes to updates and uninstalls would be greatly appreciated.
Thanks!
Answers (2)
So you don't include anything in the image, but have the K1000 push it all? What I do is have a label for newly imaged machines. I then run the force check in script against that label so that they check in more frequently. That usually gets everything before the machine heads into production. That way you don't have to use the breadcrumbs. Just what Kace already inventories.
Comments:
-
Thanks for the reply... Correct I don't include anything on the image. I use K2000 post installation tasks for drivers and K1000 push all software. I was debating on ditching the Breadcrumbs and go with native K1000 labeling for new images. What method or approach do you use so that once a machine is production the software packages don't update or change until you want them to? I was using software version specific labels to manage this but, it becomes a bit of processing managing them. That is one reason why I liked using the Breadcrumb method initially. - jwilliams 11 years ago
-
All of our standard software is in the image so I can't speak for that (ie Reader, Flash, Java). I do use Kace patching to update that software if needed with patching labels, and incorporating the "new imaged machine" label.
For everything that is pushed from the K1000 I duplicated the "Force Check In" script and added the new machine label. I then have those machines check in every 30 minutes. You could change it to whatever is needed I just chose 30.
Here is the label I use. This gets machines that have been imaged in the past two hours. You can change it to what you need on the 2nd to last line.
select *, UNIX_TIMESTAMP(now()) - UNIX_TIMESTAMP(LAST_SYNC) as LAST_SYNC_TIME,
UNIX_TIMESTAMP(MACHINE.LAST_SYNC) as LAST_SYNC_SECONDS
from ORG1.MACHINE
LEFT JOIN KBSYS.KUID_ORGANIZATION ON KUID_ORGANIZATION.KUID=MACHINE.KUID LEFT JOIN KBSYS.SMMP_CONNECTION ON SMMP_CONNECTION.KUID = MACHINE.KUID AND KUID_ORGANIZATION.ORGANIZATION_ID = 1
where ((MACHINE.OS_INSTALLED_DATE > DATE_SUB(NOW(), INTERVAL 2 HOUR))) - dugullett 11 years ago-
It's been a while since my last post, have to say thanks for the above label tip. I have been using this label and it has been working out really well. Have a new requirement and was trying to tweak this label so that it will only target x86 or x64 machines and also is it possible to change the OS installation date from and interval of X hours to a range such as from 0-4 hours of install date. Trying to add these into the label syntax you provided but, keep getting errors when saving. Any guidance would be greatly appreciated. Thanks again. - jwilliams 10 years ago
-
If you build your breadcrumbs such that the flag is set by the K2000 on rebuild and then once the Software app is installed the K1 reset the flag you shouldn't have an issue, the issue will come if you create the registry flag and just leave it showing.
So with Adobe, rebuild the machine, set the flag, install the agent.
The K1 sees the machine, identifies the flag, shows dummy breadcrumb product, machine is added to the install smart label.
Managed installation fires, product installed, resets the flag, dummy breadcrumb product is removed, machine exits label.
If you then deploy a more up to date application via a managed installation the breadcrumb flag is never touched so there is never a conflict, unless of course you rebuild the machine which will take everything back to stage one ;o)
That's how we do it for our customers', hopefully it's helpful? - Hobbsy 11 years ago -
Thanks Hobbsy, the approach that your suggesting is what I had in mind to have the breadcrumb installation task to just run once. Can you elaborate on you go about resting the registry flag? When the managed install runs how would you configure the task so it resets the reg flag? Thanks again for you help. - jwilliams 11 years ago
Is there not a way to add logic on the version check? It sounds like if value does not = 10.1.4 it will reinstall... It should be <= 10.1.4 gets updated, or whatever parameters are used to tell it "less than or equal to" should be installed.
Comments:
-
Thanks I did try to do something like this but, I don't see <= to option when building a smart label just see = or contains. This method turns into a management process having to create and maintain a dozen or so software specific labels but, I might have to go down this path. - jwilliams 11 years ago
-
jwilliams, you can use two separate lines of code. One would say EQUALS, the other would say OR LESS THAN.
Ron Colson
KACE Koach - ronco 11 years ago