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

Applications, Games, Tools, User libs and useful stuff coded in PureBasic
Little John
Addict
Addict
Posts: 4777
Joined: Thu Jun 07, 2007 3:25 pm
Location: Berlin, Germany

Re: Bytessence InstallMaker 5.31 - (31Dec2011) - bugfix rele

Post by Little John »

Hello Alex,

now I've got a question regarding the uninstaller. :-)

I have installed version 1.00 of my program. In the list of programs that are installed on the computer, it looks lk this:

Image

In the installer that I'm creating for the next version 1.01, I want the user to be prompted to uninstall version 1.00 before installing the new version. So I added the following entry to the setup for version 1.01:

Image

However, running the created installer for version 1.01 does not prompt me to uninstall the existing version 1.00 (Windows XP Pro SP3 x86).

Am I doing something wrong? Thanks for any help.

Best regards, Juergen
Inf0Byt3
PureBasic Fanatic
PureBasic Fanatic
Posts: 2236
Joined: Fri Dec 09, 2005 12:15 pm
Location: Elbonia

Re: Bytessence InstallMaker 5.31 - (31Dec2011) - bugfix rele

Post by Inf0Byt3 »

Hi Juergen,

I think I know why this happens. Judging by the screenies you posted, it seems that you used "<ProgramName> <ProgramVersion>" in the "Entry name" field on the "Uninstaller -> Settings" page. This means that the installer will create a "FlexLink 1.xx" entry in the Add/Remove programs registry area. When you added the program entry to the detection list in BIM, you only entered the name of the program, "FlexLink" while in the registry the entry looks like this: "FlexLink 1.00".

To make this work, try to add "FlexLink 1.00" in the "DisplayName" field and "1.00" in the "DisplayVersion" field - without quotes.
None are more hopelessly enslaved than those who falsely believe they are free. (Goethe)
Little John
Addict
Addict
Posts: 4777
Joined: Thu Jun 07, 2007 3:25 pm
Location: Berlin, Germany

Re: Bytessence InstallMaker 5.31 - (31Dec2011) - bugfix rele

Post by Little John »

Perfect, that solved the problem.
Thank you!

Best regards, Juergen
IdeasVacuum
Always Here
Always Here
Posts: 6426
Joined: Fri Oct 23, 2009 2:33 am
Location: Wales, UK
Contact:

Re: Bytessence InstallMaker 5.31 - (31Dec2011) - bugfix rele

Post by IdeasVacuum »

Hi Inf0Byt3

Just downloaded Bytessence InstallMaker 5.31 to give it a try. I like the interface, well laid out and easy to use.

I noticed something odd when installing InstallMaker, and the same again within it - there is some garbled text in the list of languages:

Image

Edit: Also I notice that Simplified Chinese is listed for Taiwan? I was under the impression that Taiwan mostly uses Traditional Chinese characters whereas it is China that uses Simplified characters.
IdeasVacuum
If it sounds simple, you have not grasped the complexity.
StanDan
User
User
Posts: 57
Joined: Sun Feb 26, 2006 3:43 am
Location: Missouri, United States

Re: Bytessence InstallMaker 5.31 - (31Dec2011) - bugfix rele

Post by StanDan »

Hi Everyone!

How do I add a scheduled task from an installer? I (mistakenly) posted the full question in Coding Questions and was kindly directed here. Basically, how do I add a scheduled task from an installer? It seems almost an impossible task, I've looked at Win32 API and it's a terrible mess to add a task manually and do it cross-windows versions. It looks like schtasks is the best way, but no matter what I do it refuses to add the task when run from the installer.
IdeasVacuum
Always Here
Always Here
Posts: 6426
Joined: Fri Oct 23, 2009 2:33 am
Location: Wales, UK
Contact:

Re: Bytessence InstallMaker 5.31 - (31Dec2011) - bugfix rele

Post by IdeasVacuum »

....just thought of something StanDan - is it the case that the Windows User needs to be an Admin User? I think that may be a requirement because Windows does not 'know' that an exe/.bat file run by the installer is safe. It could be a chicken and egg situation, most apps that require a schedule do so from their interface, i.e. the User has do manage it. Not saying that what you want to do is impossible, just that it is tricky.

Edit: Have you tried this:

1) Installer saves .bat file to hard drive (I suggest this is saved in your app's Program Files folder)
2) Installer runs cmd.exe with the .bat filename as it's argument

Edit2:
1) Installer runs Schtasks.exe with arguments. In Bytessence that's an installer advanced task type 'run program'.

