View Full Version : Installing Apps to Users Harddrive Advice
markstaylor
12-16-2004, 07:46 PM
First I know that IR offers this type of software but I would like to create my own installation application for some of my projects.
I would like input from this group on some of the things to consider when creating a program like this.
1. Prompt for install
2. Check for Min Requirements
3. EULA display
4. Get install location
5. Verify Space on drive
6. Install software
7. Verify install
8. Prompt for shortcut Verification on Desktop
9. Clean up
10. Start App
Am I missing any basic steps?
I plan on having my project as a compressed EXE named setup.exe, and have the install features run if not installed.
1. Is there a way to programically get the full size of an App. in the Compressed exe, or is there another way.
2. Besides having error checking on the install how would you recommend verifying the install after the fact.
3. How can you add the application shortcut to the QUICK LAUNCH Area.
4. How do you verify if there is a Quick Launch Area on the system.
5. Some systems have Non -Administrative users that can't install programs. Now I have seen software installed on these systems without passwords etc. I don't remember what the program was but it was like the Weather Bug or programs like that. How can they accomplish the install with out problems. I totally respect and understand the issue with the passwords and thats why they are there etc.
I have tried installing programs to my sons computer that has Limited User account. I can install all day as long as I don't right to the Registry.
I know how to check for admin rights for the current user, and if I limit the install to just admin priv. users I would be very limited. What should I be looking for when installing or attempting to install software so I can install it succesfully.
6. I would also like to prompt for "Use this software for evryone or just you".
How can I succesfully achieve either of these options. Would I have to install the software in the current users profile to limit it to just him?
Any help with this is appreciated.
Thanks for reading my ramblings
Mark Taylor
AXXESS
12-16-2004, 09:07 PM
Possibly someone here can tell you how to manually do your install... but if you haven't tried Setup Factory... download the trial.
It is incredible how fast and easy this process is with SUF. I have been an SUF user since SUF5, and I can tell you that SUF7 is absolutely incredible. In the time it would take to build an install manually, you could have a dozen setups built with SUF7.... :yes
If you are building setups for clients, you could easily recover the cost of the SUF software in a job or two... ;)
Oh, BTW, I don't work for Indigo Rose, but I AM a strong believer in their products... they have made a huge impact in maximizing my workflow. :yes :yes :yes
John-oh
12-17-2004, 05:04 AM
Yes, I've got to go with this - I'm a SUF7 groupie.
The things you are suggesting are just a couple of clicks away in SUF, however if you :
a) are a masochist
b) want the challenge
then I'm sure with some long nights and lots of coffee it could be done in AMS
but for me, lifes to short.
markstaylor
12-17-2004, 01:01 PM
Both a) & b).
I will be getting SUF, but trying is how I learn.
Protocol
12-20-2004, 05:52 PM
Out of respect for Setup Factory I will keep my mouth shut. But out of respect for AutoPlay Media Studio I have to say that anything is possible.
And that I maaaay have "heard" of someone who's pulled this rabbit out of a hat and made it dance. Rather nice too. But...buy SUF. Support IR's R&D. ;)
Protocol
markstaylor
12-21-2004, 09:04 PM
I made a simple little installer that works for my needs. It checks all the things I listed. I just wanted to see if I was missing anything.
I like giving myself these little projects to see how far I can take it. Although I'm sure it is nothing like SUF I think I did a nice job, at least the layout looks good.
I was hoping for more support from AMS to help with suggestions on the project not buying software. I am 100% IR supporter. I'm trying to use AMS to the best of my ability. I know I should'nt try and re-invent the wheel. But if we don't try we'll run out of rubber one day. LOL
Thanks Protocol, Would love to run into that guy and compare notes.
Thanks anyway!
Ted Sullivan
12-21-2004, 09:56 PM
Hey, that's great that you got AMS50 to do what you wanted! All the tools are certainly there to pull off thousands of different projects. Making an installer with AutoPlay Media Studio is just a lot more work than doing it with Setup Factory, but on the other hand I think everyone here likes being faced with a challenge and pulling it off. Kudos!
Perfectly!
It is possible to set an example appendices?
It will be interesting. :rolleyes
markstaylor
12-26-2004, 12:09 AM
I will post my project as soon as I can get the file Uploaded, keep getting a IR can't find Server error.
The setup project has a very small test project included in it.
If anyone wants to test it, please give me CONSTRUCTIVE feedback.
I borrowed the EULA and havent fully edited it yet. The basic design should be familiar to everyone.
The project reads an INI file for basic information, Program Name, Size, Icon File, etc.
Using the INI file I can easily reuse this setup program for my programs, at least the ones I have now.
As of right now there are no REGISTRY keys identifying that the setup program has installed the project, and no Uninstall options are done yet.
The program should,
1. Test for Admin rights
2. Ask for confirmation to install
3. Check for correct Windows versions
4. Wait for the EULA to be accepted
5. Display default path to users Program Files
6. Allow you to change the install path
7. Check for space requirements
8. Install app
9. Allow some option changes (Desktop, Quick Launch, Start Menu per user or all
10. Install shortcuts
11. Start app. (if option checked)
Thanks
markstaylor
Yes, I am ready to try the project :rolleyes
Here my address: avguz@rambler.ru
markstaylor
12-26-2004, 11:52 AM
Here is a link to the current Setup project.Setup.exe (http://www.testboxstudio.com/Downloads/Installer/Setup.exe)
Mark
csd214
12-28-2004, 03:25 AM
Mark, great work! :yes I'm not surprised that it is possible to create an installer with AMS. Your project is another example telling how difficult it is; with a few words; to tell what AMS is like.
Personally I find it essential that the app has the appropriate clean up functions ("Add and Remove Programs") , but I'm sure you are able to create that part too. SUF70 has a lot of features to ensure workmanship of high quality in short time; even with a complex setup. If you have a calculated price of your own working hours, I prefer SUF70 for this task, but that's not the point in this case. Your project is nice specimen piece of work to investigate the possibilities with AMS.
Especially I found your Quick Launch option interesting. Your function worked properly (WinXP) with respect to the chosen user profile. Have you written a function usable for all OS's? In that case, could you think of publishing the code? It should be useful to both AMS50 and SUF70 users.
markstaylor
12-28-2004, 10:14 AM
Thanks for testing it for me,
I'm at work right now so I can't get the coding for you.
The program you tested was set to only run on Windows 2000 and XP systems (if I recall correctly). So I don't have the code for the 98, 95 etc. yet.
Though it should be pretty easy, check for the location of the Quick Launch and if it exsits create the shortcut.
I still need to work on having my project in the Add/ Remove programs. I have not yet begun test that.
The one good simple thing about this setup program is that I can use it to install any one of my projects with only changing an INI file and adding the project files.
I'm sure I will start getting more involved and making it more complex in the future.
Thanks again
Ted Sullivan
12-28-2004, 11:05 AM
That's definitely very cool and a great example of the flexibility of AutoPlay Media Studio 5.0!
Protocol
12-29-2004, 12:31 PM
Put this in the Examples section since it's great for everyone to see, but since this was the post that started the process....here goes:
OK,
So many of you wanted a generic installer for your AMS applications. I propose that we work on one together as an open source project. I've created a shell to start from and would love your input...not your thoughts (although that's always welcome :D ), but your code.
I know nothing about the registry other than it scares me. lol
Every installer I've made does so without touching the registry, but this wouldn't be the best solution in every instance.
What I propose is downloading the file below, working it through and getting it up and running in as generic a state as possible (so that it's really easy to customize for any AMS user's application...perhaps a series of questions in the preload section of the program).
Once it's operational, we can all add install types, additional install options, layout variations, etc.
To keep it easy to understand which version is which, perhaps this could be version 1 where your addition would be "Version 1.1 (Version 1 with added License Agreements)" and a modded version of that would be "Version 1.5 (Version 1.1 with more install options)", etc.
Not sure if this is the best way, but that way any of us can mod the version that best suits our needs. So if say "Version 2.7" is laden with extras you don't need, but "Version 1.9" is a great starting point and the latest version is "Version 2.9" then your mod of "Version 1.9" would be called "Version 3.0 (Version 1.9 with added Registry support)". Make sense?
I would love to see an open-source section on the forums. It would be great to have a section dedicated to group efforts and community projects such as these.
Anyways...here's a starting point if you're interested. Version 1.0 of the Open Source AMS General Installer apt:
http://www.TraskEnterprise.com/EDL/AMS-GeneralInstaller.apt
*Note that Setup Factory is THE best solution for thurough installations, but this is simply an alternative (which displays AMS5's power) if you have time on your hands.
Protocol
markstaylor
12-29-2004, 07:02 PM
Especially I found your Quick Launch option interesting. Your function worked properly (WinXP) with respect to the chosen user profile. Have you written a function usable for all OS's? In that case, could you think of publishing the code? It should be useful to both AMS50 and SUF70 users.
For the Quick Launch settings I just did the following
Defined the following
appDataFolder = Shell.GetFolder(SHF_APPLICATIONDATA);
CommonappDataFolder = Shell.GetFolder(SHF_APPLICATIONDATA_COMMON);
Verify Quick Launch Folder
Checked to see if a shortcut already exsited.
Remove it if it was there
Ceated shortcut
Shell.CreateShortcut() with the path to the Quick Launch Folder
All Users
CommonappDataFolder .."\\Microsoft\\Internet Explorer\\Quick Launch"
Single User
appDataFolder .."\\Microsoft\\Internet Explorer\\Quick Launch"
Window 98 users Quick Launch Folder is in C:\Windows\Application Data\Microsoft\Internet Explorer\Quick Launch.
I havent tried it yet but the above single user example should work.
So I will test if the system is Windows 98 , then only run single user install of Quick Launch setup.
Since I have no 98 machines with multiple users I'm not sure if the c:\Windows\All Users\ folder will contain the Quick Launch Folder.
Hope this helps some one else.
csd214
12-30-2004, 10:23 AM
Thanks. It seems like the latest OS systems have an identical file structure (with respect to QL)?
Win98: SHF_APPLICATIONDATA_COMMON returns C:\WINDOWS\All Users\<Application Data> where <Application Data> has a nationalized value. It can't be used to find the Quick Launch folder because it is profile independent. As you say, the folder always is "C:\\WINDOWS\\Application Data\\Microsoft\\Internet Explorer\\Quick Launch" (also in nationalized versions of the OS). The folder can be read from the Registry:
[HKCU\Software\Microsoft\Windows\CurrentVersion\Grp Conv\MapGroups]
Value: "Quick Launch"
I have written a function [GetQuickLaunchFolder()] to find the desired value. It can be used with AMS50 and SUF70. To overcome
i) a slight difference in the language syntax
ii) the different structure in different OSes
I only use SHF_APPLICATIONDATA. To have the 'All Users' value I use the String.Replace() command ("new systems") or I read the Registry ("old systems".
I have published the function code in the SUF70 Forum (http://www.indigorose.com/forums/showthread.php?p=45525#post45525). I have tested the function with Win98 (Norwegian), WinNT4 (English) and WinXP (English).
It would be nice if any of you would test the function; and please: Report the result. In the past there have been several enquiries about this issue (both AMS and SUF).
markstaylor
02-05-2005, 08:21 PM
This is a procedure I have used to update a couple of programs thru the web.
On the web server I have created a folder for each program
In each folder there are text files that are named “version”.txt where “version” is all the possible versions of that program ever created. For example 1.0.txt, 1.0.1.txt, 1.5.0 etc….
In these “version”.txt files, is a string of the version to replace it with. For example my program version 1.0 was released last year. I have since made two revisions to it 1.0.1 and 1.5.0. In this example I cannot install revision 1.5.0 on to 1.0 because of some major changes that would, perhaps require me to download the entire project.
So I must only upgrade to 1.0.1.
So the “version”.txt file (1.0.txt) will contain the string “1.0.1” aka "newversion". This is used to identify the executable file I need to download and install for the current version I am running.
So I must also have on the web server the new update program. I chose to name mine “newversion”Update.exe.
So in this example I would then download and execute the 1.0.1Update.exe file from the web server.
I would have this for each version in production. So now after the update has been installed, if I check for any new updates, I will be prompted that version 1.5.0 is available. This was just an example for simplicity. A Update could for example go from 1.0 to 3.2 if the update program can make those adjustments.
Anyway I thought I would share with the group a basic non SUF TU way to update from the web/lan or sea...
vBulletin® v3.8.4, Copyright ©2000-2009, Jelsoft Enterprises Ltd.