January 31, 2011

xeroblast xeroblast
Lab Rat
91 posts

how to release a program?

 

i created a program using linux desktop and i want to release it in linux, windows and mac, how do i do that?

thanks…

11 replies

January 31, 2011

tbscope tbscope
Lab Rat
26 posts

There’s a page in the documentation:
http://doc.qt.nokia.com/4.7-snapshot/deployment.html

 Signature 

 

January 31, 2011

xeroblast xeroblast
Lab Rat
91 posts

i really dont understand much on the documentation.

what im trying to say is like when deploying on linux :

  1. #>make
  2. #>sudo make install

or in windows, just double-click the installer file
or in mac os, just double-click the .dmg file and drag&drop the program..

January 31, 2011

tbscope tbscope
Lab Rat
26 posts

Well, you should create a package that includes all the needed files.
If you use a Qt Image Plugin for example, you need to include that in your package and install it in the correct place. The link I posted should explain that.

As for Windows, there exist some freeware and/or open source installer software that you can use.

The most difficult is Linux. You can provide packages for each and every linux distribution out there, but that’s a lot of work.

Keep in mind, that on Linux and Windows (don’t know about Mac but I guess it’s the same), you can just put all your files in a single folder, and it doesn’t matter where it is installed. That’s the easiest way (and something I prefer when I need to install software on my locked PC at work :-) )

 Signature 

 

January 31, 2011

js_dev js_dev
Lab Rat
13 posts

For Windows I could recommend to have a look at NSIS [nsis.sourceforge.net] (Nullsoft Scriptable Install System) together with HM NIS EDIT: A Free NSIS Editor/IDE [hmne.sourceforge.net]

 Signature 

Don’t be afraid of perfection, you will never reach it.
(Salvator Dali)

January 31, 2011

kkrzewniak kkrzewniak
Lab Rat
219 posts

I really recommend BitRock Installer. And if your project happens to be OpenSource You can get it for FREE :)
BitRock OpenSource [bitrock.com]

 Signature 

Me, Grimlock, not “nice dino”. ME BASH BRAINS!

January 31, 2011

xeroblast xeroblast
Lab Rat
91 posts

ok.. i’ll try bitrock cause its a multi-platform support. i hope this what i expect..

January 31, 2011

Volker Volker
Ant Farmer
5428 posts

For Windows installers I can recommend InnoSetup [jrsoftware.org]. It’s easy to use and we use it in our projects. Don’t forget to include the C/C++ runtimes (irrespective wether you use MinGW or Visual Studio, it holds for both!).

The Mac crowd expects all your stuff to be self contained within the application bundle [developer.apple.com]. qmake/make already creates the bundle (with .app extension). You will have to add your supporting files to that (resources like sounds, images, and the like). See the Deploying an Application on Mac OS X [doc.trolltech.com] for the places everything has to go. You can distribute your final app bundle as a ZIP file or better as a compressed disk image (DMG). The user will drop the app to where he want’s it. Please do not create an installer on the Mac unless you really need to (e.g. to put some files into the system directories). You will make the users of some older macs happy, if you provide a PPC version in your universal binary.

The Linux world is a difficult beast, tbscope already mentioned that. If you’re brave enough, you can provide Debian package files (.deb, also for Ubuntu and other Debian based or dep package format using distoros) and RPM package files. This all is a bit of a mess, though. If your app is open source, you may find some volunteers who do the packaging for you on the various platforms.

For all platforms it is a good practice to test your packages on some computer that is not used for development. This way you will know if you have setup everything correctly, before the packages are out in the wild.

January 31, 2011

Smar Smar
Lab Rat
269 posts

A side note, someone should make a wiki page for deployment. Maybe easier to grasp ideas, possibilities and alternatives when they’re cleanly structured :)

I’m willing to contribute it too, but I don’t have at precise moment time to do it… Just dump the ideas there and someone can come and fix it :P

EDIT: oh and, I don’t really have anything important add to the topic, just some precise full length instructions may be useful for everyone :)

January 31, 2011

Volker Volker
Ant Farmer
5428 posts

Good idea Smar. I’ll start one, once back to potatoing the couch :-)

January 31, 2011

Stavros Filippidis Stavros Filippidis
Lab Rat
390 posts

Volker wrote:

For all platforms it is a good practice to test your packages on some computer that is not used for development. This way you will know if you have setup everything correctly, before the packages are out in the wild.

The part of Volker’s answer that I quote above is, in my opinion, of high importance. :)

January 31, 2011

Smar Smar
Lab Rat
269 posts

Stavros wrote:

Volker wrote:

For all platforms it is a good practice to test your packages on some computer that is not used for development. This way you will know if you have setup everything correctly, before the packages are out in the wild.

The part of Volker’s answer that I quote above is, in my opinion, of high importance. :)

Agreed :) Or maybe I should say, +1. This all is easier to clarify using a wiki article, can put every second line “test it!”.

For especially Qt on Windows, paths tend to be in PATH environment value and hence automatically loading mingw/MSVC libraries and ultimately causing final deployment binaries to fail…

 
  ‹‹ Hide Widget after 3 seconds with QTimer problem      QWidget in QTreeView with Model ››

You must log in to post a reply. Not a member yet? Register here!