View previous topic :: View next topic |
Author |
Message |
FreezingFire Admin Team

Joined: 23 Jun 2002 Posts: 3508
|
Posted: Wed Sep 11, 2002 9:25 pm Post subject: [Open Source]: ProSetup Installer |
|
|
I am considering making a program I am starting open source. It will be an installation program...possibly with both a "modern" and "classic" wizard interface.
What we would need to do is use a free command-line zip tool that we can re-distribute...I may know of one...but I'll have to think where...zip it into a self-extracting EXE file, then use the wizard to copy the files and delete them after installation is done. We can probably make a nice self-extracting EXE with Tommy's Easy Packets...which will allow to run the setup EXE file after extracted...then replace the contents with the command-line zip program.
A lot of other features could be implemented...
If anyone is interested, just post below, and what I have so far I will post. _________________ FreezingFire
VDSWORLD.com
Site Admin Team |
|
Back to top |
|
 |
FreezingFire Admin Team

Joined: 23 Jun 2002 Posts: 3508
|
Posted: Wed Sep 11, 2002 9:54 pm Post subject: |
|
|
Here is a basic outline of how the setup program will look (unchanged):
Please note that the setup logo is missing so it may look bare...
Code: | Title ProSetup
%%instname = Test Application 1.0
DIALOG CREATE,ProSetup - Welcome,-1,0,459,328,,,NOMIN
DIALOG ADD,STYLE,BIG,Tahoma,14,,,
DIALOG ADD,BITMAP,logo,10,10,119,265,logo.bmp
DIALOG ADD,GROUP,sep1,280,10,438,2
DIALOG ADD,BUTTON,Back,294,204,76,24,< Back
DIALOG ADD,BUTTON,Next,294,284,76,24,Next >
DIALOG ADD,BUTTON,Cancel,294,372,76,24,Cancel
DIALOG ADD,TEXT,TEXT1,8,136,81,24,Welcome,,BIG
DIALOG ADD,TEXT,TEXT2,34,134,459,13,This wizard will install %%instname on your computer.
DIALOG ADD,TEXT,TEXT3,68,134,322,13,It is strongly reccommended that you close all other applications
DIALOG ADD,TEXT,TEXT4,82,134,322,13,you have running before continuing. This will help prevent any
DIALOG ADD,TEXT,TEXT5,96,134,322,13,conflicts during the installation process.
DIALOG ADD,TEXT,TEXT6,124,134,322,13,Click Next to continue"," or Cancel to exit Setup.
DIALOG SHOW
:Evloop
wait event
goto @event()
:BackBUTTON
info Replace this line with code to process the BackBUTTON event
goto evloop
:NextBUTTON
info Replace this line with code to process the NextBUTTON event
goto evloop
:CancelBUTTON
goto close
:Close
if @ask(Setup is not complete. If you quit now"," the program will not be installed.@cr()You may run this installation program at a later time to complete the installation.@cr()Are you sure you want to exit?)
exit
end
goto evloop |
_________________ FreezingFire
VDSWORLD.com
Site Admin Team |
|
Back to top |
|
 |
Tommy Admin Team
Joined: 16 Nov 2002 Posts: 746 Location: The Netherlands
|
|
Back to top |
|
 |
Dr. Dread Professional Member


Joined: 03 Aug 2001 Posts: 1065 Location: Copenhagen, Denmark
|
Posted: Thu Sep 12, 2002 8:31 am Post subject: |
|
|
Hey Freezingfire
I think that's a great idea. And it should be interesting to many VDS coders for distributing their stuff.
I played around with installer components some time ago, so I should have some code snippets lying
around which may come in handy.
As concerns zip components, I'd go for Info-ZIP - it's open source, EXEs are freely distributable etc.
http://www.info-zip.org/
Greetz
Dr. Dread _________________ ~~ Alcohol and calculus don't mix... Don't drink and derive! ~~
String.DLL * advanced string processing |
|
Back to top |
|
 |
marty Professional Member


Joined: 10 May 2001 Posts: 789
|
Posted: Thu Sep 12, 2002 11:33 am Post subject: |
|
|
Yup thats a good idea...
Last year I started working on my own installer with VDS, I stopped because of other projects.. So used InnoSetup...
Ill try to find what I have so far and will give out the code.
Hope I can find it within my PC and CD mess...  |
|
Back to top |
|
 |
FreezingFire Admin Team

