Build an OFFICIAL installer
Posted: 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.
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.
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.
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.