Using VSTO, ClickOnce and Chrome - is it still possible?
Asked Answered
A

0

6

Some time ago Google finally pulled NPAPI support from Chrome, nuking the ClickOnce support in Chrome altogether. Still Chrome is a popular browser, and ClickOnce is very convenient for users. Therefore I am trying to come up with a deployment user experience for ClickOnce apps (specifically VSTO add-ins for Outlook) and Chrome that does not suck.

Here are alternatives I tried:

  • Recommend users install ClickOnce Chrome extension (Meta4 ClickOnce launcher, Windows Remix ClickOnce handler, CacheNet ClickOnce for Chrome, etc). All of these actually install a click handler application that launches .NET handlers for .VSTO files. As of Chrome 55.X all these no longer work because Chrome also blocked .exe installers that used to come with these. Even when those are fixed, this means a user will have to download and install 3rd party .exe file, which basically renders the use ClickOnce pointless: I could have packaged my own installers as .exe too (see next).
  • Make users download and run bootstrapper file (setup.exe) instead. The file gets generated with the ClickOnce app, it is exactly one file to download and it pulls the rest of the stuff from net. As of now, however, Chrome, SmartScreen and whatever antivirus users have will likely yell at setup.exe being downloaded despite it is being signed by proper CA (unless you have millions of downloads). Which, again, is a deal killer.
  • Make application manifests runnable locally. OK, Chrome doesn't know how to handle .VSTO manifests, but at least it downloads them. What if I somehow cook .VSTO manifest so that when user double-clicks it, it just starts the deployment? Well, we are 80% there, except as of today this exact scenario results in "Deployment and application do not have matching security zones.". It looks like ClickOnce assumes that if the file is launched from the local hard drive it is automatically "local" and entire deployment should be "local" too. So this is option is dead too.
  • Ask users to open the link in IE. Last resort is basically to admit your defeat and do ye olde thing circa 2001 - ask the user to open the link or the whole download page in IE.

Last option works but this sort of user experience is an embarrassment by 2016 standards and my PMs will likely say "to hell with it ClickOnce, grab wix or IS, do a regular installer".

Hence the question:

Am I missing some options (something that you may have tried that worked) or is this correct assessment of the current situation with ClickOnce?

UPDATE: if someone from MSFT reads these: guys, ClickOnce has a great potential for deployment and updates. Can you please consider removing the damn TargetZone feature from manifests or at least make sure it still can run when you just launch the manifests files with double-click. I think without it option #3 could have worked, which wouldn't render the whole thing unusable for 60% of internet... ;-)

Arc answered 23/12, 2016 at 20:21 Comment(4)
One additional advantage for ClickOnce over a traditional installer: you can pass parameters to it, and they're passed on to the application similar to command-line arguments after it launches.Torpedoman
This is causing pain for me too - ClickOnce is great for rolling out updates for VSTO plugins, but getting the damn thing installed in the first place when most of our users prefer Chrome is becoming a nightmareLohengrin
I was hoping to solicit some MS PM here for comments, but I don't know if VSTO even has one anymore or if they monitor SO. Which is sad, because this sort of crap impedes apps from getting into their platform. I ended up with duct-tape solution based on #4. Had designers come up with a funny pic and PM to rhyme an apologetic message for it. Didn't help much, the usability was still considered subpar by target group (meaning nope, we are not going production). So the whole thing went flop and a month later for this and other reasons.Arc
ClickOnce has great developer appeal (I don't have to deal with scripts for installing - just a few settings), however this idiocy about only working out of the box on the Edge browser is definitely a show stopper. (Plus ClickOnce is buggy with projects referencing other projects - always getting paths wrong for the other dll's).Surround

© 2022 - 2024 — McMap. All rights reserved.