 |
 |
Distributing applications project: anyone interested?
|
 |
|
 |
|
Professional Poster
Join Date: Dec 2000
Location: Chicago, Illinois
Status:
Offline
|
|
On the pc side of our public labs at my university, we use Novell's snapshot and their client software to distribute apps. I was intrested in created a similiar system, unrelated to Novell, for OS X. Here's my idea:
1) OS X needs functionality that use to be provided by Installer Observer in OS 9. That is, an application that will compare OS states before and after a software install.
2) After comparing states, the application would then present all the files that were added, modified, and removed, allowing the user to then make certain modifications (like specifying certain files not to be deleted, adding more files to be added, etc).
3) The, all the files to be added or modified would be archived and stored in an Application Wrapper. The Application wrapper would be an application itself.
4) When a user opens the wrapper for the first time, the app wrapper would apply all the file to the current system and launch the executable (this would have to be set manually for each install that is snapshotted, as it's pretty hard to figure out which app to launch if multiple apps are installed between states). A preference will then be writen saying that the app has already been distributed.
5) Then, if the app launcher is double clicked again, because it can read the prefs and see that it was already distributed, then it only launch the local executable (it actually could be on a server too).
6) Finally, a contextual menu plugin would be needed so that right clicking on an app laucher would allow for the user to verify the downloaded files.
I know this is all possible, but my biggest stumbling block is creating the states to compare. It seems like everytime I do it, the process takes a million years and creats state files that are way too big. What I was currently doing was using NSFileManager to create custom File objects that had a path and modification data stored (with the option to store the file data, symbolic link target, and all file attributes). But it seems like NSFileManager's method for finding all the subpaths of, say, my home directoty take forever. I'm concerned, then, that I'll either have to write a perl script or do some Carbon coding with MoreFilesX to do everything... and I'm not as much an expert at either like I am with Cocoa proper.
So, is anyone interested enough in helping me pursue this project?
Thanks,
Matt
|
|
|
| |
|
|
|
 |
|
 |
|
Dedicated MacNNer
Join Date: Nov 2000
Status:
Offline
|
|
I'm confused about what you're trying to accomplish. Are you trying to share application preferences between multiple users, or the applications themselves? If the latter, you're reinventing the wheel. OSX ships w/ this functionality.
|
|
|
| |
|
|
|
 |
|
 |
|
Professional Poster
Join Date: Dec 2000
Location: Chicago, Illinois
Status:
Offline
|
|
Originally posted by int69h:
I'm confused about what you're trying to accomplish. Are you trying to share application preferences between multiple users, or the applications themselves? If the latter, you're reinventing the wheel. OSX ships w/ this functionality.
No, the idea is that we have a client machine that doesn't have an application installed on it. For some apps, there
s no files that need to be installed for the application to work. Unfortunately, many apps spew their files all over the system. I'd like to set up a system where right before an application is launched, a check is made to make sure that all the files the app needs are on the system. If they aren't, then they are downloaded from the server and installed in the appropriate places.
Does that make more sense?
I'm actually make a lot more progress with my C functions for mapping out the file structure, so creating states is almost done, and I can just use diff to help compare states.
Matt
|
|
|
| |
|
|
|
 |
|
 |
|
Dedicated MacNNer
Join Date: Nov 2000
Status:
Offline
|
|
|
|
|
|
| |
|
|
|
 |
|
 |
|
Professional Poster
Join Date: Dec 2000
Location: Chicago, Illinois
Status:
Offline
|
|
If anyone's interested, here's what StateTool (as it's now named... I guess) is looking like:
http://homepage.mac.com/fahrenba/StateTool.tar.gz
It only allows you to find out what files have been added, removed, and modified but not the archiving and deployment stuff that I talked about above (yet). I'd suggest using a folder other than "/" to scan, though. My algorithm takes forever on the 100,000+ files on my box. If anyone has any suggestions for folders to not scan by default, I'd really like to know.
Thanks,
Matt
|
|
|
| |
|
|
|
 |
|
 |
|
Dedicated MacNNer
Join Date: Nov 2000
Status:
Offline
|
|
The only folders I would scan by default would probably be:
/Applications
/Library
/usr/local
I'm guessing that this would work for most third party applications.
Anyone putting files in other locations is wrong. You could allow a user to specify any folder to include in the scan to accomodate these deviants.
Just my $.02
|
|
|
| |
|
|
|
 |
|
 |
|
Professional Poster
Join Date: Dec 2000
Location: Chicago, Illinois
Status:
Offline
|
|
I think it would be a good idea to also scan the user's home directory - tons of apps install stuff in the Library folder. But that would be up to the user. It also seems like a lot of Apple's iApp's have a million localized files (iPhoto is the biggest culprit). But there will always be an option to add folders to scan.
Matt
|
|
|
| |
|
|
|
 |
 |
|
 |
|
|
|
|
|

|
|
 |
Forum Rules
|
 |
 |
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
|
HTML code is Off
|
|
|
|
|
|
 |
 |
 |
 |
|
 |
|