Lazarus
Announcements => Third party => Topic started by: Fred vS on September 27, 2011, 11:55:33 am
-
Hello Lazarus lovers.
InnoSetup is a free installer for Windows programs, compiled with Delphi.
http://www.jrsoftware.org/ (http://www.jrsoftware.org/)
Here is the Delphi source code :
http://www.jordanr.dhs.org/download.php/issrc.zip?site=1 (http://www.jordanr.dhs.org/download.php/issrc.zip?site=1)
Are there some brave hearts to follow me to complete the code for running InnoSetup for Linux and MacOS ? ::)
Of course we gonna use Lazarus for that... ;D
-
In addition to the conversion tools in lazarus, the xdev toolkit might be helpful for the conversion:
http://web.me.com/macpgmr/XDev/XDevStatus.html
I might be able to do some tests from time to time and help you if you need some libs through fink.
You might also find some support on the MacPascal mailing list.
MiSchi.
-
@ kamischi.
Well done. You seem to be the perfect leader for the Mac OS conversion... ::)
-
@ everybody.
Of course, i insist, if we do it, it is with lots of respect for the creator of InnoSetup, Mister Jordan Russell ;)
-
@ kamischi.
Well done. You seems to be the perfect leader for the Mac OS conversion... ::)
If there wouldn't be that pesky problem of time :-)
-
Another point is that with the presence of disk images for simple things and the apple packager for more advanced stuff, there may not be that much need for another packaging and setup tool, at least from a user's perspective. But building packages for other platforms on the Mac would be interesting for developers.
-
Hmm... those systems are very different concerning software installation. I wonder if InnoSetup, however great, is created too Windows-centric?
-
Here message sent to Mister Jordan Russel :
http://news.jrsoftware.org/read/article.php?id=10195&group=jrsoftware.innosetup.thirdparty#10195 (http://news.jrsoftware.org/read/article.php?id=10195&group=jrsoftware.innosetup.thirdparty#10195)
(It seems that the link to the Lazarus web site not completely selected, i hope he gonna find us... :-X)
-
IMO Mac people don't like installers, the Mac concept is to copy and Application Bundle, and when you done dump it into trash,
however, Windows and Linux really needs a installer, what can I do to help?
Cheers
-
@ plusplus.
IMO Mac people don't like installers, the Mac concept is to copy and Application Bundle, and when you done dump it into trash,
Good news (and it is what i do) ::)
We are looking for leaders for the Linux conversion, are you interested ?
Have you try to compile the source wit(h Lazarus for Windows ?
-
IMO Mac people don't like installers, the Mac concept is to copy and Application Bundle, and when you done dump it into trash,
Cheers
It has nothing to do with Mac or Linux "installers" - both already have well established methods (distro pkg tools - under Linux , and application bundles as mentioned for Mac).
You are building an installer to run under Windows and only Windows - just compiling the EXE under Linux/Mac.
ISCC.exe could be ported without too many issues as it's a console exe file, anyway. (I think it should be easy? - we'll see what J. R. &/or M. Laan &/or newsgroup says) The rest? why bother? Please see newsgroup for followups.
-
OK, I did not understand the effort then, why do we would want to re-create inno for windows? would it be just to see if it can be compiled with Laz/FPC? If thats the case then I am sure it can with a few tweaks.
-
OK, I did not understand the effort then, why do we would want to re-create inno for windows? would it be just to see if it can be compiled with Laz/FPC? If thats the case then I am sure it can with a few tweaks.
Please see newsgroup (http://news.jrsoftware.org/read/article.php?id=10199&group=jrsoftware.innosetup.thirdparty#10199)... for some reasons.
-
Here is the Delphi source code :
http://www.jordanr.dhs.org/download.php/issrc.zip?site=1 (http://www.jordanr.dhs.org/download.php/issrc.zip?site=1)
Try here instead: http://www.jrsoftware.org/isdl.php
or CVS: http://www.jrsoftware.org/iscvs.htm
-
would it be just to see if it can be compiled with Laz/FPC?
Not really, the idea was to create a cross-compiler setup program inspired by Innosetup (for me, Innosetup is the best installer for Windows).
The very good news is that innosetup is open-source and... uses Pascal-Delphi language ::)
A big opportunity for us, Lazarus fans.
My opinion : i write programs in pascal because, like c++, it is a first level code, and i would prefer to use a installer coded in pascal too. So i control everything : my app and the installer too.
why do we would want to re-create inno for window
That is not the only goal but trying to compile the original windows source code could be a good beginning :-[...
You are building an installer to run under Windows and only Windows - just compiling the EXE under Linux/Mac.
Sorry but i use installer for Linux and ... they like that ;)
It is InstallJammer but it is not pascal-source:
http://www.installjammer.com/ (http://www.installjammer.com/)
-
But... it's not actually a good idea to create installers for MacOSX, Linux and BSD's because they all have their own infrastructure for that.
These days, of all the above mentioned systems only a few linux flavors could benefit from using an installer, e.g. Slackware or LFS...
-
But... it's not actually a good idea to create installers for MacOSX, Linux and BSD's because they all have their own infrastructure for that.
These days, of all the above mentioned systems only a few linux flavors could benefit from using an installer, e.g. Slackware or LFS...
Exactly.
It would make much more sense to create something like an RPM builder or deb builder addin to Lazarus so you can compile your project and create "native" setup files for e.g. Debian/Ubuntu and Red Hat.
-
But... it's not actually a good idea to create installers for MacOSX, Linux and BSD's because they all have their own infrastructure for that.
These days, of all the above mentioned systems only a few linux flavors could benefit from using an installer, e.g. Slackware or LFS...
It would make much more sense to create something like an RPM builder or deb builder addin to Lazarus so you can compile your project and create "native" setup files for e.g. Debian/Ubuntu and Red Hat.
Even Slackware (http://www.slackpkg.org/documentation.html) has diff Package managers and builders (http://www.linuxpackages.net/howto.php?page=buildtools&title=Package+Tools). Why build some 'installer' for Linux as almost every distro is a bit different (type and dependencies) and already have their own utilities as well as repo's? Many have things in common (Debian vs it's flavors like Ubuntu). But why bother? I disagree with the OP (and other posts) that we should be trying to rewrite Inno to compile installers for Linux/Mac, too. There is very little point with a very small payoff.
Getting back to the point (And INNO):
Again, IMO, the only thing relevant to this OP would be to compile a console version of ISCC.exe (http://cvs.jrsoftware.org/view/issrc/Projects/ISCC.dpr?revision=1.45&view=markup) (ala the NSIS/Nullsoft compiler (http://sourceforge.net/projects/nsis/files/NSIS%202/2.46/) under Linux) for Linux (and possibly Mac). This would be quite helpful for me at least. Building out a "GUI clone" of anything else is just a waste. Please do not get confused - this would still build Windows only installers - just allow the compile to happen inside a different OS.
Sorry but i use installer for Linux and ... they like that
(re: InstallJammer example)
Who are 'they'? Then you are one of the few that I know of - and yes I have messed with IJ in the past. But Inno is strictly a Windows Installer... Like InstallShield and NSIS. Why are you trying to force a square through a round hole? Why don't you development for IJ if you like it? Make it look like Inno if you want that feel to an installer under a Linux GUI...
-
It would make much more sense to create something like an RPM builder or deb builder addin to Lazarus
The idea to create a "Linux Inno setup" was not to create a deb builder, who is made for Open source application, but like Inno setup does for Windows, a installer who does the installation easier for users and customers, without dependencies manager because Lazarus can create independent self-executables.
Like InstallJammer or Innosetup but in Lazarus code...
Who are 'they'?
All the Linux people who are not Linux-gurus and who find very easy to install a non open-source application only with some clicks, following the instructions of the installer..
Why don't you development for IJ if you like it? Make it look like Inno if you want that feel to an installer under a Linux GUI...
Hey man, dont be angry, i only ask if somebody was interesting to create a installer for Lazarus and to share some ideas... Sorry to hurt you :-[
-
Who are 'they'?
All the Linux people who are not Linux-gurus and who find very easy to install a non open-source application only with some clicks, following the instructions of the installer..
Why don't you development for IJ if you like it? Make it look like Inno if you want that feel to an installer under a Linux GUI...
Hey man, dont be angry, i only ask if somebody was interesting to create a installer for Lazarus and to share some ideas... Sorry to hurt you :-[
Sorry, I suppose I could have phrased that better, but I am certainly not angry. (And I am also delighted that this is even being debated.) I am not trying to rain on your parade, but you need to be aware of bigger picture and the task you are attempting to undertake.
There are very valid reasons why Linux has specific repo's and installs per Distro. Hundreds of people have developed this out (under various parent distros - RPM's,DEB's,TAR.GZ) to what you see today. The only time I would see using something like InstallJammer as a Linux installer would be to port a game or app that could ride under /usr/local (http://www.pathname.com/fhs/pub/fhs-2.3.html#USRLOCALLOCALHIERARCHY) or some-such and have static libs as built. But trying to add it to the 'installed pkg's' under a particular variable distro via some 3rd party 'global' installer gui is just asking for a headache.
When you get a particular source code for Linux there is usually a very good reason it isn't "ported"/compiled to every distro. Every distro is a bit different in the way it records and installs a given pkg so as to make system aware of it existing and to check dependencies from other pkg installs. (Fortunately or unfortunately). I wish it were different (meaning more standardized like Windows) but that is the nature of open source and how Linux evolved.
-
I think it would be very useful to port InnoSetup to Lazarus and to make it able to create RPM, DEB and Mac packages. It could contain new DEB-specific, RPM-specific and Mac-specific sections for the particularities of each platform, but in general one could make packages in a single interface.
Having said that, I have no interrest in actually doing such a project myself with my free time.
-
I think it would be very useful to port InnoSetup to Lazarus and to make it able to create RPM, DEB and Mac packages. It could contain new DEB-specific, RPM-specific and Mac-specific sections for the particularities of each platform, but in general one could make packages in a single interface.
::)
Having said that, I have no interrest in actually doing such a project myself with my free time.
OK, i gonna begin it alone :'(
-
I'm Inno Setup user it will be very usefull to port it to Lazarus.
Lazarus setup is created with Inno Setup, I've created the LazPaint setup with it, in Windows is very usefull to register file associations (see this article I wrote some time ago http://wiki.lazarus.freepascal.org/Inno_Setup_Usage ).
I'm not a professional programmer, just I help in the things I can, like 'High DPI' article (basically because I use this Windows feature), translations and some other. So I maybe can help in something not complicated things. ::)
Inno Setup uses has full unicode support, this can be hard with the current RTL. Has High DPI support. Translations. lzma2...
-
it will be very usefull to port it to Lazarus
Im just taking a look at the source of InnoSetup...
And the conversion from Delphi to Lazarus do not create a miracle %)
Lot of work to only convert it...
Maybe the fastest way will be to recreate from nihil a LazInstaller.
-1 choose a look-concept.
-2 define ability to create Windows, RPM, DEB, Mac and custom packages.
-3 define the file-adder.
-4 define the compressors.
-5 define the tasks the installer must do.
-6 define icons and short-cuts to add (depending of os)
-7 define the uninstaller
-8 ...
Lazarus setup is created with Inno Setup,
Do you know what created Lazarus setup for Linux ?
-
Lazarus setup is created with Inno Setup,
Do you know what created Lazarus setup for Linux ?
Go to the 'tools\install' folder of Lazarus, you will see 'README.TXT' and all the files to create the packages for each platform.
-
Inno Setup uses has full unicode support, this can be hard with the current RTL. Has High DPI support. Translations. lzma2...
Actually I bet that it is much easier to write a new application which is similar to Inno Setup then to port Inno Setup, specially if you drop Windows suppose, lets say Inno Setup is good enough on Windows and then write a new software which covers DEB, RPM and Mac.
-
Do you know what created Lazarus setup for Linux ?
See these things:
http://www.google.pl/url?sa=t&rct=j&q=lazarus%20wiki%20deploying&source=web&cd=1&ved=0CBUQFjAA&url=http%3A%2F%2Fwiki.lazarus.freepascal.org%2FDeploying_Your_Application&ei=jy2ETu2lDNK1hAfK6uzODA&usg=AFQjCNHeoJklQcsLy-tkqd9T4q2Z9fAcmw
And scripts which do the work for RPM and Deb here:
http://magnifier.svn.sourceforge.net/viewvc/magnifier/trunk/build/
http://magnifier.svn.sourceforge.net/viewvc/magnifier/trunk/build/build_package.sh?revision=202&content-type=text%2Fplain
-
OK, how about this, we as ++Technologies are going to create a setup program for XPower++ anyway, and I am going to push to make the setup program part open source so everyone can get a copy and use/change it for them self, and as already suggested:
1. It should support x86/x64 Windows Setup -> with Reg and uninstaller.
2. It should support dependencies for x86/x64 Linux
3. It should support Application / Library Bundle support for Mac
We will name the project Laz Cross Setup Builder and maintain it on google, this way we will start to contribute to the Lazarus Community, because we love Lazarus :)
Once we have created the root trunk of this project, everyone is welcome to join this effort.
-
@ plusplus
Whaouw, very good news :P
-
As promised we have created the root of Laz Cross Setup Builder
http://code.google.com/p/laz-cross-setup-builder/
and we will soon commit our first initial code, everyone is welcome to join this effort, as ++Technologies we will also sponsor other Lazarus Projects and Lazarus itself, so if you have ideas/suggestions about that let us know.
-
we have uploaded the initial build but don't expect to much just yet.
Cheers
-
we have uploaded the latest version http://code.google.com/p/laz-cross-setup-builder/
this is the version we also use as a side tool for XPower++
Have fun.
-
I know this is an old post, this can be improved:
- Add a custom manifest that adds compatibility with each windows version, to avoid “This program might not have installed correctly” Vista+
Maybe this must be added to lazarus, like was added the dpi setting and privileges?
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application>
<!--The ID below indicates application support for Windows Vista -->
<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" />
<!--The ID below indicates application support for Windows 7 -->
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" />
<!--The ID below indicates application support for Windows 8 -->
<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/>
<!--The ID below indicates application support for Windows 8.1 -->
<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/>
<!--The ID below indicates application support for Windows 10 -->
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/>
</application>
</compatibility>
http://stackoverflow.com/questions/898220/how-to-prevent-this-program-might-not-have-installed-correctly-messages-on-vis