Bytessence Install Maker 5.40 - (09Jan2013) - new release

Applications, Games, Tools, User libs and useful stuff coded in PureBasic
Inf0Byt3
PureBasic Fanatic
PureBasic Fanatic
Posts: 2236
Joined: Fri Dec 09, 2005 12:15 pm
Location: Elbonia

Post by Inf0Byt3 »

In the past the program had path variables to achieve that but I removed them on the way, thinking that nobody would need them. Unfortunately hardcoding is not a good idea... You could try this:

Code: Select all

<RootPartition>\Documents and Settings\All Users\Start Menu\Programs
This should work, but note that on Vista / Win7 that directory has other names (<RootPartition>\Users\...). You'll most probably have to split the task you need to do in a task for each OS, as BIM allows you to execute specific tasks on specific OSs. If you need further help PM me :D.
None are more hopelessly enslaved than those who falsely believe they are free. (Goethe)
User avatar
Randy
User
User
Posts: 29
Joined: Sat Sep 30, 2006 11:36 pm
Location: Atlanta, Georgia

Post by Randy »

In the past the program had path variables to achieve that but I removed them on the way, thinking that nobody would need them.
Well, put them back!!! :D

I'll try this and let you know. I said I'd have this done last weekend and I forgot about it until yesterday.

Thanks, let me put this package together so I can try to keep groceries on the table.

Randy
Maybe it's just a bunch of stuff that happens -- Homer Simpson
Inf0Byt3
PureBasic Fanatic
PureBasic Fanatic
Posts: 2236
Joined: Fri Dec 09, 2005 12:15 pm
Location: Elbonia

Re: Bytessence InstallMaker 4.30 - (05Nov09)

Post by Inf0Byt3 »

A new version of BIM is now ready :D.

Changes in version 4.30:
- Minor interface changes
- Added a new graphics set
- Added Bulgarian, Czech and Turkish translations in the package
- Added 'Copy file' task for both installer and uninstaller
- Added 'Delete folder' task to uninstaller
- Added window class checking for closing active programs (to avoid false positives)
- Added 'Recent projects' menu
- Added option for saving window coordinates in the configuration dialog
- Added 8 new path variables (mostly for all-user paths)
- Added 'Tools' button on toolbar
- Added RTF Text Editor tool (for editing license / readme files)
- Added Hash Calculator tool (for generating hashes over installers)
- Added Window List tool (for getting window class names)
- Added expansion of OS environment variables (e.g. %PROGRAMFILES%)
- Added possibility to customize the Start menu group, uninstall shortcut and web link name
- Made some modifications to the Start Menu group page on the installer side
- The configuration file is now stored in the user's Application Data directory
- Made other minor fixes and optimizations
Download
http://bytessence.com/bim.html (scroll down for the download link)

Let me know if you spot anything.
None are more hopelessly enslaved than those who falsely believe they are free. (Goethe)
User avatar
Rook Zimbabwe
Addict
Addict
Posts: 4322
Joined: Tue Jan 02, 2007 8:16 pm
Location: Cypress TX
Contact:

Re: Bytessence InstallMaker 4.30 - (05Nov09)

Post by Rook Zimbabwe »

EXCELLENT!!! 4.2 has worked flwlessly building my installer files for Blue Mesa Restaurant POS. With the release of v6.0 I will build with the new installer!!! 8)

I was thinking you could keep this free for PB but try to sell it too... plenty of people that code in lesser languages that we should make a few pesos off of! :mrgreen:
Binarily speaking... it takes 10 to Tango!!!

Image
http://www.bluemesapc.com/
Inf0Byt3
PureBasic Fanatic
PureBasic Fanatic
Posts: 2236
Joined: Fri Dec 09, 2005 12:15 pm
Location: Elbonia

Re: Bytessence InstallMaker 4.30 - (05Nov09)

Post by Inf0Byt3 »

