Make "install" action available through softwarecenter: protocol link
The feature was basically already requested back in 2016 but wasn't implemented to date.
The old request can be found @ https://configurationmanager.uservoice.com/forums/300492-ideas/suggestions/13617639-software-center-add-support-for-direct-link-to-ap
Mark Silvey wanted me to share our use-case so that others can chime in, so here I am.
(skip to TL;DR for the actual feature request)
Following scenario is currently happening at my workplace: We have over 4000 clients and about 1500 of them have "Cisco AnyConnect" installed as VPN client. That includes notebooks and regular computers used for homeoffice.
Now we need to update "Cisco AnyConnect" to a new version. Sadly the update (.msi file) will basically uninstall the old version - terminating any open VPN connection - and then install the new version.
With the number of people currently working from home that would cause a lot of calls to our IT support hotline ... so we were looking for something to inform the users about the need to update the software, what will happen and what they need to do to establish a VPN connection again so they can resume their work.
Mailing everyone potentially affected is clearly out. The internal "News" site is ignored by too many people. To my knowledge SCCM doesn't offer any good way to actually show the user pre-installation information.
So I was looking at https://www.imab.dk/windows-10-toast-notification-script/ (respectively https://github.com/imabdk/Toast-Notification-Script) and it practically offers everything we need. (Minus a few minor features I already asked about on Github's issue tracker.)
Basically the tool will pop up a toast notification, inform the user about what is going on and show and give the user three options:
- Install - Opens up the Software Center
- Snooze - Hide the toast for X minutes before it pops up again
- Dismiss - Hide the toast until the next time the script is triggered by the SCCM client
Behind the "Install" button hides a link to e.g. "softwarecenter:SoftwareID=ScopeId968C5854-F7DB-48D1-B4AA-C4DCEAE28031/Application2360a124-41a9-4d27-a400-41e0a628ad32". And here lies the problem.
The "Install" button will only open the page of the software in the Software Center. And then the user has to click "Install" once more. But what I'd really like to do is have a softwarecenter: protocol link that will let the users skip the extra click on "Install".
The application deployment for the "Cisco AnyConnect" VPN client would be just offered to the user (with a deadline in a couple of weeks/months) so that the installation wouldn't run automatically. The user would get the toast notification and upon clicking the "Install" button in the toast the user would open the Software Center and trigger the "Install" action at the same time.
I'm aware that triggering random applications from toast notifications is not supported (for obvious security reasons). But they do explicitly support protocol links, among them "softwarecenter:". I feel like this would be a really awesome addition - considering you can nowadays more or less open any page in the Software Center already ... and there shouldn't be any security concerns either, since everything available in the Software Center should be curated already.
@Thorsten: Glad you are still onboard with the feature request.
In the meantime I've figured out how to get the Toast Notification script to do what I want, without the need to wait for this feature request to get implemented in a couple months/years.
Check out https://github.com/imabdk/Toast-Notification-Script/issues/16 for the configuration I'm using and a "bug" to watch out for.
Thanks @kheldorn for following up on my old request :)
By coincidence, one of my customers just asked me to implement the toast from imab.dk for the next OS upgrade. Looking into the code I was happy to see the protocol being used. Not happy, that the last click is not yet automated. Thanks for sharing your use case.