Last post Jan 12, 2012 09:37 AM by atconway
Jan 10, 2012 05:36 PM|tulipvn|LINK
I am working in an asp.net application. From an asp.net webpage, the user can download our special file and then run it. the file will be associated with an application previously installed on the client machine.
Off course, if the application was not installed on the local machine, they can not run the file.
I wonder would it be possible to detect if our application has installed on the local machine or not. if not a popup or a message is shown on the machine and ask them to install our software first.
Something like Flash, the browser can detect that if Flash is not installed on the local machine. It will ask the user to install download Flash and install it.
thanks in advance.
Jan 10, 2012 11:29 PM|markfitzme|LINK
You would have to use a plug-in to detect it. The flash object gets found because there is a download url on the embedded flash object that directs to the adobe site. The plug-in architecture gives this method a bit more flexibility, but to determine if
a non-browser plug-in is installed is another story. I don't think there is any easy way to do it since it is outside the browser's security sandbox. There may be third-party plug-ins that are already built for multiple-browsers that would be able to determine
if something is installed, but I haven't seen them. I've only seen the ones used by certain large companie's support desks, like nvidia's plug-in to determine which version of the graphics driver you have to determine if you need a new one.
Jan 11, 2012 02:30 PM|atconway|LINK
web. And it is a big 'no-no' for web applications to manipulate or read the local file system of a users machine because of obvious security reasons.
The only other option I can think of off the top of my head about doing this is so round-about I don't think it would be worth it. However you
could have a Silverlight control (as part of an existing ASP.NET page if desired) that could be installed by the client as an 'Out of Browser' installation that has signed trusted access granted (new in Silverlight 4 but requires certificates). With
the elevated trusted access you are able to have access directly to the user's file system. In this manner you could probably tell if something is installed.
Jan 11, 2012 03:16 PM|tulipvn|LINK
did you mean Silverlight can detect if an application has been installed on a local machine?
Jan 12, 2012 09:37 AM|atconway|LINK
No not Silverlight natively just because it's Silverlight. But as I described in my last post, there is the ability with Silverlight to install an 'Out of Browser' Silverlight application that is signed with trusted access. This allows access to the client's
file system. I would gather once you have this access (which you do not from the web) then you could determine better if something was installed.