Rook Zimbabwe wrote:EXCELLENT!!! 4.2 has worked flwlessly building my installer files for Blue Mesa Restaurant POS. With the release of v6.0 I will build with the new installer!!! 8)
I am glad there are no problems so far. Keeping my fingers crossed for when you test the new version :).
Rook Zimbabwe wrote:I was thinking you could keep this free for PB but try to sell it too... plenty of people that code in lesser languages that we should make a few pesos off of! :mrgreen:
Well it all started free and will probably stay free for as long as I can hold the website online. This way when nobody will need it anymore it will die by itself :).
None are more hopelessly enslaved than those who falsely believe they are free. (Goethe)
User avatar
Rook Zimbabwe
Addict
Addict
Posts: 4322
Joined: Tue Jan 02, 2007 8:16 pm
Location: Cypress TX
Contact:

Re: Bytessence InstallMaker 4.30 - (05Nov09)

Post by Rook Zimbabwe »

Inf0byte... I forget if this is possible with all the changes...

Can we insert a value in a registry key duing install? If so I caould simple manage number of times my program is run so poeple would pay me some moola for it!

:D
Binarily speaking... it takes 10 to Tango!!!

Image
http://www.bluemesapc.com/
Inf0Byt3
PureBasic Fanatic
PureBasic Fanatic
Posts: 2236
Joined: Fri Dec 09, 2005 12:15 pm
Location: Elbonia

Re: Bytessence InstallMaker 4.30 - (05Nov09)

Post by Inf0Byt3 »

Yes it can be done. To add a value in the registry go to Installer -> Advanced tasks, type a name for the task and select 'Add registry value' from the task type box. Then press 'Add' and fill the fields in the dialog that appears (you can use the following picture as an example). For more details have a look in the help file, it explains all the fields.

Image

Note that the key you create the value in should already exist. If it does not create it with an 'Add registry key' task before creating the value.
None are more hopelessly enslaved than those who falsely believe they are free. (Goethe)
yrreti
Enthusiast
Enthusiast
Posts: 546
Joined: Tue Oct 31, 2006 4:34 am

Re: Bytessence InstallMaker 4.30 - (05Nov09)

Post by yrreti »

Inf0Byt3, you have written one beautiful program, which is well worth donating for! :!: :!: :!:
And it really does a great job! :!: :!: :!: (again three exclamation marks)
In using this fantastic program though, I noticed that there is one minor thing that I would
suggest could be added or changed in order to help new users. On your main window where
you select General, Installer, and Uninstaller, with their sub items. It would be nice to display
above your changed window just where you are. For example, if you selected:
Installer and Advanced Tasks
It would display: Installer -- Advanced Tasks
Just above the Task name Task type Execute on ( title bar )
That way they would know exactly where they are or what they selected, because there
is nothing remaining highlighted to show what you selected.
Just a suggestion, but what a beautiful program you have written.

Edit: I just tried to Donate through FireFox 3.6.2, and it always gives me a Fatal Failure message.
Anybody else having the same problem?
Inf0Byt3
PureBasic Fanatic
PureBasic Fanatic
Posts: 2236
Joined: Fri Dec 09, 2005 12:15 pm
Location: Elbonia

Re: Bytessence InstallMaker 4.30 - (05Nov09)

Post by Inf0Byt3 »

Thank you very much for the kind words, I am very glad that BIM suits your needs :). I will keep in mind your suggestion for the next version. Regarding the donation button, I have no idea why it behaves like that. Searching on the internet for a solution didn't help too much, but you should be able to use the address directly (donate [at] bytessence.com).
None are more hopelessly enslaved than those who falsely believe they are free. (Goethe)
yrreti
Enthusiast
Enthusiast
Posts: 546
Joined: Tue Oct 31, 2006 4:34 am

Re: Bytessence InstallMaker 4.30 - (05Nov09)

Post by yrreti »

Hi Inf0Byt3,
I think I just found a bug. When you add something under Advanced tasks under the Uninstaller section, it isn't saved.
The Installer - Advanced tasks - Task name list, always displays everything you added.
You can create the installer file after adding the task, and it works. But your program doesn't save what you added
for future use.

EDIT: Just checked and found that it is written to the saved .bim file, but when you open up the project file
to use again, it doesn't display the task name you just saved under the Uninstaller - Advanced tasks - Task name list.
So you never know what you've added or removed unless you look at the .bim file directly. That could possibly cause
some unplanned uninstall issues if you didn't check it, depending on what you may have added to the task.


Also I like to keep my install maker projects in the programs directory under a subdirectory I named Projects.
That way it's all together in one place, and I don't have to go looking for it. Is it possible to add something
like this in your code so that when I use File - Open Project, it goes right to that directory?

