Loving PSAppDeployToolkit, use it to deliver large CAD applications (1GB+) that would otherwise be installed manually. Keep up the good work, saves me loads of time!
Now for my question:
I use Show-InstallationWelcome, with only 2 buttons, defer or continue, and a countdown timer of 5 minutes. Users are allowed to defer 3 times. Since we use Intune to distribute apps, we have little control over time of installation. With large CAD applications, which our users use all day, waiting for half an hour for an installation to finish can be pretty annoying. So the keep clicking defer.
What I would like to do is provide an extra button that says ‘install at 12pm (lunchtime)’. This button should then quit the prompt, and call a Powershell script that creates a scheduled task set to go off at 12pm, restarting the Intune service, and thereby invoking an install. Because no-one is behind the desk at that time, the countdown will pass, and start the installation. User comes back from lunch, install finished.
Is this possible?
I tried Show-InstallationPrompt but then I can’t use -closeapps etc. Ideally the button should only be available if the scheduled task does not exist.
Delayed installation through a button is not implemented yet. I would understand adding it in but this usually adds more problems than it solves. Since most of deployment environments verify whether the installation was successful and retry if it was not, we would not really be able to do this without closing the toolkit, because if we setup a task, we have to close the toolkit and return an exit code. If we return 0, then the detection method will be checked which will fail and so the installation will be considered a fail. If we return an nonzero exit code, the installation will also be considered a fail. If we write detection and return 0, we would have to make sure the task runs somehow which we cant. From the point of view of the SCCM/Intune console, the application is installed even though it might be waiting for installation. That could cause problems if someone bases their application on this one or this application is superseded. It would require another exit code and SCCM admins would have to add it.
Also, you can set up deployments as available and send them an email that they should it install it asap when they have time, otherwise it will be installed by deadline.
TL DR: Not currently possible. Not sure if it should be in the future.
Thanks for the reply.
It’s not possible to add an action to the ‘defer’ button? If I could run a Powershell script upon defer that sets the Intune service to restart at 12pm, that would effectively install the application again at that time.
I’ve developed a working defer solution for (mostly) what you’re asking and put it into the toolkit. It should be simple to modify for your needs I would think. It works fine in our environment and I deploy to 12,000+ devices. It has the option for them to defer for 30 minutes up to 24hrs but you could really do anything you want with the time options. Let me know if you’re interested. @luki1412@Knuppel My screenshot:
Coming back on this. I’ve created my own solution as well. Put an ‘if between time’ statement in the deployment, and had it create a scheduled task at 12m daily, that removes Intune package traces from registry, and then restarts the Intune service to trigger install. If the install is succesful the scheduled task is removed. All using Powershell. Our install is 2GB’s in size, so installing it during lunch break for us is the most elegant solution. (where users won’t impatiently shutdown their device so they can go home)