Detect and launch .exe file on local machine from MVC web page - c#

I am trying to achieve similar to this When the 'Play' button is clicked, it detect whether 'Roblox' application is installed on client machine or not. If it is not installed, it prompt the user to download and install it.
I have my web application build in MVC C# and a WinForm Application(.exe) C#. I am trying to launch .exe when a button is clicked on the web page in browser. If the .exe is not installed, prompt the user to download and install the .exe. If it is already installed, then launch it. I have followed these steps, but did not understand how to check if .exe is already installed on client machine or not. Do I have to create a browser Plugin or Extension to achieve this.
Please advice.

So, after 1 week hunting over the internet, I found the solution.
From Google Chrome -
Create an extension using native messaging like here (skip the
registry part in this step). This extension will be used to send message to the
registry.
If you haven't published the extension on Google Chrome store, then
on the web page, use chrome.runtime.sendNativeMessage to check
whether the extension is installed or not. If you get positive
response, it means extension is already installed.
If the extension is published, see here how to detect and
launch extension in google chrome
Create your desired .exe and a setup. Make sure to create registry values while
developing setup project. (see here) Registry value will have the path to .exe
Finally, when the extension is launched, it looks for registry
values and .exe path in the registry and the .exe is launches.
For Mozilla Firefox -
Create Firefox native messaging extension and follow the same steps above.
Hope this helps to my friends. Cheers!!!

Related

Can we publish a chrome extension with only native messaging feature included?

I created an extension that can communicate with my native C # application using Google Chrome native messaging.
However, Google's Chrome Webstore policy states:
Do not post an app where the primary functionality is to install or launch another app, theme, or extension. For example, if your app’s primary function is to launch a desktop app that the user has already installed, that is not allowed. Another example is a Chrome App that just launches a website.
So, how can I use native messaging and publish my extension on the webstore?
Thanks
Finally my extension has been accepted on the webstore with the only use of native messaging so yes we can publish an extension with only this feature and this is not a cause of reject, my issue came from the fact that i forgot to validate my website for the extension .

How to Resolve this - Enter an alternate path to a folder containing the installation package

A long time back I developped a Windows service with c# 4.0 and also created a setup file with VS2010 for that app. I installed that app and it was running. someone removed that Windows service not properly like removing some entry from registry regarding that app and as a result that app name is not showing in ADD/Remove list and removed all files and folder from program files folder related to that Windows service.
So when I try to run the setup file for that win service to install it in my pc then I am getting the error message Enter an alternate path to a folder containing the installation package
so guide me how could I again install that Windows service in my pc from that setup. thanks
I've found the "Windows Installer cleanup uitlity" to be enormously helpful in situations like this. It's an abandoned project, but you can still get it by googling. You can use it to completely remove a program from your computer, after which it won't conflict with a new installation.
I found it here:
www.majorgeeks.com
Simply download the file needed and provide the [un]installer with the download folder. And press OK. You can do it without interrupting the process. Do not use the Windows Installer Cleanup Utility It is not supported and extremely dangerous!

Setup wizard for C# project

I have a C# project that I've written using the .NET 4 framework, I've created an installation project using the setup wizard within the solution, the problem is that once the program is installed and I launch it, a dialog appears saying that the program is being configured and then starts the program, why is this? Is it necessary? How can i prevent this from appearing or happening altogether?
UPDATE
I installed my application and launched the application from the .exe created in Program Files and a config window didn't appear and the app launched normally! How do i create a link to this shortcut without it showing the windows shown above? As i need to place a shortcut to the users startup folder.
This happens because Windows Installer detects missing resources. For example, some of the installed files were moved/removed/renamed or were installed per-user for another user account.
Here is an article with more details: http://setupanddeployment.com/general-installation-problems/preparing-install-popping/
You can use Event Viewer to determine which resource is causing this, like explained in the article I mentioned.
The MSI file has auto-repair enabled. I don't think VS has an option to turn it off.
The shortcut links generated don't actually link to the files they should. They link to an executable in appdata. When that file's opened, it runs the installer repair check silently and opens the configuring dialog while any repairs take place. For some reason the installer thinks that files installed with your program are being deleted / corrupted. Perhaps temporary or configuration files?
This link given in this question should fix it if that's the case, but it'll still be activated if the user hits Repair in Add/Remove programs.

ClickOnce update with Apache server

I have been working on a C# application which needs bug fixes and updates once i deliver it to clients. I am currently trying clickOnce method of microsoft to provide updates.
For that i need to publish my application to server with frontpage server extension (If i am not wrong!). We are using windows server 2008 enabled machine, with Apache running, i googled regarding "Publish c sharp application on Apache server" and i found this workaround.
It edits .htaccess file to allow access to VS to publish application. But it doesn't seem working. I guess the page is out dated, written in 2006.
So my questions are:
How do i publish c sharp app on apache box?
How do we publish app? Using VS or any other method?
The manifest and payload (files) just need to be generated and then copied en masse to your server, it doesn't have to be a Windows machine.
Publish to a local folder/share and then replace the entire ClickOnce folder so that the code security values remain intact. I'd suggest you always rename your current folder and then copy your latest bits into a "new" folder that is your install location.
i managed to give updates with this workaround (i dont know how feasible is this! Need inputs!)
I used database to track version numbers and (link for) latest copy of software. Then i check for updates on startup. If new update is available it downloads exe (in app itself), closes app and run the setup.
I am using install-shield to generate setup. But when i run setup in machine which is already having older version of software, it doesn't update it, even though it displays its updating.
I know visual studio also provides option to create installation, but it isn't working either!

C# Console Application User-Editable Settings

I'm a web developer building my first production grade console application (C# .NET 4.0). I have a question about creating a settings file that the user can edit before running the console app (to customize output folder paths, etc).
I'm a little confused -- when I publish my console application and install it (by clicking on on the generated setup.exe file in my target publish folder), all I get is an entry to my start menu. Nothing gets installed to C:\Windows\Programs, and there doesn't seem to be anywhere else on my system that files get installed to. Essentially, I'm just trying to find the app.config xml file so that I can edit it after the program has been installed. (btw, when I click on the start menu entry, the program executes properly).
Is what I'm trying to do possible?
For a clickonce deployment, the files will be installed under the profile of the user who installed the application (by default).
For windows XP this should be:
C:\Documents and Settings\username\LocalSettings\Apps...
For Windows 7 (and Vista?) this should be:
C:\users\username\AppData\Local\Apps...
An installation program for your software is a separate piece of software.
You can definitely make one but when you compile your console app it doesn't create an installation executable. It just makes it's own executable. You can copy that executable alone and run it. If you need more resources to go along with it and therefore decide you want an installation program, you have lots of options.
The two that spring to mind in this case though, are setting your project to use "ClickOnce" from the project properties, or adding a "Setup and Deployment" project to your solution from the "Other project types" section of the add project dialog box.

Categories