Build an OFFICIAL installer

New features which should be implemented in Porteus; suggestions are welcome. All questions or problems with testing releases (alpha, beta, or rc) should go in their relevant thread here, rather than the Bug Reports section.
User avatar
agreimann
Samurai
Samurai
Posts: 137
Joined: 19 Apr 2011, 21:09
Location: U.S.

Build an OFFICIAL installer

Post#1 by agreimann » 20 Apr 2011, 19:08

As we all know, Porteus does not have an OFFICIAL installer of its own--rather, it borrows from the Slax installer--which only does an install from within Windows or from one flash drive to another. Either I could, or a Porteus maintainer could code an installer for Porteus. I heard Porteus wants to build an installer on an HTA--let me remind Porteus coders that the MSHTA engine based on Internet Explorer 9 stripped some of the functionality IE8 on XP offers. We would need to *really* program and build a Windows executable, not just an HTA. I want to talk as one who loves to code for a second and share my ideas with the Porteus community:

There would be a difference, though, from the Slax version for both Linux and Windows versions, though both would differ. I'm going to explain in depth why I think every step needs implementation. Also, I think the *NEW* installer should be GUI, and not CLI based, and it should have step-by-step instructions that even Porteus newbies could follow:

1) Add a "need permissions" dialog in Windows Vista and Windows 7. Perhaps the new Porteus installer can run within Windows, with the program's metadata indicating it needs administrative privileges on newer versions? This will become increasingly important with the upcoming release of Windows 8. Market share for Windows is the greatest, with users upgrading to 7 (30%+ market share--starting 2011) so this is important!

2) Like other Linux distributions, add a way to install to the disk directly. This could best be implemented by asking what partition the user wants to use. (Auto-detection would have to wait, though, unless drive location batch scripting from the Slax script was "borrowed".) In other words, ask "What drive do you want to install to?" and pick a drive, or "Are you sure you want to install to E: ?" I think having "Do you want Porteus to install from the running drive automatically or another drive?" would work well. It is annoying to have to switch drives--if properly implemented, Porteus installation could be more of a breeze than Debian-based distros even dreamed of.

3) Like Debian-based distros, set the clock on the computer. Another major problem is that both Slax and Porteus run as root, providing a huge security hole. Have a GUI dialog asking "What is your name?" and plug the name variables in. But this is only a recommendation.

4) Install the boot loader silently. Can we switch from lilo or implement os-prober that searches for Windows into the installer, if a user so chose to install to the hard disk? Right now, as it is, Windows users, as well as Windows gamers, professionals, and programmers depend on Windows, and I guarantee that more than half of the ones I could think of would not dare install another system without having Windows dual-boot. Debian and Fedora based distros have a major advantage over Porteus and Slax this way. That's, I bet, a reason why Porteus doesn't have much usage share among the distros. (It is great for legacy systems that plop is implemented on the flash drive, but that's beside the point.)

5) Have the installer mention something of the like: "Thank you for installing Porteus! We hope that you enjoy this release. Make sure that after the computer shuts down, you remove all optical and removable media. Click Restart (on Windows, it'd be easier to implement using an OK button in the GUI) to restart."

Finally, I think that if an error happens, have the GUI call it, either in Linux or in Windows, rather than using the prompt (or shell in Linux). Here's an example that I'll line break to show how a new installer message would appear:

An error has occurred and the Porteus installer can't continue.
The Porteus installer cannot install to this partition. You can click OK to try and find another drive, or exit.

Exit code/error: 2


Now, I understand that Slax did not have an installer like this, and nor did it ever want to. I'm **really** hoping that with Porteus, we think different, and change things to cater to people wanting to try this system out.

:Bravo: Please, let me know if you guys want me to program a modern Windows version, (or Linux version) and submit it to the Porteus community, what you think should be added or removed, or if you guys want to build it. Maybe in the nightlies something like this is already being implemented, but anyway... Please share your thoughts and ideas. I'd love to hear what you think.
Last edited by agreimann on 20 Apr 2011, 19:18, edited 1 time in total.

User avatar
Hamza
Warlord
Warlord
Posts: 1846
Joined: 28 Dec 2010, 07:41
Distribution: Porteus
Location: France

Re: Build an OFFICIAL installer

Post#2 by Hamza » 20 Apr 2011, 19:14

I like the idea, but we must have an installer on Linux before to begin to programming for Windows.
NjVFQzY2Rg==

User avatar
fanthom
Site Admin
Site Admin
Posts: 4547
Joined: 28 Dec 2010, 02:42
Distribution: Porteus Kiosk
Location: Poland, currently - Cork, IE
Contact:

