standalone web application - windows

Is there way to run web application as standalone desktop application? Could be web application written using PHP, MySQL and Apache converted to standalone application which meets following requirements:
1. Application should be called as http://myapp.localhost.
2. Application should have desktop icon which directly opens browser with application's URL.
3. Source code of web application should be hidden from users.
4. Installation for end user must be as easy as possible.
Now I do steps 1-2 using xampp and manually creating shortcut. I was interested in some wrapper, installer which do above steps automatically. But I have no idea about 3rd step.

Regarding item 3, see Can you "compile" PHP code?. This would allow you to develop in PHP and deploy the application via an installer.
There are several installer packages which would allow you to automate these steps, depending on your development environment.

PHP and MySQL require to have a web server running. That means you will need to copy the code over to the client's machine and then run the web server locally still on the client's machine.
If that's what you want, look into the Microsoft IIS Express (here).
In short, IIS is a web server that can host and run a server side web application, written in ASP.NET or PHP.
Here are the steps you need to take:
Install IIS express on the client's machine (one-time process, and I think quite acceptable - treat this as a runtime installation).
Create a designated (hidden) folder for the source files of the web application that you want to deploy (one-time process).
Create a windows batch file (bat or cmd) that starts the IIS (as described here) and then opens the website's URL so that the default browser starts. This file will serve as a shortcut, so you can place it on the desktop or wherever appropriate (one-time process).
Deploy your web application to the hidden folder from step 2 above (repetitive process - deploy to the same folder when you want to upgrade the clients to a new version).
Please have in mind that I am basing my suggestion on your requirement to host and run the application locally (on localhost).
However, if there's an option to run the application on a separate machine (not a localhost), then you could simply place a desktop shortcut to the network or internet address URL that would open the default browser without problems.

i would suggest Pouchdb http://pouchdb.com/api.html and Adobe Air http://www.adobe.com/devnet/air/air-sdk-download.edu.html. This way you can code with html and javascript and package it with Adobe Air.

I'm afraid it's not that simple.
If you want to use this approach (and I highly discourage it), you will have to deploy a webserver of some sorts on the client. You should be able to run the Apache/IIS Express and MySQL/SQLite executable and start a simple webserver and database.
If you'd also like a icon, you can create an installer that creates this icon and points to the URL you wish.
I'm afraid that's not possible. PHP is and always will be a scripting language. You might be able to obfuscate it somehow, but anyone who can download your application will be able to de-obfuscate it.
Again, you can create an installer. Inno Setup is pretty good from what I've heard.

Related

Can I deploy ASP.NET Core MVC program by file copy with USB to multiple Windows 10 PC, like Winforms does?

I do not know if an ASP.NET Core MVC program can be deployed like a Winforms program, just copy program files.
I am trying to code an ASP.NET Core MVC program. Whenever user type localhost in their PC browser and IIS Web program will show company related documents. Because there are a lot of PCs need to be deployed. So I wonder if I can deploy ASP.NET Core MVC program like Winforms by copying program files.
First let me tell you it's ok. Also marc_s' comment is very correct.
I guess I understand your needs. You should install this web application for every user, even if you are not connected to the Internet, you can also access it through localhost.
But what we need to understand is that the asp.net core application should be deployed on the server, so that each user can access the web service by accessing the server ip address or domain name. This is normal operation.
You should check the setting about the single-file deployment. Then we can get .exe file. Then you can add this .exe file to startup items.
Reasons for not recommending:
Each of your PCs needs to install the .net core sdk or runtime. This is very unfriendly.
If the application needs to access the database, the application cannot run without the network.

Access windows application installed in EC2 using browser

I have installed QAD Netui Client (application with .exe executable) on Windows EC2 instance.
I would like to access that application through web browser or by any other way without the need of logging-in into windows instance.
The reason behind this requirement is that, I don't want users to get information about machine on which my application is installed.
Is there any way to achieve this requirement ?
Not likely. This appears to be a Window GUI application rather than something like a web application.
As a GUI application it needs a Windows desktop session to run. This is accomplished with remote desktop or other similar application that allows you to share a desktop with another client.
However, you can set up a Windows user profile that has much more restricted access to the machine. This is probably the closest you will get.

Install a Apache/MySQL/PHP web application locally

