OSDev.org

The Place to Start for Operating System Developers
It is currently Thu Mar 28, 2024 7:38 pm

All times are UTC - 6 hours




Post new topic Reply to topic  [ 11 posts ] 
Author Message
 Post subject: Getting rid of installation...
PostPosted: Sat May 19, 2007 11:36 am 
Offline
Member
Member

Joined: Thu Jul 07, 2005 11:00 pm
Posts: 1546
the thing that I think is most annoying about most any OS out there today is all the programs must be installed! I can see compressing it for bandwidth, and then having to uncompress it somewhere...but installations are so messy!

I really am not completely for sure on hwo to go about doing this...

The main problem is global configuration stuff..
It's just not easy to copy it, but it's also not easy to form a relocatable way to handle it..

anyone have any ideas?

_________________
My new NEW blag


Top
 Profile  
 
 Post subject:
PostPosted: Sat May 19, 2007 11:46 am 
Offline
Member
Member
User avatar

Joined: Thu Jan 04, 2007 3:29 pm
Posts: 1466
Location: Noricum and Pannonia
I don't understand. What are you asking? How to have your OS install itself on a computer's hard drive? Or how to have a program install itself?

_________________
C8H10N4O2 | #446691 | Trust the nodes.


Top
 Profile  
 
 Post subject:
PostPosted: Sat May 19, 2007 11:55 am 
Offline
Member
Member

Joined: Thu Jul 07, 2005 11:00 pm
Posts: 1546
I mean to make a program, but not have to install it, or to be very easily self installing..(and mostly self-contained)

Like when switching computers, you just be able to copy your program files, and they just work, no installing or migrating, just copying the actual files..

_________________
My new NEW blag


Top
 Profile  
 
 Post subject:
PostPosted: Sat May 19, 2007 11:59 am 
Offline
Member
Member
User avatar

Joined: Thu Jan 04, 2007 3:29 pm
Posts: 1466
Location: Noricum and Pannonia
I believe this is what Mac OS uses. That's why there are not usually uninstall programs for Mac. You just delete the file that contains all of the program. You might want to look into that. Also I believe there are several packagers like that for Linux...

_________________
C8H10N4O2 | #446691 | Trust the nodes.


Top
 Profile  
 
 Post subject:
PostPosted: Sat May 19, 2007 12:38 pm 
Offline
Member
Member
User avatar

Joined: Tue Oct 17, 2006 9:29 pm
Posts: 2426
Location: Canada
On OpenBSD it's rather simple, You can use ports or binary packages.. All your personal settings are stored in your home folder..

For example, ~/.mozilla/firefox has all my Firefox settings & preferences.. Which is all that is required to backup..

Even if I accidentally deleted the installation of Firefox, My settings would still be safe.. And I would just reinstall the package. (Or if using ports, Just change into the firefox tree and type make install..)

And one should rarely use global config files, Any system specific settings would go into /etc and any application specific settings would go into the users home directories..

I can't really see the point you're trying to make though.. Must be your bad experiences on Windows. (With the insanity that is "Registry")

_________________
Image
Twitter: @canadianbryan. Award by smcerm, I stole it. Original was larger.


Last edited by Brynet-Inc on Sat May 19, 2007 12:59 pm, edited 1 time in total.

Top
 Profile  
 
 Post subject:
PostPosted: Sat May 19, 2007 12:57 pm 
Offline
Member
Member

Joined: Thu Jul 07, 2005 11:00 pm
Posts: 1546
yea..probably with windows...ok, so my theory is to not to make something like windows with the registry...

_________________
My new NEW blag


Top
 Profile  
 
 Post subject:
PostPosted: Sat May 19, 2007 7:46 pm 
Offline
Member
Member

Joined: Thu Oct 21, 2004 11:00 pm
Posts: 248
Ports-type systems require someone to actually maintain the ports tree. I personally like some mix of the Mac and Windows solutions: have a directory like Program Files where you can simply drop and unzip packages to install them.


Top
 Profile  
 
 Post subject:
PostPosted: Sat May 19, 2007 7:47 pm 
Offline
Member
Member
User avatar

Joined: Thu Jan 04, 2007 3:29 pm
Posts: 1466
Location: Noricum and Pannonia
Crazed123 wrote:
Ports-type systems require someone to actually maintain the ports tree. I personally like some mix of the Mac and Windows solutions: have a directory like Program Files where you can simply drop and unzip packages to install them.

PC-BSD uses this through its PBI system.

_________________
C8H10N4O2 | #446691 | Trust the nodes.


Top
 Profile  
 
 Post subject:
PostPosted: Sun May 20, 2007 4:59 am 
Offline
Member
Member

Joined: Mon Apr 09, 2007 12:10 pm
Posts: 775
Location: London, UK
How about keeping system-wide data in a settings file alongside the executable, and user-specific data in the user's home directory. Then, to migrate you just need the application directories and the home directory.

The question is how you want to support shared libraries. If you just place them all in /usr/lib then that's something else you might need to copy. Deleting it may affect other programs...

Regards,
John.


Top
 Profile  
 
 Post subject:
PostPosted: Sun May 20, 2007 8:46 am 
Offline
Member
Member
User avatar

Joined: Mon Jun 05, 2006 11:00 pm
Posts: 2293
Location: USA (and Australia)
I like the idea of the entire program being contained in a single file (with the exception of user settings).

I thought there were two ways around this:
- Use a file format that supports adding, removing, and modifying attached resources.
- Place the executable and all resources into one archive, and make sure all necessary files are inside the archive, then run the program from within the archive (done in the background by the system of course!) Then when the program wants to access or modify one of it's resources, it's modifying it within the archive.

If you go with b) you could make the archive read only, and rather than having to 'install' or 'modify' itself. It couldl have access to a local file.

e.g.
You have a burning frontend inside a tarbal (stored on a read only media) along with all the back ends and libraries.
When you double click the tarball, the front end loads, it can access its own files within its archive, and if it needs to configure (say, detect the path to CD burner) then it can save its global settings under as /etc/[program name] and local settings under /usr/[user]/[program name]. It would be easy if the program only wrote to a file with the same name as its name, then from within the a you could have a "Remove config files" and it will only have to delete (at most) 2 files!

_________________
My OS is Perception.


Top
 Profile  
 
 Post subject:
PostPosted: Wed Aug 01, 2007 7:08 am 
Offline

Joined: Tue Jul 24, 2007 1:19 am
Posts: 21
.net programs can be just copied to their destination (once you have the framework installed of course :wink: ) and resources can be embedded inside the executable file (I never really examined the technique but I know it can be done, as the splash screen for a project I am working now was built inside the executable)

_________________
Computer science: all about things that "should" work


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 11 posts ] 

All times are UTC - 6 hours


Who is online

Users browsing this forum: No registered users and 37 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group