"%SYSTEMROOT%\system32\schtasks.exe" "/create /tn "Citation" /tr "C:\Program Files\Citation\Citation.exe" /sc onidle /5"
IdeasVacuum
If it sounds simple, you have not grasped the complexity.
StanDan
User
User
Posts: 57
Joined: Sun Feb 26, 2006 3:43 am
Location: Missouri, United States

Re: Bytessence InstallMaker 5.31 - (31Dec2011) - bugfix rele

Post by StanDan »

IdeasVacuum: Yes! This was the way to get it done.

For anyone who's trying to do this in the future here's how:

1. Add an advanced task to the installer of type "Run Program"
2. Path to the program to open: <system>\schtasks.exe
3. Command line parameters: /create /tn "TaskName" /tr "\"<Component>\main.exe\"" /sc MINUTE /mo 1

(I used "/sc MINUTE /mo 1" just to test that the task was working, you use IdeasVacuum's parameters to make it run when idle.)

The other thing that threw me for a loop was the fact that you must quote the backslashes around the program name if you're installing into Program Files, otherwise the task gets added with a /tr of "C:\program". Then you must select "Shell execute the selected file" or it won't have the right permissions. For the uninstaller you do the same thing remove the task first, click "wait for program to finish" and use command line parameters of "/Delete /tn "TaskName" /f".

Anyway, thanks everyone for all the help. :)
kot2007
New User
New User
Posts: 1
Joined: Mon Aug 13, 2012 12:13 pm

Re: Bytessence InstallMaker 5.31 - (31Dec2011) - bugfix rele

Post by kot2007 »

Hi. I am stuck with some problems with the building of a complex installer (a tree with several categories/components). For a example, it's about setting up own parametres for the creating program shortcuts. There is an option in [InstallerSettings] to choose the component, but next when I try to change it's settings it is always "one way ticket", because not only that one but all configurations changing to the last set.
How to make for the each component own shortcut? (e.g. Component1.exe have a Shortcut1, Component2 - Shortcut2 etc.)
The same problem with the installation path. When I have different components, I can set if to give a user option to change install path only for the main component. But when I am running the packed installer and try to change install path, it installs to the new path only the main component while the other has their own path. Well, I am realize some logic of that, but thinking that it would be better to have a way to set all components install path by the some global variable "MainComponentInstallPath".
Can someone give an advice for any other way to build installer for such purpose: there is several applications with their own folders plus one folder with the system runtime libraries?
mherzog3
New User
New User
Posts: 1
Joined: Sat Nov 17, 2012 9:38 pm

Re: Bytessence InstallMaker 5.31 - (31Dec2011) - bugfix rele

Post by mherzog3 »

Hi everyone,

I´ve got a problem with BIM 5.31 under Windows 8:

As installation path i set:

Code: Select all

<ProgramFiles>\<ProgramName>\
Under Windows 7 this will be translated (german PC):

Code: Select all

"C:\Program Files\MyProgrammName\"
Under Windows XP this will be translated (german PC):

Code: Select all

"C:\Programme\MyProgrammName\"
This all fine.

Under Windows 8 this target directory is displayed:

Code: Select all

"<ProgramFiles>\MyProgrammName\"
It seems as <ProgramFiles> can not be parsed correctly under Windows 8.
Image
Any idea for me?

Regards
Markus
IdeasVacuum
Always Here
Always Here
Posts: 6426
Joined: Fri Oct 23, 2009 2:33 am
Location: Wales, UK
Contact:

Re: Bytessence InstallMaker 5.31 - (31Dec2011) - bugfix rele

Post by IdeasVacuum »

It's possibly related to Microsoft moving away from the CSIDL list of constants :cry:

For Vista\Windows7, the CSIDL list could still be used, so I was expecting Windows8 to work with it too - but MS have been using a new special folders record, KNOWNFOLDERID: http://msdn.microsoft.com/en-gb/library ... 85%29.aspx
IdeasVacuum
If it sounds simple, you have not grasped the complexity.
Inf0Byt3
PureBasic Fanatic
PureBasic Fanatic
Posts: 2236
Joined: Fri Dec 09, 2005 12:15 pm
Location: Elbonia

Re: Bytessence InstallMaker 5.31 - (31Dec2011) - bugfix rele

Post by Inf0Byt3 »

Hi,

Indeed BIM is currently incompatible with Windows 8. This is related to the way the installers find the system paths. Currently, the module that does this job contains 'rules' for the OS that were available when BIM was written. Windows 8 is not on the list thus the program doesn't know how to obtain the paths.