We have a web application that is based on Apache, MySQL and PHP. I want to make that available as a desktop application for windows also, installed via MSI. A small .NET application starts a modified xampp package that we deploy and then opens an embedded Chromium-based browser.
Questions:
How do I ensure that I am able to modify the Apache/MySQL/PHP config on run time? The files are stored in Program Files, and UAC of course does not allow me to change them without "Run as administrator". Is there a way to make these files editable during setup? Otherwise I would have to figure out how to start Apache/MySQL with custom config files from a temp directory.
How do I tell the installer to add Apache & MySQL to the firewall exception list, or how do I tell the firewall that applications that listen only locally are not a threat?
I realized I do not want a dirty hack here and tried to do it "right":
I modified the configuration of Apache and MySQL so that everything that changes lies in %APPDATA%. The configuration files are passed as command line arguments.
The current version of Advanced Installer allows Firewall rules to be set on installation.
Actually it wasn't that hard to change the config as I thought it would be and I learned some bits in the process...
I am unsure how this might be helpful, but take a look at inno setup it's free tool to deploy software, and it allow to make custom installation script using pascal, by putting some effort i hope , you can install wamp, add firewall restrictions etc.

How can I perform cross browser testing when using Subversion as my version control system?

I have recently installed subversion and nginx server on my machine (macbook pro). I'm fairly new to subversion as a whole and have just built a single webpage through this version control system, and now I'm faced with the task of testing it in all of the relatively modern web browsers. My biggest concern, as far as browser compatibilty is concerned, is Internet Explorer which, in order to test, I need Windows. I have Windows 7 installed on my mac via Virtual Box, and herein lies my problem.
I have not committed the new page I've just created to the repository, by the request of the client. Because of this, as far as I know, I have no URL to use for testing in IE Tester, Firefox for Windows, etc. How can I test this 1 page site's browser compatibility with without having committed any changes to the repository?
I can test it easily on my machine using MacOS, by just typing in local.*.org and it shows up. Again, windows is my issue. This project is due this Thursday (5/24/12), so you're help is greatly appreciated.
1) Developing and testing your web page is different from managing your web page source. In other words, testing web pages != using SVN.
2) If you've not actually been able to use SVN yet - and if your client has no preferences - then please try TortoiseSVN:
http://scplugin.tigris.org
3) Please post back any specific questions you have about installing/using SVN.
If the site uses any scripting languages like PHP, and/or databases, you need to get those setup correctly first. If your website consists of just HTML/CSS/JS... then you can access the website via either of these methods:
Enable Web Sharing (System Preferences > Sharing > Web Sharing). Then type in the IP shown there into your browser in VirtualBox and it should load. (This is probably easier than trying to get nginx configured, though it might very well load if you just type in your machine's IP.)
In VirtualBox, select your VM (powered off), Settings > Shared Folders. Add your website's root directory. Launch the VM, then browse to it within the VM and open up your files there for testing.
My current environment is setup like this:
- Local dev machine with git & SVN
- Remote DB server
- Remote web server
- Web server mounts local dev machine's www folder as a volume and serves the PHP pages from there
- Load web browser in VMs or any other machines. Edit hosts file if need be for local routing.

Convert AJAX web app to cross platform desktop app run from CDROM

We have a very basic web application which uses AJAX to pull data from XML files for a simple autocomplete and search script.
Our client wants to distribute this application on CDROM to their clients rather than running from the web.
Basically all we really need is a way to wrap these html, xml, js & css files into executables that will work on Windows, Mac & Linux. Basically the user should just need to run the one file to load the application into a typical desktop window.
We have investigated the following:
Titanium Desktop SDK - we received errors when packaging to linux & mac distributables. Also, the Windows distribution requires an install process which we want to avoid. The user should just be able to run the file directly from the CD without needing to install anything on their Desktop.
Zinc 4.0 - using the HTML wrapper resulted in an executable similar to what we need - but only for Windows. Also, the rendering engine used seems to lack support for transparencies which interferes with our design.
Stunnix Advanced Web Server - We really want something that doesn't require installations, or the startup of a bunch of extra services.
Mirabyte DiscStarter - Only supports windows and like Zinc, seems to use an old IE rendering engine without support for transparencies.
What we really need to know is there anything that can simply "wrap" a basic AJAX app to enable it to be run cross-platform on desktops without internet access?
If you include just the HTML file, when someone clicks on it, that local copy will open instantly in their browser.
If you needed to, you could open a separate window using JavaScript which contains that HTML page, that way it has it's own window.
You can create a desktop application built with HTML/CSS/Javascript using either of the following two frameworks
TideSDK
AppJS

Resources