Re: Build an OFFICIAL installer

Post#3 by fanthom » 20 Apr 2011, 20:25

@agreimann
good to see you in the team :)

please grab latest Porteus release (64 bit at the moment) from here:
http://ponce.cc/porteus/x86_64/testing/ ... x86_64.iso
and check out our current Windows installer. i'm happy with it but improvements are always welcome :)
you can use it as a skeleton for your application. i would add three things:
1) possibility of choosing the drive to install
2) porteus data could be copied automatically on it once chosen (now we have to copy folders first and then run the installer)
3) This is optional:
instead of using syslinux we could use grub4dos as it supports also NTFS. in case of installing on C: we could replace bootmgr/ntldr with grldr and provide sample menu.lst (same as syslinux one) so Porteus and Windows could coexist on the same partition and user would have possibility of choosing the OS without touching MBR.

There's no time to loose as we are really close to 1.0 FINAL release. Once you have something done - please post for testing and making further suggestions/requests.

@Hamza
i wouldn't worry about Linux users - usually they are more experienced so GUI can wait :)
Please add [Solved] to your thread title if the solution was found.

User avatar
Hamza
Warlord
Warlord
Posts: 1846
Joined: 28 Dec 2010, 07:41
Distribution: Porteus
Location: France

Re: Build an OFFICIAL installer

Post#4 by Hamza » 20 Apr 2011, 20:55

I can edit my Slax Migration Tool for Porteus.

Must your perm's before.
NjVFQzY2Rg==

User avatar
agreimann
Samurai
Samurai
Posts: 137
Joined: 19 Apr 2011, 21:09
Location: U.S.

Re: Build an OFFICIAL installer

Post#5 by agreimann » 20 Apr 2011, 21:15

@fanthom: Thanks for the welcome! It took a while to find your new website! I was asking around in the Slax forum, after not touching it from January, about where the "Remix" people went. I'm writing this from Porteus 64-bit now, and I'm proud of how Remix turned out!

I agree with your installation ideas--most pretty much parallel mine well. :) I think syslinux could boot Windows from a flash drive, or even if customized, the flash drive. Maybe we can't have something fancy like os-prober, but we *could* have a guide that Windows people could follow bundled with the Installer. I agree that Linux people are more experienced as well. :)

Porteus coders/maintainers: Should I build the installer I had mentioned? Maybe not all features will make it into the first installer, but over time, they can.

User avatar
Hamza
Warlord
Warlord
Posts: 1846
Joined: 28 Dec 2010, 07:41
Distribution: Porteus
Location: France

Re: Build an OFFICIAL installer

Post#6 by Hamza » 20 Apr 2011, 21:28

Porteus coders/maintainers: Should I build the installer I had mentioned? Maybe not all features will make it into the first installer, but over time, they can.
Any help are welcome , if you can write an installer for Porteus.

Thanks very much for your help. It is very much appreciated.

Just one thing , if you cannot write the full installer , please post the source code somewhere and post the link in the forum.

Regards,
NjVFQzY2Rg==

User avatar
agreimann
Samurai
Samurai
Posts: 137
Joined: 19 Apr 2011, 21:09
Location: U.S.

Re: Build an OFFICIAL installer

Post#7 by agreimann » 20 Apr 2011, 21:56

I would imagine that I would probably, for the sake of time, "borrow" code from the original Slax installer, which I presume is GPL licensed by Tomas M, then build up an installer from there. Windows allows the compilation of Windows NT command scripts as Windows executables, so the source would look like nothing but a batch file, but out of that, one could build an .exe with a GUI, given the source.

If I'm to use the GPL, I would *have* to under the license terms, submit code of whatever I wrote to the Porteus community, so no matter what happens, if I build it, it's going to be posted. So, do not worry about that--I want whatever I write to be legal.

User avatar
Hamza
Warlord
Warlord
Posts: 1846
Joined: 28 Dec 2010, 07:41
Distribution: Porteus
Location: France

Re: Build an OFFICIAL installer

Post#8 by Hamza » 20 Apr 2011, 22:02

If you don't post the source code , the users cannot test and maybe make a better installer than you ;)

And , you'll be not under GPL terms and Porteus terms (The World is Open Source)
NjVFQzY2Rg==

User avatar
agreimann
Samurai
Samurai
Posts: 137
Joined: 19 Apr 2011, 21:09
Location: U.S.

Re: Build an OFFICIAL installer

