A Linux distro that has FPC and Lazarus in its package server is now the best OS for installing Lazarus because the package manager takes care of FPC dependency for Lazarus.Just click and OK, just like it should be.
I took the liberty to add a task for proper Lazarus installers.
The goal should be a one-click installer for anyone who wants to try Lazarus.
The Windows installer is already one-click. You don't need to install the FPC source separately. I don't follow up why you needed to install it separetely.
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.
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\LazarusandC:\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).
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.
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.
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....
Haven't tried, but ok(see below: multiply laz installation on one box [1])
Lazarus does not put anything in the registry.
There are:- the installation dir- the config dir (in user home folder)- any projectsThere 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.
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 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]
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)
"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)
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?
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)
Debatable, it is easier for the user to worry about only one app (eg. see lazarus and fpc as a whole.
Ok about having to ask.The rest is a repetition of point you made already above
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
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...[/quoteI am not sure if this is directed at (or includes) me, but let me say this (pre-emptively, if need be).I am not blaming Lazarus or FPC developers. Nor am I simply asking (or begging).I'd like more people using Lazarus or FPC on Windows so that their applications can get ported to other platforms; and, I am more than prepared to chip in for it --through donations or bounties.The reason I consider the installer important is because it is the first experience everyone gets.It has to be easy.
Quote from: Martin_fr on July 28, 2010, 08:16:10 pmThis is not solely an installer issue.Actually, it is.
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.
QuoteLazarus 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.Well.. it will to be made to work then, won't it?
QuoteAnd 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....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..
QuoteHaven't tried, but ok(see below: multiply laz installation on one box [1])I did. And, it's very frustrating.
QuoteLazarus does not put anything in the registry.Well, IMO, it should.
If it will have a proper uninstaller under Windows, I think it should.
QuoteAs for user options: Most applications I know, either leave them in place, are ask the user.Yes. It needs to be optional.QuoteIf they were always deleted, then most software, if updated would loose all settings.And, there are times you might want just that.
QuoteInstalling 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.By 'packages' do you mean a zip file with sources-only?
If so, I haven't come across one.QuoteThe current installer could do that.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.
QuoteThe 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....And, a proper installer can take care of all of these.
QuoteBut 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]Nope. The installer could put each different version of Lazarus under a different sub-directory, such as:C:\Program Files\Lazarus\x.x.xx\QuoteIt is about the config dir.the lazarus.exe decides where it expects it => if the installer put's it elsewhere, Lazarus will not find it, and create a new one.The installe can not fix that => you must extend lazarus itself for thisQuoteTherefore 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.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
It is about the config dir.the lazarus.exe decides where it expects it => if the installer put's it elsewhere, Lazarus will not find it, and create a new one.The installe can not fix that => you must extend lazarus itself for thisQuoteTherefore 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.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
QuoteHaving 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)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" ?32-bit..64-bit
0.9.27..0.9.29
QuoteDoes 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.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.
QuoteThe 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)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.
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 ;-)
fpc yes, if you want it as separate installation (it comes pre-compiled anyway).
Lazarus: no => because installation/deinstallation of packages require to recompile the IDE.(packages: as in lnet, synapse, or the ones that come with Lazarus)
you need to talk to 3rd party then => the team maintaining winres needs to accept your patch (or the fpc team needs to maintain a separate version for a life time, and merge all fixes and extensions all the time....)
Really? I use a lot of opensource: VLC, VirtualBox, WinMerge, ... they all come as binary package => and I am truly glad they do.
If I want to contribute, the have a repository, and I can download and compile => but without installer
That seems to me a very common opensource thing.
On Linux, some of them come as source, and compile during installation (e.g mysql on freebsd).But if I want to contribute, I still need to setup a special work environment, and no installer for that.
-installer should ask for install path => I did mention- You need to find a solution for how to get each installation to use a different config file (on window you can put it into the desktop shortcut, but run into trouble as soon as the user starts the IDE without the shortcut. (not an installer problem, but needs to be solved for this)
Mixing various installations of Lazarus with various installations of free pascal, is (on top of the above) only a question of configuring lazarus correct => an expert user choice, definetly not an installer choice. (because you will get issues with ppu files not being suited for the different fpc version...)
That's why to me, there is a limited need for separate fpc and Lazarus installer => that is for expert users.
The installer should deliver what the average user needs => a working setup. And that does work very well with a combined install.
It's cross platform => linux aint having no registry
I never trie to uninstall => but under windows there is an uninstall entry in the control panel/programs stuff. So I guess it will at least delete the program dir?
Same amount of dwnload in the end (unless there were optional parts...
Actually more download, if you install on more than one box
How? Yes for the shortcut on the desktop / in the start men. But how, if I the user goes to the install dir (e.d to start lazarus.old.exe after adding a package failed, and the new lazarus doesn't start anymore?
How can the installer change, that you must give a command line param to lazarus, and that on windows you can not do that, if you start the exe directly (no shortcut, no batch)
How can the installer fix this; how can it change the abilities of windows or the lazarus exe?
It is about the config dir.the lazarus.exe decides where it expects it => if the installer put's it elsewhere, Lazarus will not find it, and create a new one.The installe can not fix that => you must extend lazarus itself for this
No I did not assume this. My above concerns where in case even if the install dir is change able.
The config does not reside in the install dir => and lazarus must be able to find it.
And in a way it is good you become an expert, because if the installer just gives it to you, and you don't know all the rules that needs to be known for that scenario, then you break what the installer gave you.
So yes => you could create an installer that does set this up => but it leaves you with equal problems, you will just notice a little bit later.
You need to make lazarus itself save to deal with such setups => e.g regognizing if one lazarus is invoked with the config of another... it's possible, but in lazarus, not in the installer.
And the only valid example for the normal user needing more than one installation was 32 vs 64 bit Better to make one installation do be able to cross compile, and serve both targets. The normal end user should not need more than one installation => If he does need it, then nly because something is missing somewhere else.
Why do you need this, if all you want to do is to compile your own app?
back to choosable install pathback to space in path issue.solve them, and this is solved too => so it is a repeat (or just a reason, not a new feature)
Problem:all the ppu for the LCL (which all your apps work) => they only work with the EXACT fpc that they came with.
Install another fpc => you must recompile them allswitch back to the original fpc => recompile againhence=> this is an expert option
I cut the rest => it's alll nice reasons why you want to have the above....
Look. All you're doing is telling me why it should not be done; instead of --even verbally-- contributing towards a solution.