Code: Select all

;*****************  gets current program path  **********************
pp$=Space(#MAX_PATH)
GetCurrentDirectory_(#MAX_PATH,@pp$)
pp$+"\"
The code above gets the location of where you installed your program, and would be handy to use with something
like this:

Code: Select all

projects_dir$=pp$+"Projects\"
Now you have the location path of where to open to, when you use File Open Project etc.
Else maybe something could be saved in the programs ini file?

Thank you for your help
Inf0Byt3
PureBasic Fanatic
PureBasic Fanatic
Posts: 2236
Joined: Fri Dec 09, 2005 12:15 pm
Location: Elbonia

Re: Bytessence InstallMaker 4.30 - (05Nov09)

Post by Inf0Byt3 »

Thank you for letting me know about that bug. I'll try to release a new version with a fix as soon as possible (hopefully next week). I'll also try to implement the project subdirectory idea.
None are more hopelessly enslaved than those who falsely believe they are free. (Goethe)
User avatar
ts-soft
Always Here
Always Here
Posts: 5756
Joined: Thu Jun 24, 2004 2:44 pm
Location: Berlin - Germany

Re: Bytessence InstallMaker 4.30 - (05Nov09)

Post by ts-soft »

yrreti wrote:

Code: Select all

;*****************  gets current program path  **********************
pp$=Space(#MAX_PATH)
GetCurrentDirectory_(#MAX_PATH,@pp$)
pp$+"\"
GetCurrentDirectory() is available in PB, no API required.
CurrentDirectory is the Directory, set by the Parent Process or nirwana and not allways the directory of executable!
This is a mistake of most users.

Greetings
Thomas
yrreti
Enthusiast
Enthusiast
Posts: 546
Joined: Tue Oct 31, 2006 4:34 am

Re: Bytessence InstallMaker 4.30 - (05Nov09)

Post by yrreti »

Thanks Inf0Byt3,
I really appreciate your looking into it, because I really like your program.

Hi ts-soft,
Yes I noticed that GetCurrentDirectory() is now available in PB.
I'm just so use to using the old way I guess, that that's the code I pasted above.
As to the problem you mentioned. I always have it near the start of my code
before any path changes might be made. That way I've never had a problem
(so far) as to pinning down the directory of executable. When your running it
from the PB IDE though, you do have to tell the program the run directory
if it's different from your source directory, because that is where it is usually
run from. (If set there in your IDE preferences that is, as I have it)
I posted a tip in the Tricks & Tips section on how I usually do it.
http://www.purebasic.fr/english/viewtop ... 12&t=42562
But you may be right. You certainly have a lot more experience with PB and
programming then I do.
Thanks for your input.
harkon
Enthusiast
Enthusiast
Posts: 217
Joined: Wed Nov 23, 2005 5:48 pm

Re: Bytessence InstallMaker 4.30 - (05Nov09)

Post by harkon »

Code: Select all

AppPath$=GetPathPart(ProgramFilename())
AFAIK, this is pretty bulletproof.
I use this to replace the VB App.Path function
Missed it by that much!!
HK
yrreti
Enthusiast
Enthusiast
Posts: 546
Joined: Tue Oct 31, 2006 4:34 am

Re: Bytessence InstallMaker 4.30 - (05Nov09)

Post by yrreti »

Thanks Harkon,
It's interesting. I tried all three methods and got this result:

Code: Select all

;*****************  gets current program path  **********************
;Actual path is D:\PTM_STUFF
pp$=Space(#MAX_PATH)
GetCurrentDirectory_(#MAX_PATH,@pp$)
Debug pp$  ;D:\PTM_STUFF   (no \ at end)

pp$=GetCurrentDirectory()
Debug pp$  ;D:\PTM_STUFF\  (with \ at end)

pp$=GetPathPart(ProgramFilename())
Debug pp$  ;D:\PTM_STUFF\  (with \ at end)
I think I like your approach best, as it targets directly the programs name.
It's amazing how PB is improving over the years. Sometimes it is hard to catch
up with some of the nice changes. I think I'm going to be busy changing the method
I have been using in several programs that I have written.

Thanks for the nice tip.
Post Reply