Does NSIS support Linux and Solaris? I read somewhere that we can compile nsis script on Linux but cant execute the .exe generated on any other platforms but Windows. Can somebody put more light in this?
No.
See the NSIS feature list for more information ...
Portable Compiler
The NSIS compiler can be compiled for POSIX platforms like
Linux and *BSD. Generated installer
will still run on Windows only, but
this way they can be generated without
Windows or WINE.
You can compile installers on POSIX and Windows systems, but it always produces a Win32 PE file that only runs on Windows (And maybe under WINE on *nix)
Check the NSIS manual for more info
The installer systems for Windows and Linux are completely different.
Whereas Windows' only contribution to a software management system is one registry entry pointing to the uninstaller, Linux has a full working software management system. There are apt, yum, pacman and many more out there, which are supporting many more features and possibilities including automatic execution of scripts and pulling in/installing dependencies. If you have a cross platform application you wanna share, you're either stuck with creating a tar-ball, or you learn how to build deb/rpm etc. packages.
Linux and Windows are not binary compatible, so you can't do that.
But, most of the windows binary installer could able to install at WINE
Related
I have searched high and low for installers to customize after creating my applications (small, medium, and much bigger) in size. Yes, portable apps great but most people just want to install and also have it just update when updates are available and install and restart the next time or at least warn the user to save the work before the Application can reopen.
Yes, I have looked at NSIS and other installers, but they are merely for windows and not for both windows and Linux. Some of these installer projects have been discontinued. Most people who use Linux don't like to always build from the source.
I was wondering how I can create a POSIX compliant installer that my software can install on both Windows and Linux. What are the steps involved? I assume most or all installers use C++ to do all of the grunt work. I am interested in creating my own to fully understand C++ and how it works. This why I really need to know how an installer is made. Any helpful advice is welcomed.
Thanks in advance.
"Mainstream": A shared packaging format seems elusive. However, there are a few multi-platform deployment tools available. Installsite.org has a list towards the bottom here. I guess the two most commonly used tools are (both are commercial):
Advanced Installer for Java / Advanced Installer Enterprise (Windows and Mac, no Linux)
Flexera InstallAnywhere (Windows, Mac, Linux)
From this answer:
Due to now I just finish my application .VI and compile .exe (Windows with Labview).
Then if I want to take my application from windows to linux. And running on linux without MONO or Wine. Because I want to interface with NI-6008.
How can I do?(Step by step)
Please help me. Thank You.
AFAIK, LabVIEW does not offer Windows->Linux cross-compilation e.g. see here. So you must have a licensed and installed version of LabVIEW for Linux. Then you move the project files (or just the VI file) and build it anew in Linux.
If you have the NI LabWindows™/CVI™ Run-Time Module for Linux, you use a Windows machine to compile to supported Linux distributions.
Background:
Im using QT and have visual studio 2012 as my IDE (used the QT plugin for visual studio).
And finally the whole project is done. However due to my .NET background I have no experience when it comes to deploying my project so it can be run on Linux.
Question:
Anyone knowing how to deploy a QT project made in visual studio to linux?
You should install Linux and prepare a Qt development environment on it.You can then copy your project there, compile it and see the results in the real environment. This way you can cope with the minor differences when porting from one OS to another easily.
So don't think of cross compiling your app for Linux on Windows. From a complexity point of view, I think setting up a Linux machine (VM or not) and the necessary environment for Qt is a whole lot simpler than cross compiling bug hunting afterwards. After all you will need a real target environment to finally test your application.
Before you can deploy something you have to compile it for that platform, and here you have two main choiches: either you cross-compile which means you compile it on windows using a set of tools so that your software is built to run on a linux, or you get a linux machine, you copy your entire project over and let Qt for linux do the magic.
Once you have your working binary compiled on linux or for linux then you start thnking about deployoment.
If you really want to be fully linux-compatible and "linux-ally correct" you should distribute your source-code precooked using some tools like "automake" that will make it possible to linux users to compile it on any linux version.
If you do not want to release your source code, you technically can distribute binaries without source code (not sure if you will be ok with licenses) but you have to be aware that there is no standard in linux for distributing binary packages, there are at least 2 main package building standards that are the ubuntu/debian style and red hat (and friends) style.
You are going to find plenty of documentation about all this stuff from cross-compile to automake and of course building debian packages and building red hat rpm packages.
I have previously used the GNU FORTRAN compiler gfortran. But since the Intel FORTRAN compiler for Linux is available for personal non-commercial use I decided to give it a try. Is it possible to use it under Cygwin? I wouldn't know where to begin to get it to work, so all help is welcome.
My earlier comment turned into an answer of sorts ...
At first glance an interesting question. But what will you do with the executables that the compiler creates, if you manage to get that far ? I doubt that you will, but if you did you would have a Linux executable on a Windows platform (and cross-compiling for Windows from Linux is not supported by the Intel compiler). Don't forget that Cygwin is not Linux, it's a (DOS/Windows) program that provides Windows users with some of the facilities that Linux provides its users. To run an executable from the Cygwin command line the executable must have been built for DOS/Windows.
You might, and I have no experience either way, get further installing a Linux VM on your Windows PC and installing the compiler on the VM. You're still not going to get Windows executables out of a Linux compiler, but you would get, if success greeted you, executables running under the VM.
how to create installer of application( .sh and .pl files) on ubuntu? and how to install it?
We need more details to give you a proper answer. However, if you're looking for something installable on a GNU/Linux distribution, I'd recommend you package your application as an RPM or a DEB.
On the other hand, if you simply want to create a self extracting "installer", you can consider using makeself.
I don't know about any perl tool that does this.
For linux/unix platform I used InstallAnywhere and InstallShield Universal. Both allows to create projects which can be built for various platforms including win and mac and for linux platforms it creates .bin package which can be installed rather with UI or console mode.