Lazarus

Announcements => Third party => Topic started by: Fred vS on September 27, 2011, 11:55:33 am

Title: InnoSetup for Lazarus ?
Post 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
Title: Re: InnoSetup for Lazarus ?
Post by: kamischi on September 27, 2011, 12:04:07 pm
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.
Title: Re: InnoSetup for Lazarus ?
Post by: Fred vS on September 27, 2011, 12:18:31 pm
@ kamischi.
Well done. You seem to be the perfect leader for the Mac OS conversion... ::)
Title: Re: InnoSetup for Lazarus ?
Post by: Fred vS on September 27, 2011, 12:27:52 pm
@ everybody.
Of course, i insist, if we do it, it is with lots of respect for the creator of InnoSetup, Mister Jordan Russell  ;)
Title: Re: InnoSetup for Lazarus ?
Post by: kamischi on September 27, 2011, 01:06:10 pm
@ 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 :-)
Title: Re: InnoSetup for Lazarus ?
Post by: kamischi on September 27, 2011, 01:11:25 pm
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.
Title: Re: InnoSetup for Lazarus ?
Post by: TurboRascal on September 27, 2011, 01:54:48 pm
Hmm... those systems are very different concerning software installation. I wonder if InnoSetup, however great, is created too Windows-centric?
Title: Re: InnoSetup for Lazarus ?
Post by: Fred vS on September 27, 2011, 02:28:45 pm
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)
Title: Re: InnoSetup for Lazarus ?
Post by: LA.Center on September 27, 2011, 02:51:11 pm
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
Title: Re: InnoSetup for Lazarus ?
Post by: Fred vS on September 27, 2011, 05:18:25 pm
@ plusplus.

Code: [Select]
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 ?
Title: Re: InnoSetup for Lazarus ?
Post by: bmatthewshea on September 27, 2011, 08:39:03 pm
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.
Title: Re: InnoSetup for Lazarus ?
Post by: LA.Center on September 27, 2011, 08:49:28 pm
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.
Title: Re: InnoSetup for Lazarus ?
Post by: bmatthewshea on September 27, 2011, 09:26:05 pm
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.
Title: Re: InnoSetup for Lazarus ?
Post by: bmatthewshea on September 27, 2011, 09:34:40 pm
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
Title: Re: InnoSetup for Lazarus ?
Post by: Fred vS on September 27, 2011, 11:17:40 pm
Quote
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.

Quote
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  :-[...

Quote
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/)
Title: Re: InnoSetup for Lazarus ?
Post by: TurboRascal on September 28, 2011, 01:48:37 am
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...
Title: Re: InnoSetup for Lazarus ?
Post by: BigChimp on September 28, 2011, 11:53:17 am
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.
Title: Re: InnoSetup for Lazarus ?
Post by: bmatthewshea on September 28, 2011, 04:06:26 pm
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.

Quote
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...
Title: Re: InnoSetup for Lazarus ?
Post by: Fred vS on September 28, 2011, 04:15:33 pm
Quote
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...


Quote
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..

Quote
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  :-[

Title: Re: InnoSetup for Lazarus ?
Post by: bmatthewshea on September 28, 2011, 04:51:19 pm
Quote
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..
Quote
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.

Title: Re: InnoSetup for Lazarus ?
Post by: felipemdc on September 28, 2011, 06:15:59 pm
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.
Title: Re: InnoSetup for Lazarus ?
Post by: Fred vS on September 28, 2011, 08:52:31 pm
Quote
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.

 ::)

Quote
Having said that, I have no interrest in actually doing such a project myself with my free time.

OK, i gonna begin it alone  :'(
Title: Re: InnoSetup for Lazarus ?
Post by: lainz on September 28, 2011, 09:25:23 pm
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...
Title: Re: InnoSetup for Lazarus ?
Post by: Fred vS on September 29, 2011, 02:41:21 am
Quote
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 ...

Quote
Lazarus setup is created with Inno Setup,

Do you know what created Lazarus setup for Linux ?
Title: Re: InnoSetup for Lazarus ?
Post by: lainz on September 29, 2011, 04:35:38 am
Quote
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.
Title: Re: InnoSetup for Lazarus ?
Post by: felipemdc on September 29, 2011, 10:32:46 am
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.
Title: Re: InnoSetup for Lazarus ?
Post by: felipemdc on September 29, 2011, 10:35:45 am
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
Title: Re: InnoSetup for Lazarus ?
Post by: LA.Center on September 29, 2011, 04:22:07 pm
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.
Title: Re: InnoSetup for Lazarus ?
Post by: Fred vS on September 29, 2011, 05:12:04 pm
@ plusplus

Whaouw, very good news  :P
Title: Re: InnoSetup for Lazarus ?
Post by: LA.Center on October 12, 2011, 11:06:50 am
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.
Title: Re: InnoSetup for Lazarus ?
Post by: LA.Center on October 27, 2011, 02:41:25 am
we have uploaded the initial build but don't expect to much just yet.

Cheers
Title: Re: InnoSetup for Lazarus ?
Post by: LA.Center on November 01, 2011, 05:55:41 pm
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.
Title: Re: InnoSetup for Lazarus ?
Post by: lainz on June 25, 2015, 05:40:20 am
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?

Code: [Select]
<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

TinyPortal © 2005-2018