Post#9 by agreimann » 21 Apr 2011, 01:30

I fully understand what you are saying. Please read my last post.

Posted after 1 hour 47 minutes 36 seconds:
Ran the HTA. I've got one thing to say... It's time we build an installer! :)

The HTA takes me to the CLI or command prompt installer, which will *not* do. On a newer version of Windows, I found I ran into the same permissions problem. Therefore, here is what is going to happen:

I'm going to build a Porteus Installer that will use dialogs to communicate with the end user. It will install from the drive it is running on to keep things simple. When things are good enough to where we can choose different drives, that'll be good. Until then, we just need to stick with the basics. Pretty much, the Windows version of this is going to need to install with administrative privileges. Then, we can have it where the "Install complete" window shows, but make the *whole* thing GUI--not just the welcome screen. The same applies with if I built a Linux version of it within Slax. Is the objective of Porteus to run as root? This is dangerous!

The HTA needs to be one--and that means that just like how, for instance, Apple overthrew their old UI, and worked on rebuilding it to turn it into Aqua, we're going to need to make the HTA so that it can work properly, with an iframe system. I'll work on that, too. Mainly, the Porteus documentation window does not comply with Aero guidelines at all--we'll (or I'll) need to fix that to allow it to be Aero compliant. We desperately need to. However, I don't think the Linux people will ever need a documentation system, since they've already got an idea how Linux works.

All the code will be GPL licensed, which that means, yes, I will present source with my completed works.

Keep me posted, guys!

User avatar
fanthom
Site Admin
Site Admin
Posts: 4547
Joined: 28 Dec 2010, 02:42
Distribution: Porteus Kiosk
Location: Poland, currently - Cork, IE
Contact:

Re: Build an OFFICIAL installer

Post#10 by fanthom » 21 Apr 2011, 05:52

@agreimann
"Is the objective of Porteus to run as root? This is dangerous!"
Porteus 1.0 has guest account enabled by default.

waiting on first version of the installer :)
Please add [Solved] to your thread title if the solution was found.

User avatar
Hamza
Warlord
Warlord
Posts: 1846
Joined: 28 Dec 2010, 07:41
Distribution: Porteus
Location: France

Re: Build an OFFICIAL installer

Post#11 by Hamza » 21 Apr 2011, 08:36

Will finish my network installation , and we'll see if it works on any computers.

Need Ponce's server , he has a good bandswitch speed ! ;)
NjVFQzY2Rg==

User avatar
agreimann
Samurai
Samurai
Posts: 137
Joined: 19 Apr 2011, 21:09
Location: U.S.

Re: Build an OFFICIAL installer

Post#12 by agreimann » 21 Apr 2011, 22:18

Because this post is long, and since I'm about 50% finished, when the Porteus Installer is complete, I'll post it in a new thread. (Just wanted to give you guys a heads-up.)

User avatar
Hamza
Warlord
Warlord
Posts: 1846
Joined: 28 Dec 2010, 07:41
Distribution: Porteus
Location: France

Re: Build an OFFICIAL installer

Post#13 by Hamza » 21 Apr 2011, 22:20

Because this post is long, and since I'm about 50% finished, when the Porteus Installer is complete, I'll post it in a new thread. (Just wanted to give you guys a heads-up.)
You'll be a good contributor !
NjVFQzY2Rg==

User avatar
fanthom
Site Admin
Site Admin
Posts: 4547
Joined: 28 Dec 2010, 02:42
Distribution: Porteus Kiosk
Location: Poland, currently - Cork, IE
Contact:

Re: Build an OFFICIAL installer

Post#14 by fanthom » 22 Apr 2011, 05:43

@agreimann
please post it here - no point for creating second topic in the same subject.
Please add [Solved] to your thread title if the solution was found.

User avatar
agreimann
Samurai
Samurai
Posts: 137
Joined: 19 Apr 2011, 21:09
Location: U.S.

Re: Build an OFFICIAL installer

Post#15 by agreimann » 22 Apr 2011, 05:57

@fanthom: How close are you to *needing* an installer? I'm going to work on different methods of building, and I will have to work on a total redesign of the old installers. It's going to take time to think...

I will need about one, maybe two, weeks to build these. I'm hoping no one beats me to it--there are two others in development... I'm going at it as fast as I possibly can. Please keep me posted on what's going on with it. I'm in the process of writing and brainstorming at the same time--things are about 50% complete, and that was the easier part of it. The other 50% is what will take a while.

To maintain compatibility with kdialog, I *might* use zenity--but I'm not sure yet...

Post Reply