Forum > Lazarus

Lazarus Season of Code - Pre-eliminary Announcement

<< < (2/6) > >>

JuhaManninen:
One more thing:
If Lazarus is so easy to install, then why this page:
  http://wiki.lazarus.freepascal.org/Installing_Lazarus
is so long, even after Marcos Douglas has cleaned it?

The same applies to page:
  http://wiki.lazarus.freepascal.org/Getting_Lazarus
which I tried to clean.

The instructions will be still improved and unified.
And yes, they explain the development versions, too.

Anyway, many projects don't need such long instructions because they have an installation program taking care of the details.

Juha

Adem:
There are quite a few issues with the current installer under Windows.

First, it installs right under the root folder ('C:\' etc.). This alone makes it an alien to recent Windows OSes.

It should be made possible to install it under 'C:\Program Files' and/or 'C:\Program Files (x86)'.

Second, users must be able to install both x86 and x64 versions of Lazarus in the same machine. Right now, in a machine that has x86 Lazarus/FPC installed, the only way to install x64 is to uninstall one and then install the x86 version and delete all its directories manually and then install the x64 version.

Third, when you uninstall Lazarus, it leaves far too much residue behind for manual removal. It should clear any files/folders and registry entries it created. It doesn't.

There are a few more issues --albeit of less importance.

First, anyone wanting to have a working Lazarus installation has to download the full binary package.  While its nice (essential) to have this option, there should also be an option to download different versions of both Lazarus and FPC and compile them locally. This option would also lower the load on the file servers

And, users should be given the option to install different (bit and dot) versions of of Lazarus and/or FPC.

Second, after installation, it should not force the user to have Administrator rights to use Lazarus/FPC.

IOW, it should save all the relevant configuration files (that are user-changeable) under these locations (also respecting versions, see further down).

C:\Users\$USERNAME\AppData\Local\Lazarus
and
C:\Users\$USERNAME\AppData\Local\FPC

Third, even when Lazarus installer contains FPC, each should be installed as 2 separate applications.

Fourth, the installer should respect the versions (of both Lazarus and FPC) and not automatically overwrite the previous one. It should ask the user whether to overwrite a previous one, if not, it should install a separate version independent of the previous one(s).

IOW, I should be able to --if I so chose-- have the following installations all coexisting at the same time:

C:\Users\$USERNAME\AppData\Local\Lazarus\Win64\0.9.29
C:\Users\$USERNAME\AppData\Local\Lazarus\Win64\0.9.28
C:\Users\$USERNAME\AppData\Local\Lazarus\Win64\0.9.27

C:\Users\$USERNAME\AppData\Local\Lazarus\Win32\0.9.29
C:\Users\$USERNAME\AppData\Local\Lazarus\Win32\0.9.28
C:\Users\$USERNAME\AppData\Local\Lazarus\Win32\0.9.27

C:\Users\$USERNAME\AppData\Local\FPC\Win64\2.4.2
C:\Users\$USERNAME\AppData\Local\FPC\Win64\2.4.3
C:\Users\$USERNAME\AppData\Local\FPC\Win64\2.5.0

C:\Users\$USERNAME\AppData\Local\FPC\Win32\2.4.2
C:\Users\$USERNAME\AppData\Local\FPC\Win32\2.4.3
C:\Users\$USERNAME\AppData\Local\FPC\Win32\2.5.0

Finally, once these are in place, it would be great if there was a way of downloading sources from SVN and installing a newer version of FPC +/ Lazarus locally.

BTW, I had written some of these here http://www.mail-archive.com/fpc-devel@lists.freepascal.org/msg17986.html but I felt the need to expand and explain them a little further.

There's quite a bit of work to do here, so if anyone takes it up, I'll gladly mentor this project's Windows part EUR 100.

Martin_fr:

--- Quote from: Adem on July 28, 2010, 07:30:38 pm ---First, it installs right under the root folder ('C:\' etc.). This alone makes it an alien to recent Windows OSes.
It should be made possible to install it under 'C:\Program Files' and/or 'C:\Program Files (x86)'.

--- End quote ---
This is not solely an installer issue.

Lazarus depends on fpc, and fpc depends on other tools (like winres). And some of them (afaik winres) do not work, if there a spaces in the folder name.

That affects of coures the project dir too.
And for someone who never recompiles lazarus (e.g. never changes installed packages) it would be no problem to have spaces in lazarus folder name. But if you recompile lazarus, or install packages....


--- Quote from: Adem on July 28, 2010, 07:30:38 pm ---Second, users must be able to install both x86 and x64 versions of Lazarus in the same machine. Right now, in a machine that has x86 Lazarus/FPC installed, the only way to install x64 is to uninstall one and then install the x86 version and delete all its directories manually and then install the x64 version.

--- End quote ---
Haven't tried, but ok
(see below: multiply laz installation on one box [1])


--- Quote from: Adem on July 28, 2010, 07:30:38 pm ---Third, when you uninstall Lazarus, it leaves far too much residue behind for manual removal. It should clear any files/folders and registry entries it created. It doesn't.

--- End quote ---
Lazarus does not put anything in the registry.

There are:
- the installation dir
- the config dir (in user home folder)
- any projects

There last one obviously is not part of the de-install

As for user options: Most applications I know, either leave them in place, are ask the user.

If they were always deleted, then most software, if updated would loose all settings.


--- Quote from: Adem on July 28, 2010, 07:30:38 pm ---First, anyone wanting to have a working Lazarus installation has to download the full binary package.  While its nice (essential) to have this option, there should also be an option to download different versions of both Lazarus and FPC and compile them locally. This option would also lower the load on the file servers

--- End quote ---
Installing one out of a chosen list:
That would not be a question of improving the installer, that would be a question of providing the different packages.
The current installer could do that.

Installing several (different or equal) versions of lazarus: [1]
This is a question of the above "installation directory" + creating the shortcut on the desktop with a different config dir.

The problem on windows is, that (and that is not an issue of the installer, that holds true, even if you put everything together by hand):
If you use more than one version of lazarus, then each one *must* have it's own config dir (unless you know very exactly why you do not want this) => because at latest when you change the installed packages for one installation, it screws up the other installs => but also if they use diff version of fpc....
But the nly way on windows to start lazarus with a diff config dir, is by using a shortcut (so you can give command-line param) [ok, or by batch or by hand from cmd line]
Therefore if a user has multiply installs, goes directly to the install dir, and clicks the exe there (or start lazarus.new.exe or lazarus.old.exe) => thinks are likely to go wrong.

Having multiply Lazarus installations is currently an expert option, and this is not an issue of the installer (it will be an installer issue, if and only if all the above is solved)

--- Quote from: Adem on July 28, 2010, 07:30:38 pm ---
And, users should be given the option to install different (bit and dot) versions of of Lazarus and/or FPC.

--- End quote ---
"bit" and "dot" ?

Anyway, see remarks about: multiply installations.
other than the multiple-installation issues, this is a repeat of the question for an choose-able install dir, and the availability of more different install packages (never mind which installer they use)

--- Quote from: Adem on July 28, 2010, 07:30:38 pm ---Second, after installation, it should not force the user to have Administrator rights to use Lazarus/FPC.

--- End quote ---
Does it? On windows?
(Honest question, I don't know, despite all warnings I always work as admin. to much hassle with other apps, and with windows itself.

On linux, I use a user account (no problems with anything there), but I only use Lazarus from SVN => so I don't know about the install process there => but it should be down to the package manager?

--- Quote from: Adem on July 28, 2010, 07:30:38 pm ---IOW, it should save all the relevant configuration files (that are user-changeable) under these locations (also respecting versions, see further down).

C:\Users\$USERNAME\AppData\Local\Lazarus
and
C:\Users\$USERNAME\AppData\Local\FPC

--- End quote ---
The first one is used (at least with current lazarus), not sure what you want?
Fpc has only fpc.cfg as config, but on windows, this should never be needed to be changed (not for the average user anyway)

--- Quote from: Adem on July 28, 2010, 07:30:38 pm ---Third, even when Lazarus installer contains FPC, each should be installed as 2 separate applications.

--- End quote ---
Debatable, it is easier for hte user to worry about only one app (eg. see lazarus and fpc as a whole.

If I install a video player, it doesn't ask me about every possible codec, if it should install it, and where to.

--- Quote from: Adem on July 28, 2010, 07:30:38 pm ---Fourth, the installer should respect the versions (of both Lazarus and FPC) and not automatically overwrite the previous one. It should ask the user whether to overwrite a previous one, if not, it should install a separate version independent of the previous one(s).

--- End quote ---
Ok about having to ask.
The rest is a repetition of point you made already above

--- Quote from: Adem on July 28, 2010, 07:30:38 pm ---Finally, once these are in place, it would be great if there was a way of downloading sources from SVN and installing a newer version of FPC +/ Lazarus locally.

--- End quote ---
Such a thing can be provided as a special application, or updater => but IMHO is definetely not par of any regular installer

Also check the german lazarus forum => IIRC I saw someone there offering such an app

--------------------------
Overall:
- choose install path => yes
  (will break, because of user will use path with spaces)
[EDIT: should read, but then you also need to fix...]
- create the automation process, of having different "sized" installers (Personally I am not sure that is really needed)
- ask about config on de-install
- ask about de-installing the old version
- (actually an expert option): ask about using a special config dir (for the desktop shortcut (will break if user does not use the shortcut)
[EDIT: should read, but then you also need to fix...]

I don't know about the current installer used, and how much of an uninstaller it includes: I would figure 1 (as far as the installer goes, ignoring that it breaks) and 4 (and maybe 3) to be easy?

Adem:

--- Quote from: Martin_fr on July 28, 2010, 08:16:10 pm ---This is not solely an installer issue.
--- End quote ---

Actually, it is.

Let me (try to) explain:

I am not talking about 'make'ing FPC --it's an entirely different issue --'make' cannot deal with paths with spaces in them. That is known.

But, once FPC is 'make'd, there is no reason to keep to 'no paths with spaces' rule.

The installer, can --therefore-- relocate the necessary binaries from FPC to, say, 'C:\Program Files\FPC' and re-adjust its config files etc.


--- Quote ---Lazarus depends on fpc, and fpc depends on other tools (like winres). And some of them (afaik winres) do not work, if there a spaces in the folder name.
--- End quote ---

Well.. it will to be made to work then, won't it?


--- Quote ---And for someone who never recompiles lazarus (e.g. never changes installed packages) it would be no problem to have spaces in lazarus folder name. But if you recompile lazarus, or install packages....
--- End quote ---

It just does not feel right for an opensource project to have to be downloaded in binary form every time you need to upgrade --or experiment..


--- Quote ---Haven't tried, but ok
(see below: multiply laz installation on one box [1])
--- End quote ---

I did. And, it's very frustrating.


--- Quote ---Lazarus does not put anything in the registry.
--- End quote ---

Well, IMO, it should.

If it will have a proper uninstaller under Windows, I think it should.


--- Quote ---There are:
- the installation dir
- the config dir (in user home folder)
- any projects

There last one obviously is not part of the de-install
--- End quote ---

No, of course not. But neither is any other --at the moment.


--- Quote ---As for user options: Most applications I know, either leave them in place, are ask the user.
--- End quote ---

Yes. It needs to be optional.


--- Quote ---If they were always deleted, then most software, if updated would loose all settings.
--- End quote ---

And, there are times you might want just that.


--- Quote ---Installing one out of a chosen list:
That would not be a question of improving the installer, that would be a question of providing the different packages.
--- End quote ---

By 'packages' do you mean a zip file with sources-only?

If so, I haven't come across one.


--- Quote ---The current installer could do that.
--- End quote ---

Frankly, I find the current installer far too fat.

I'd prefer to download a small webinstaller that pulls the parts (versions of Lazarus and/or FPC) from the web in a source zip file and installs them locally.


--- Quote ---Installing several (different or equal) versions of lazarus: [1]
This is a question of the above "installation directory" + creating the shortcut on the desktop with a different config dir.
--- End quote ---

See my reply above.

By 'install'ing, I don't mean 'make'ing an FPC for a platform for the first time.


--- Quote ---The problem on windows is, that (and that is not an issue of the installer, that holds true, even if you put everything together by hand):
If you use more than one version of lazarus, then each one *must* have it's own config dir (unless you know very exactly why you do not want this) => because at latest when you change the installed packages for one installation, it screws up the other installs => but also if they use diff version of fpc....
--- End quote ---

And, a proper installer can take care of all of these.


--- Quote ---But the only way on windows to start lazarus with a diff config dir, is by using a shortcut (so you can give command-line param) [ok, or by batch or by hand from cmd line]
--- End quote ---

Nope. The installer could put each different version of Lazarus under a different sub-directory, such as:

C:\Program Files\Lazarus\x.x.xx\

Then, you would not need any manual magic --other than the installer putting the usual shortcuts in the 'Start Menu'.


--- Quote ---Therefore if a user has multiply installs, goes directly to the install dir, and clicks the exe there (or start lazarus.new.exe or lazarus.old.exe) => thinks are likely to go wrong.
--- End quote ---

You're assuming the 'install dir' to be pre-determined. But, it should not be; it should be user selectable/definable. I mean, I should be able to place it wherever I like, such as the above, or

C:\Program Files\Development\Lazarus\x.x.xx\

Every other software under Windows gives me this choice; why not Lazarus/FPC?


--- Quote ---Having multiply Lazarus installations is currently an expert option, and this is not an issue of the installer (it will be an installer issue, if and only if all the above is solved)
--- End quote ---

I know it is an 'expert option' --i.e. you become an 'expert' if you spend hours getting it right; and then scared to touch it again :)

And, the last thing I want to be an 'expert' on is one of these useless skills. It simply has to be done by the installer for all --including the 'expert's..


--- Quote ---"bit" and "dot" ?
--- End quote ---

32-bit..64-bit
0.9.27..0.9.29


--- Quote ---Anyway, see remarks about: multiply installations.
other than the multiple-installation issues, this is a repeat of the question for an choose-able install dir, and the availability of more different install packages (never mind which installer they use)
--- End quote ---

Actually, no. I listed them out verbatim to show how a decent citizen application should present itself under Windows.


--- Quote ---Does it? On windows?
(Honest question, I don't know, despite all warnings I always work as admin. to much hassle with other apps, and with windows itself.
--- End quote ---

Of course, it is.

FPC/Lazarus should think beyond a single-user working on a personally owned boxes. In the corp environment, there are policy rules; and one of them is not to litter root folder.


--- Quote ---On linux, I use a user account (no problems with anything there), but I only use Lazarus from SVN => so I don't know about the install process there => but it should be down to the package manager?
--- End quote ---

Under Linux, FPC/Lazarus play by the rules a lot more than they do under Windows.


--- Quote ---The first one is used (at least with current lazarus), not sure what you want?
Fpc has only fpc.cfg as config, but on windows, this should never be needed to be changed (not for the average user anyway)
--- End quote ---

Under Windows, Lazarus considers FPC as an integral part of itself --which, in reality it isn't.

I am an average user (or, I'd like to be) and I would like to be able to install different versions of FPC in order to try to see how a newer version behaves.

ATM, I cannot do that.

It's either I install a completely new (and fat) version of Lazarus or get stuck with what there is already installed.


--- Quote ---Debatable, it is easier for the user to worry about only one app (eg. see lazarus and fpc as a whole.
--- End quote ---

But, why decide on behalf of the user?


--- Quote ---Ok about having to ask.
The rest is a repetition of point you made already above
--- End quote ---

It comes across as repetition, doesn't it.

But, it isn't.

In order for Lazarus or FPC to coexist in different 'bit and dot' versions, it has to use that sort of folder structure.

Using one single cfg file just does not cut it.


--- Quote ---Such a thing can be provided as a special application, or updater => but IMHO is definetely not par of any regular installer
--- End quote ---

Of course. I wouldn't call it a requirement, but when 'installing from source' is done, that sort of thing would be the natural next step.


--- Quote ---Also check the german lazarus forum => IIRC I saw someone there offering such an app
--- End quote ---

Sorry, I don't read German.

LazaruX:
THE MAIN PROBLEM IS:
(actually not a problem)

Most of those who want to experiment Lazarus on Linux are just old Delphi users who want to use Lazarus to compile on Linux.
People trust me, the dependency hell is in each Linux program you will ever install.
Creating one installer on each Linux distribution would be impossible, as they are just different operating systems.
Even the binaries of one Linux distribution will not work on all the distribution, because they are sometimes different.
I agree, it has to be more easy, but don't blaime the Lazarus developers, but blame the way Linux is structured.

If you had problem installing any software on Windows (including Lazarus) then the problem may be between the keyboard and the chair, trust me...

Next Next Next, I agre, Next Next, Finish, its not that difficult ;-)

Bye

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version