I'm trying to release a package for my appjs app but there doesn't seem to be any easy way for end users to "just run" the application without a terminal.
Is there anyway to do this that is fool proof?
So I've found an easy way to do this, not necessarily the easiest way but it works.
OSx
I use this bash script to convert my folder to a .app folder (which is all OSx needs apparently)
Windows
and on Windows I use IsTools to create my in/un-staller and shortcuts.
Linux
I've not found an easy peasy way to do this on Linux yet but we don't have a customer base on Linux so it doesn't matter. I have however found this but it seems awefully convoluted. Shan't bother for now.
If you download the distributable for your platform from: http://appjs.org/#download. Then it includes a launch script -- app.exe for windows and app.sh for linux / mac os which launches everything without a console.
There is also an addition to appjs that installs appjs as a platform feature (rather than having the whole runtime in each application you distribute). Using this you can compile your application into a single file which you can then distribute to end users. This functionality is being actively developed and improved. http://appjs.delightfulsoftware.com/. see also screenshot tour for windows: http://appjs.delightfulsoftware.com/win.htm and for ubuntu linux: http://appjs.delightfulsoftware.com/ubuntu.htm.
/Simon
I have written a C++ library which will be used for POS applications,
Library are to be distributed as binaries(DLL only for windows) to customers
I have understood that library can be used in 3 ways on client machine
By placing binaries in the directory/folder of application executable
By copying binaries to system32 directory
By adding path of the binaries on client machine to PATH environment variable
Kindly educate me if there is a better way of installing library on the client machine,
Which is the best way to install the distributed binaries on the client machine?
Thanks in advance
I strongly recommend you, to put the library into the application folder: Putting it into system32 is an invitation to DLL hell: A newer version in the app directory would be overruled by an older version in system32.
There is quite an easy rule:
if the library is intended for a special application, store it with the app
if the library is intended for general consumption, store it in system32
I always bind the dll's in my application. Its the safest approach i know.
For the life of me I can't find the tool I ran across yesterday. It's not Homebrew (I already use Homebrew) what I found was a tool that I think was built in Ruby that allowed for installing regular .app applications and otherwise scripting most of an OS X config (I assume preferences and other things). I already have a script based on the Thoughtbot Ruby environment that I'm able to run successfully but I'd love the ability to script installing the other 20-30 apps that I use so that it would make reformatting a little easier.
Thanks!
You might be thinking of a configuration management tool like Chef. You can use this to bring up a system from a bare OS to the configured state defined in your recipes.
Personally I've only used it for setting up linux servers, but I think it would work just as well for launching installers and running configuration scripts on a Mac.
This is the tool I was looking for.
https://github.com/benhoskings/babushka
Some cross-platform packages like Ruby or Qt prefer %HOMEDRIVE% as the default installation path, Google Chrome uses something in %HOMEPATH%. What's the advantage and disadvantage of each choice? What's the best choice for a simple private application (i.e. a game, where the installation should work without administrator rights)? On the other end: What would be the best choice for an industrial application (i.e. a software that controls an industrial device, running on a computer that merely exists for that purpose)?
If you want to ensure your app can be installed without Admin privs, install under %LOCALAPPDATA% - if you want to install system-wide, use %ProgramFiles%. Whatever you do, don't use %ProgramFiles(x86)%.
As a general rule I find it hard to believe that a single installation will work for multiple operating systems. From my understanding it seems that you would need multiple different installation files to handle each of the different file systems (not just installation directory, but the actual file system). This will span not just private, and industrial systems, but all business systems as well. Go to the download page for any software that is available for multiple OS and they will have a link for each one.
A colleague of mine agreed to using Subversion (SVN) for our little project, but only if he doesn't have to install it. He has a U3 USB stick where he keeps the project files and he would like the SVN client to live there as well. I tried searching for a non-installable SVN client, but couldn't find anything (although I suspect that many of the available clients would run if just copy-pasted from an installation folder). What can be recommended?
I'd really like to get version control going. It would be best if it had a GUI for merging files too, not just the command line.
Added: The copy-paste from an existing installation is one solution, but I'd like to see first if there perhaps isn't some client that does not require installation by design. If not, I guess RapidSVN is nice enough (although it does leave stuff in Windows registry).
Try RapidSVN. The CollabNet binaries can be used in a similar fashion for command-line support. Yes, these have installers, but you can simply copy the binaries around -- I use Universal Extractor to get the binaries out without having to run the installer.
Also, an enterprising user has packaged RapidSVN as a PortableApp. There is an "installer", but it really just unzips things into a directory of your choice and writes a default configuration file into that directory.
Try Alagazam.net's Subversion Windows Installer. There is also a version with just the binaries without an installer.
I'd go with the copy and paste the bin folder from SlikSVN.
It seems like SlikSVN is the underlying platform behind several graphical SVN clients. In my experience it seems stable and reliable.
Specifically, the bottom link on this page seems to be a non-install/xcopy precompiled package (although I haven't tried this one myself, only inspected it). It does not appear to be the newest, though. You might do your friend a favour by installing the newest SlikSVN on your own computer, and then share the bin files with your codeveloper.
If Java is available on the machines you could use SVNKit.
There's a portable version of SmartSVN which is what I use. It's a pretty good SVN client, but it needs JRE. It has a nice GUI and all.
There is a portable version of RapidSVN here. Just install it to a flash drive.
I was able to use the command line client that I had installed onto a USB stick. I then whipped up a couple batch files that did the basic checkout, checkin stuff, and one batch file that gave me a command prompt with a PATH set.
It doesn't have all the integration of something like TortoiseSVN, but I don't think you would be able to easily do that from a USB stick.
I've had this same problem, and thought it would be easier to find than it is. Bert Huijben posted the solution as a reply to Cecil, but his link was outdated.
http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=8100
Scroll to the bottom where you can grab a ZIP file of the binaries. It works for me.
Alternative two should be pretty sufficient. But both methods requires installing it to the USB device which I guess is similar to just copying onto it. I checked Wikipedia and there are some standalone listed there.
SmartSVN, QSvn (portable version requires install), and Syncro SVN Client (they have versions which requires you to extract and run), etc. But does it copy, and does it run any different than installing to the USB?
Alternative One
Load Cygwin on the USB device, install SVN support and run it off of that. There isn’t any up (which I assume is more than possible) since I've had the luxury of using TortoiseSVN (requires install).
Alternative Two
Install TortoiseSVN on a USB device and use if off of that. It has a GUI interface for merging and diff. This may be relevant to your interest. However, Google has some results indicting they are slow.
Finally, there is an PortableApps version of RapidSVN:
Another alternative which may be acceptable to some users:
The Eclipse IDE is portable (not entirely; it depends on Java). Use the Eclipse SVN plugin (Subversive or Subclipse). This takes care of the daily needs.
You may choose to point to a Java Portable installation to make it truly portable. However, I believe it might be slow to run off a USB pen drive.