I am aware of this issue and I've been working on an update for the last month. Many parts of the new version have been rewritten, optimized and made compatible with newer OS. On Vista and newer operating systems the installer will use KnownFolderID instead of CSIDL (there are also some other tweaks under the hood). BIM is being worked on non stop and if everything goes well, the new version should be ready until the end of the next week.
None are more hopelessly enslaved than those who falsely believe they are free. (Goethe)
Inf0Byt3
PureBasic Fanatic
PureBasic Fanatic
Posts: 2236
Joined: Fri Dec 09, 2005 12:15 pm
Location: Elbonia

Re: Bytessence InstallMaker 5.31 - (31Dec2011) - bugfix rele

Post by Inf0Byt3 »

Finally, the new version of BIM has been released. Windows 8 support has been added, as well as improved compatibility with UAC. Other than that, this release focuses on fixing some bugs / memory leaks, improving usability and adding more flexibility to some areas in which the program lacked. One other important thing is that both the installer and uninstaller can launch programs and modify registry for the account of the user that started the installation. This is done by running 2 instances of the (un)installer that communicate with each other via IPC (pretty much the same way other installers achieve this). Let me know if you need more info on this subject.

As a bonus, I made a video tutorial that shows how to create an installer. It can be watched here:

http://bytessence.com/download/binstall ... bimtut.htm

Changes in version 5.40:
-Added Windows 8 / Server 2012 support
-Added .NET 4.5 and IE 10 detection capability
-Added possibility to check for running processes before (un)installation (on all OS)
-Added a 'Send to system tray' button in the compile window
-Added / updated translations: Dutch, French, Italian, Polish, Chinese (simpl., trad.), Spanish, Ukrainian
-Added experimental right-to-left language support (requires Win2k+)
-Added new path variables (more information in the help file)
-Added possibility to define a main installation path (so more components can be installed in the same folder)
-Added possibility to force an installation mode (per machine or per user)
-Added 'recursive' and 'force' options to the folder deletion tasks
-Added an 'Entry name' field in the 'Detect existing installations' dialog for improved detection
-Added more control for customizing the Add / Remove registry entry
-Fixed a number of memory leaks in the main program
-Improved UAC compatibility
-Improved responsiveness when loading projects and adding input folders
-Improved the path variable handler (it now uses KNOWNFOLDERID on Vista and newer OS)
-Improved the code for searching for open mutexes
-The (un)installer can launch programs / modify registry for the user that started Setup even after elevation
-The interface is updated instantly when changing the language (main program)
-The program will ask you to save the current project only if it was modified
-Rewritten compression and decompression plugins and improved the compression ratio
-Projects can now be opened in the current instance (when this mode is active)
-Updated documentation
-Made UI modifications, (un)installers are now DPI-aware
-Made internal code optimizations resulting in a lower memory footprint
-Made other minor bugfixes
If you're already using BIM for your projects, it's recommended to take some time to test the generated installers, as this version contains lots of new code. As always, let me know if you find any problem.

See the first page for the download links.

Have fun using BIM!
None are more hopelessly enslaved than those who falsely believe they are free. (Goethe)
User avatar
skywalk
Addict
Addict
Posts: 4211
Joined: Wed Dec 23, 2009 10:14 pm
Location: Boston, MA

Re: Bytessence Install Maker 5.40 - (09Jan2013) - new releas

Post by skywalk »

Thanks for BIM and the video is great!
The nice thing about standards is there are so many to choose from. ~ Andrew Tanenbaum
User avatar
idle
Always Here
Always Here
Posts: 5836
Joined: Fri Sep 21, 2007 5:52 am
Location: New Zealand

Re: Bytessence Install Maker 5.40 - (09Jan2013) - new releas

Post by idle »

Great to see you still maintaining and making updates to BIM
Windows 11, Manjaro, Raspberry Pi OS
Image
Inf0Byt3
PureBasic Fanatic
PureBasic Fanatic
Posts: 2236
Joined: Fri Dec 09, 2005 12:15 pm
Location: Elbonia

Re: Bytessence Install Maker 5.40 - (09Jan2013) - new releas

Post by Inf0Byt3 »

skywalk wrote:Thanks for BIM and the video is great!
Thanks! The video could have been done a bit better, but I guess it's ok for the first try. Luckily the tutorial creation application was easy enough to use, not to mention free ( Wink ).
idle wrote:Great to see you still maintaining and making updates to BIM
Yep, I haven't forgot about it. Unfortunately I was forced to stop development for some time but updates will be released faster now - at least until I feel the program does its job properly :).
None are more hopelessly enslaved than those who falsely believe they are free. (Goethe)
Post Reply