Joined: 23 Jun 2002 Posts: 3508
|
Posted: Thu Sep 12, 2002 8:45 pm Post subject: |
|
|
Yes, I am currently using Inno Setup to distribute any applications I make...but I figure if I can make a really nice installer that I can fully customize without having to know pascal code (you can write stuff for InnoSetup with pascal code...but you have do download "My Inno Setup with Extensions"...
This could even include something like a "activation code" or something to install the product instead of a password that would have to be used with Inno Setup...
Since you cannot reply with a Poll in with this forum...reply to this thread and vote for which interface I should make..."classic" or "modern"...  _________________ FreezingFire
VDSWORLD.com
Site Admin Team |
|
Back to top |
|
 |
Tommy Admin Team
Joined: 16 Nov 2002 Posts: 746 Location: The Netherlands
|
Posted: Thu Sep 12, 2002 8:48 pm Post subject: |
|
|
Modern absolutely, or possibly allow a choice. I really like the feel of the modern interface. |
|
Back to top |
|
 |
FreezingFire Admin Team

Joined: 23 Jun 2002 Posts: 3508
|
Posted: Thu Sep 12, 2002 8:51 pm Post subject: |
|
|
I looked at the ZIP.EXE that comes with V-Setup...in the license it says that it is freely distributable by anyone..."so long that it is not modified and that it is not sold for profit."
I'm thinking that we could use that for command-line zipping and un-zipping...however you could use any zip utility that supports self-extracting EXE files for change the contents...
Yes, after some hard work I will make it so that it possibly allows a choice of style...personally I am more fond of the Modern style also... _________________ FreezingFire
VDSWORLD.com
Site Admin Team |
|
Back to top |
|
 |
cnodnarb Professional Member


Joined: 11 Sep 2002 Posts: 763 Location: Eastman, GA
|
Posted: Thu Sep 12, 2002 9:16 pm Post subject: |
|
|
Personally, I think that even having a user unzip installation files manually (with winzip or equivalent) then having a setup program included is not at all unreasonable...
With that said, there are many other things about an installation program to be considered, filelist, reg entries, toggles for users choosing directory or not, entering registry stuff during setup, ini entries to win.ini and system.ini
Not that I'm saying that self extraction is not something that is not necessary, I'm just saying that maybe it's not where to start...
Having said that, I think that the developer should have full control over the actual positioning of dialogs on the setup program itself. Something like this
Code: |
if @equal(@iniread(NextButton,Custom),1)
DIALOG ADD,BUTTON,Back,@iniread(NextButton,top),@iniread(NextButton,left),@iniread(NextButton,height),@iniread(NextButton,width),< Back
else
DIALOG ADD,BUTTON,Back,294,204,76,24,< Back
end
|
NodNarb |
|
Back to top |
|
 |
FreezingFire Admin Team

Joined: 23 Jun 2002 Posts: 3508
|
Posted: Thu Sep 12, 2002 9:37 pm Post subject: |
|
|
Yes...that is a good idea...however, the user may not have zip/unzip program...so self-extraction may be needed...I've yet to find an exe that just extracts to a specified directory then runs a file (in this case "setup.exe" or something...)
I noticed when I open a V-Setup file in WinZip I find there is a program named "setup.exe"...when I extract that from the archive, and run it, it runs like the normal setup program...so, in theory, the single actual "setup.exe" program that the end-user runs is extracting the files, then running an executable named "setup.exe". _________________ FreezingFire
VDSWORLD.com
Site Admin Team |
|
Back to top |
|
 |
cnodnarb Professional Member


Joined: 11 Sep 2002 Posts: 763 Location: Eastman, GA
|
Posted: Thu Sep 12, 2002 11:32 pm Post subject: |
|
|
Unrelated (sort of)
I noticed that the lesser than sign showed up as html code in my post, but not in the green post, how do you post "green" code?
NodNarb |
|
Back to top |
|
 |
Mac Professional Member

Joined: 08 Jul 2000 Posts: 1585 Location: Oklahoma USA
|
Posted: Thu Sep 12, 2002 11:54 pm Post subject: |
|
|
Hiya NodNarb,
Use the "code" tags (I'm disabling BB code so this will show):
[code]
rem -- Here ya go --
INFO Put your code here...
[/code]
Cheers, Mac  _________________ VDSug.dll does file IO, check/disable menu items,
non-VDS dlls, draw functions and more...
Free download (30k dll size) at:
http://www.vdsworld.com/download.php?id=361
 |
|
Back to top |
|
 |
Dr. Dread Professional Member


Joined: 03 Aug 2001 Posts: 1065 Location: Copenhagen, Denmark
|
Posted: Fri Sep 13, 2002 12:22 am Post subject: |
|
|
Hi, again
Dug up this subroutine - for obtaining paths:
Code: |
:Paths
%%sourcepath = @path(%0)
%%WinDir = @windir()
%%WinSys = @windir(S)
REM Watch out! The following comes out with a trailing backslash
%%WinTemp = @windir(T)
%%ProgramFiles = @REGREAD(LOCAL,SOFTWARE\Microsoft\Windows\CurrentVersion,ProgramFilesDir)
%%CommonFiles = @REGREAD(LOCAL,SOFTWARE\Microsoft\Windows\CurrentVersion,CommonFilesDir)
%%StartMenu = @REGREAD(CURUSER,Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders,Start Menu)
%%Startup = @REGREAD(CURUSER,Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders,Startup)
%%ProgFolder = @REGREAD(CURUSER,Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders,Programs)
%%FontsFolder = @REGREAD(CURUSER,Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders,Fonts)
%%Favorites = @REGREAD(CURUSER,Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders,Favorites)
%%Desktop = @REGREAD(CURUSER,Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders,Desktop)
%%SendTo = @REGREAD(CURUSER,Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders,SendTo)
%%MyDocs = @REGREAD(CURUSER,Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders,Personal)
%%AppData = @REGREAD(CURUSER,Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders,AppData)
REM All Users Folders - NT/W2K/XP
%%All_Startup = @REGREAD(LOCAL,SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders,Common Startup)
%%All_AppData = @REGREAD(LOCAL,SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders,Common AppData)
%%All_Desktop = @REGREAD(LOCAL,SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders,Common Desktop)
%%All_Documents = @REGREAD(LOCAL,SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders,Common Documents)
%%All_Favorites = @REGREAD(LOCAL,SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders,Common Favorites)
%%All_Startmenu = @REGREAD(LOCAL,SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders,Common Start Menu)
%%All_ProgFolder = @REGREAD(LOCAL,SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders,Common Programs)
EXIT
|
BTW. As for zip components, Info-Zip is certainly an option for creating plain zip files or sfx files, as well. Info-Zip is very advanced
and reliable. The sfx files created do no support running one of the embedded files after extraction, but that is no problem
when you have control over the rest of the process, i.e.:
Code: | RUNH SFXFILE.exe -d %%MyTempDir,WAIT
RUN %%MyTempDir\SETUP.exe,WAIT
if @file(%%MyTempDir,D)
FILE DELETE, %%MyTempDir\*.*
DIRECTORY DELETE, %%MyTempDir
end
|
etc.
If course, it would also be possible to use a plain zip file and then one of the VDS extension DLLs that can do unzipping (mtzip.dll &
Tommy's vdsunzip.dll) to unpack the files.
Greetz
Dread _________________ ~~ Alcohol and calculus don't mix... Don't drink and derive! ~~
String.DLL * advanced string processing |
|
Back to top |
|
 |
Rubes_sw Valued Contributor


Joined: 11 Jun 2001 Posts: 625 Location: Northern Ireland
|
Posted: Fri Sep 13, 2002 12:31 am Post subject: Just a thought |
|
|
Could you use tommys, vdsbin.dll to pack all the files into a single resource file then, build an exe to extract the files to their destination ?
You could have say:
Setup.exe - Main exe for unpacking & installing
setup.res - binary packed file, containing - all the files, resources, destinations paths etc etc.
Just a thought
I could be way off , but i just wanted to join in
Rubes_sw |
|
Back to top |
|
 |
Dr. Dread Professional Member


Joined: 03 Aug 2001 Posts: 1065 Location: Copenhagen, Denmark
|
Posted: Fri Sep 13, 2002 1:11 am Post subject: |
|
|
Of course, that's possible. The only thing is that files will not be compressed so your res files will be unnecessary bulky.
Greetz
Dread _________________ ~~ Alcohol and calculus don't mix... Don't drink and derive! ~~
String.DLL * advanced string processing |
|
Back to top |
|
 |
|
|
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 vote in polls in this forum You can attach files in this forum You can download files in this forum
|
|