nwutils / web2executable Goto Github PK
View Code? Open in Web Editor NEWUses NW.js to generate "native" apps for already existing web apps.
License: MIT License
Uses NW.js to generate "native" apps for already existing web apps.
License: MIT License
The "name" is being output with spaces which is incorrect, whereas I still want to be name the application with spaces, which is a different thing. Please separate out, this is both a bug (manifest spec isn't followed) as well as an enhancement ("name" manifest should be disconnected from real application name used on .exe / .app)
See: https://github.com/nwjs/nw.js/wiki/Manifest-format#name
Before Web2Executable my workflow of a manual build was as follows:
"name" in manifest would be like: "client_brand_some-project"
set the application name in the filesystem to: "Brand - Some Project"
I would also apply the same to the Window Title: "Brand - Some Project"
It is difficult when there are issues in the fields in the GUI and no mention of what the outstanding issues are. In my case, I had no idea that there was an error.log file and once I found it (kind of by accident), I was able to debug the issue and get the "Export" button to show up.
It would be great to have the GUI guide the user that there are outstanding issues blocking execution. One easy solution is to keep the "Export" button enabled but block the execution if there are issues and present a message box listing the outstanding issues.
In the meantime, it may also be a good idea to mention the error.log file in your readme.md.
Can this support nw (i.e. v 0.12.0) instead of nodewebkit?
Would be great if Web2Executable add an option to use Google Closure Compiler or other minifying tool on the JS, CSS, JSON and HTML files before to pack the project.
I would love to have a kiosk mode setting.
Keep in mind there's some issues with keyboard input and kiosk mode (maybe offer kiosk-like as per comment) on mac & win.
Example Kiosk mode manifest
{
"name": "client_brand_project",
"main": "app://./index.html",
"window": {
"title": "Fancy Window Title",
"width": 1920,
"height": 1080,
"kiosk": true,
}
}
Kiosk emulation hack (for working mouse/keyboard controls)
{
"name": "client_brand_project",
"main": "app://./index.html",
"window": {
"title": "Fancy Window Title",
"width": 1920,
"height": 1080,
"toolbar": false,
"frame": false,
"show": true,
"kiosk": false,
"fullscreen": false,
"always-on-top": true,
"resizable": false
}
}
The latest version from NW is v0.12.0. But in the versions list that version is on the fifth place. RC & Alpha versions are lower then the latest released version v0.12.0.
hi,can u tell us the path for downloaded node-webkit?i dont want down them every time.
thx
victor
I've selected all of the output formats and only such folders are created:
linux-x32
windows-x32
windows-x64
linux-x32 contains place_holder.txt and a 30kb file named after my project
windows-x32 only contains place_holder.txt
windows-x64 contains place_holder.txt and a 30kb .exe named after my project
https://github.com/jyapayne/Web2Executable/blob/master/utils.py#L12
temp_dir = os.path.join('c:/','windows','temp')
You can't access this folder on windows 7 under restricted user. You should instead use %TMP% or %TEMP% env vars.
From the wiki:
Could you create a verbose mode which will allow the user to get a high
level output of what is going on.
Maybe a debug level would be helpful as well to show a full debug output.
I am having issues on my Linux box where the cmd program is failing silently
with no outputs created. I have no idea what the underlying issue is. With a
verbose and/or debug output I could make more
progress narrowing in on the issue.
I am using the newest version Web2Executable on OS X Yosemite 10.10. When I click on the export button, even though it says "Done export", I can't find anything under the output folder. What should I do?
Have been unable to open any of the OSX builds using Yosemite 10.10.2 or Mavericks.
The launcher attempts to launch then encounters a problem.
Have tested on MacPro and MacBook Air.
I am using Python 2.7.6
python main.py[enter]
Traceback (most recent call last):
File "main.py", line 2, in
from pepy.pe import PEFile
ImportError: No module named pepy.pe
Thanks
Once I've packaged my project for an OS does the user have to install python or pyside before they can run the executable? I'm confused about that. If that's the case shouldn't the packaging come with pyside?
Greetz!
Been little while since I have worked with W2E and decided to get back to it:) All the older projects I created worked fine. BUT now the ones I try will not start up and display?
I can see the exe has started by going to my Win 7 task manager, but outputted software does not appear on my screen?
Any ideas what I am doing wrong?
FYI:
Downloaded file from http://www.mediafire.com/download/5l2zlfi67721d88/Web2ExeWin-v0.1.15b.zip. Start it up and version shown is v0.1.14b
Many thanks!
Will you move to a newer nw.js?
I just wanted to give a shoot to this tool.
I couldn't make it work with the pre-build version.
So:
But pre-build package still don't work...
I'm using node-webkit 10.5
Essentially I am currently using this to create a executable thats launched from a USB stick. As I need to be able to load some of the resources from the USB stick itself (to allow for images etc to be only included once per platform for space concerns).
Is there any way of doing this? I have tried using the __dirname global however that supplies you with the temporary directory it creates.
I get this dialog when running Web2Exe on Windows 8.1, trying to download nwjs 12.00 Some versions download fine I tested version 11.5
And even more confusing 11.6 doesn't even show..
edit:
Things get a little stranger. The application randomly shows versions in the drop down. The latest it's showing of 11 branch is now 11.3
Currently there is no way to tell which version of prebuilt binary I'm using. Add it either to here:
http://puu.sh/ephDN/a5e18c6c9d.png
or somewhere here(better):
http://puu.sh/ephFX/35d3ba3dd7.png
Great job on Web2Exe! Makes it very simple.
I have built a couple using Web2Exe fron the https://github.com/zcbenz/nw-sample-apps
They build and everything looks great, until I try to start the exe. Nothing happens but I see two instances in my task manger.
Any ideas what I may be doing wrong? Have tried running made exe's on my ole faithful Vista 32 and also my Win 7 64 bit with no luck.
Thanks much.
I am using Web2ExeLinux v0.1.17b and I tried starting from terminal to see if there is any messages in stdout. I am able to see and run Export button and directories are created for my app but no output is generated and there are no messages in the terminal or in error.log.
Any suggestions to troubleshoot?
nw.js documentation mentions creating a .desktop file for Linux distribution:
https://github.com/nwjs/nw.js/wiki/Icons
This allows supporting an icon to be used on the desktop, among other things.
Any chance of W2E supporting this?
Hi,
this is a great aid in testing apps, but is this still maintained? A new version of node-webkit is out, and I can't add it to the dropdown.
Hello.
I tried to download it, but the exec for windows is pointing to the mac one for version 1.5
:)
Hi,
thanks for a fantastic application, started using it today. But I have a question, if my app loads an external textfile that I want to be able to change after converting to an executable how do I do it? I now have a subfolder to my app that contains the textfile. The file loads perfectly but it loads the file as it was when converted it. Is it possible to do this? I tried to get the path to where the exe is when I run it with path.dirname(require.main.filename), path.dirname(process.mainModule.filename) and many other but they only return C:/Users/username_here/AppData/Local/Temp/nw7108_18501/...path.
I also noticed that I must have all html and js files in the root directory. I started with my html files under html and js files under js but when running the exe it tries to find them under C:/Users/username_here/AppData/Local/Temp/nw7108_18501/...
Thanks in advance!
Web2Executable zip the hole project into one big packed file right? But it still add some libraries and the pak file along side the executable, so we need to pack it all to be able to delivery.
I see 2 options that would greatly enchance how Web2Executable act to make it more of a deploying tool.
1- An option to exclude some directories/files from being packed into the executable and let this ones unpacked alongside the executable and libraries files.
When running the app,
path.dirname(process.mainModule.filename); give you the temporary unpacked path,
path.dirname(process.execPath); give you the installation path
2- The level of compression applyed to the packed executable file, if possible.
Hello, Node Webkit supports transparent window since v0.11.2 version. It would be very useful to have [x][set transparent window] checkbox for giving windows or widgets a custom shape instead of square block.
Good Luck in development of Web2Executable :)
Hi. Nice app - thanks!
I have the windows exe. Once the package is made in the app folder with build saved settings is there a way to run main.exe on the command line with params like main.exe -"package-location" -win -max ?
Thanks!
Hey,
First off, this is excellent! By far the most stable and straightforward solution for generating (in my situation, offline) apps from html. Great work :)
I've got a question though, is there a way to create some kind of loading/progress bar for the generated .exe? The app is nudging 400mb and can take a while to load on older machines with no indication that anything is happening. While this is mainly down to hardware issues my aim is just to try and improve the users' experience when they first get hold of the app, if possible.
Have you got any suggestions?
Cheers :)
error while loading shared libraries: libudev.so.0: cannot open shared object file: No such file or directory
until this is fixed in node-webkit you could work around it for ubuntu unicorn et al by replacing 'libudev.so.0' in the binary file with 'libudev.so.1'.
I know that this is not a clean way to go, but it works meanwhile.
sed -i 's/\x75\x64\x65\x76\x2E\x73\x6F\x2E\x30/\x75\x64\x65\x76\x2E\x73\x6F\x2E\x31/g'
(I got it from somwhere in the net, it's not my invention)
Thanks @jyapayne for great work!
I am having trouble using your application. I have successfully created a windows package but now it says that modules are missing. All modules are inside the project directory. I have successfully tested app with node webkit.
Can you please tell me how do I rectify this problem?
I changed the default "Download location", and now I can't remember what the default location is.
Thanks!
Hello Joey, first all thank you for Web2Executable, it actually makes NW.js packaging process a breeze. I'm writing about your project and as i'm really not into python I'd like to have more informations about dependencies.
In the readme of the project you write that the following dependencies are needed for Web2Executable to work:
However I've just tried it in a clean Mac OS X Yosemite and everything is working out of the box (even the icon for windows executable). So... are those dependencies already installed in Mac OS X or am I missing something?
Hi
I got the build working perfectly apart from when I add a .bin file using nwsnapshot.exe ("snapshot": "code.bin" in the package.json file)
The app runs fine after I add code.bin to the build folder - I can add this in my console app that does all the packaging but just a heads up that it looks like its not copying the .bin file it over.
Thx 👍
Node-webkit doesn't let one create a menubar application as far as I can tell.
I'm no MAC OS X dev, so this may be a barmey idea but... Is there any way that Web2Executable could wrap an app, so that it becomes a menubar app?
Hello Joey as per #30 I'm requesting to update Info.plist
when packaging for Mac OS X customizing BundleName
, CFBundleShortVersionString
and CFBundleVersion
with the data on the manifest file.
Thank you so much and good job again.
I can see that there is a checkbox for starting the executable in full screen, but there does not seem to be a way to toggle between windowed and full screen.
F-11 and Alt-Enter do not work.
Using Web2Executable (which is astonishingly slick!) downloaded on 28 Oct 2014 on OSX 10.9.5.
I ran the application to build an executable, but the "Export" button doesn't enable until I fill in the full path to the Download location. Here's what happened:
I clicked the "..." button next to that field to select a folder, but only the folder name was shown. I had to enter the full path to the folder before the Export button would enable.
Quitting the application and re-launching only remembers the leaf folder name - I had to re-enter the full path to the folder before I could export again.
how to change the .exe icon, not application's icon?
Sorry opening an issue
just need to say
this is so easy it feels like cheating
Thank you VERY MUCH fot this awesomeness
Thanks for this amazing project :)
When I export the project, the line: "main": "public/index.html" in package.json gets overridden to "main": "index.html", .
I am setting the correct value in the application settings in the UI.
It seems that whenever I have a "chromium-args" parameter included in my package.json file, it gets stripped out when Web2Executable runs.
Example package.json:
{
"webexe_settings": {
"linux-x32": false,
"download_dir": "/Applications/Web2Executable.app/Contents/MacOS",
"windows": false,
"mac": true,
"nw_version": "0.11.5",
"force_download": false,
"linux-x64": false
},
"description": "MyDemo",
"name": "MyDemo",
"nodejs": true,
"single-instance": true,
"webkit": {
"page-cache": false,
"java": false,
"plugin": false
},
"window": {
"fullscreen": false,
"resizable": false,
"title": "MyDemo",
"always-on-top": false,
"frame": false,
"show": false,
"kiosk": false,
"height": 500,
"exe_icon": "",
"width": 800,
"as_desktop": false,
"visible": true,
"position": "",
"show_in_taskbar": false,
"mac_app_icon": "",
"transparent": true,
"toolbar": false,
"icon": "icon.png"
},
"version": "0.1.0",
"keywords": [],
"main": "index.html",
"node-main": "",
"chromium-args": "--disable-gpu --force-cpu-draw"
}
Can we add support for this parameter, both leaving it in the package.json file and to actually include it when running the app?
The PDF.dll is missing when i bundle an executable.
When using your tool, it overwrites the users package.json with your own. This can cause issues with users not expecting this functionality and if they are not using SVC, they may loose data. Is there a way to consider using a different name for your package file so the users package.json is left intact?
os : mac osx 10.9.5
im getting
Traceback (most recent call last):
File "command_line.pyc", line 288, in download_file_with_error_handling
File "/Users/rs324/Downloads/Web2Executable.app/Contents/Resources/main.py", line 393, in download_file
AttributeError: 'PySide.QtCore.QFile' object has no attribute 'error_string'
tried to export for windows only or windows and mac..
version : 0.1.16b
thanks.
想看下,发现下载地址不对
Does embedded videos in the web app play by default or do i have to do anything special. The app works great otherwise but when i click on a video link (Video mp4 file is local to the app) the app crashes.
Any thoughts?
Could you consider adding a feature to package as a single executable as per nw.js instructions: Making an executable file out of a .nw file.
Packaging as a single executable is a snappy way of distributing an app out to customers.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.