wxWidgets installation wizard

Do you like to promote your wxWidgets based application or component!? Post it here and let's see what the critics have to say. Also, if you found that ONE wx component the world needs to know about, put it here for future reference.
upCASE
Site Admin
Site Admin
Posts: 3176
Joined: Mon Aug 30, 2004 6:55 am
Location: Germany, Cologne

wxWidgets installation wizard

Post by upCASE » Mon Oct 24, 2005 4:55 pm

Hi guys!
A promised I uploaded the first preview version of the wxWidgets installer I worked on.
It will allow you to install and compile wxWidgets 2.6.2 using the specific settings you make.

It should work with VC7 and gcc, if both were installed correctly (registry and environment variables). I think there will be situations on which it may fail, but the installation would still be as normal.

I integrated an option to register the h2help files I uploaded earlier.

I hope it works.

Here's the promised link: http://www.upcase.de/stuff/wxWidgets_setup.exe
OS: OpenSuSE, Ubuntu, Win XP Pro
wx: svn
Compiler: gcc 4.5.1, VC 2008, eVC 4

"If it was hard to write it should be hard to read..." - the unknown coder
"Try not! Do. Or do not. There is no try." - Yoda

priyank_bolia
wxWorld Domination!
wxWorld Domination!
Posts: 1339
Joined: Wed Aug 03, 2005 8:10 am
Location: BANGALORE, INDIA
Contact:

Post by priyank_bolia » Tue Oct 25, 2005 6:07 am

I just tested it up, and it looks nice, just few things to say:
1.) are you registering the env. variables or not?
2.)there are still many obj files, pch files left out, are you planning to clean them in future release.
3.)The setup takes some time, can you break the compilation into different phases, so that it will be more interactive, the final time taken may be long, but for kids interactivity matters.
these are only suggestion, it depends on you. But great work.

upCASE
Site Admin
Site Admin
Posts: 3176
Joined: Mon Aug 30, 2004 6:55 am
Location: Germany, Cologne

Post by upCASE » Tue Oct 25, 2005 6:53 am

priyank_bolia wrote: 1.) are you registering the env. variables or not?
The installer shoud add an entry for $(WXWIN). Apart from that, no other environment variables get registered.
priyank_bolia wrote:2.)there are still many obj files, pch files left out, are you planning to clean them in future release.
True. Currently I only delete the object files for the lib itself. But I can/will add support for deleting all temporary objects if the user wants that.
priyank_bolia wrote:3.)The setup takes some time, can you break the compilation into different phases, so that it will be more interactive, the final time taken may be long, but for kids interactivity matters.
I could do that, but I see no need. Compilation is a lengthy process, wether the installer does it, or the user himself.
For the interactivity I added the capturing of the compiler output and the progressbar, so that one can indicate that the process is still running. Adding new pages won't be a good choice. Maybe I can add some fancy animation.

What kind of interactivity where you thinking of?
I thought of the installer as an easy way for newbies to get the compiilation done and for advanced users to easily create a stripped down lib.
priyank_bolia wrote:these are only suggestion, it depends on you. But great work.
Thanks!
Glad it worked. :D
OS: OpenSuSE, Ubuntu, Win XP Pro
wx: svn
Compiler: gcc 4.5.1, VC 2008, eVC 4

"If it was hard to write it should be hard to read..." - the unknown coder
"Try not! Do. Or do not. There is no try." - Yoda

francesco
Knows some wx things
Knows some wx things
Posts: 29
Joined: Tue Mar 08, 2005 2:51 pm
Location: Upper Austria
Contact:

Re: wxWidgets installation wizard

Post by francesco » Tue Oct 25, 2005 7:30 am

Hello upCASE,

great thank you! :)

I'm from the wxPython corner and find it very useful and convenient!

One little drawback: The window cannot be minimized or moved
during the compilation process.
It is always on the foreground.

BTW: If "we" (wxPython Community) would have such a tool
(to create a windows version), the attractivity
of wxPython and wxWidgets also would grow immensly, I suppose.

Is it imaginable, to have a debug and a release version installed side
by side and switch quickly, what version is currently used?

francesco
Knows some wx things
Knows some wx things
Posts: 29
Joined: Tue Mar 08, 2005 2:51 pm
Location: Upper Austria
Contact:

Re: wxWidgets installation wizard

Post by francesco » Tue Oct 25, 2005 8:02 am

I had an error:


Messagebox:
"""
H2Reg.exe

** Error **
Ms Help 2.x runtime files are not installed on this PC.

Installation/registration of Help files cannot proceed.
"""

upCASE
Site Admin
Site Admin
Posts: 3176
Joined: Mon Aug 30, 2004 6:55 am
Location: Germany, Cologne

Re: wxWidgets installation wizard

Post by upCASE » Tue Oct 25, 2005 8:19 am

francesco wrote:One little drawback: The window cannot be minimized or moved during the compilation process. It is always on the foreground.
Right. I find this very inconvenient myself, but I had no time to investigate this issue further. There also is an issue that users can't cancel the compilation before it gets started. I'll do my very best to fix this.
francesco wrote: BTW: If "we" (wxPython Community) would have such a tool
(to create a windows version), the attractivity
of wxPython and wxWidgets also would grow immensly, I suppose.
I don't no much about Python, but I could investigate the use of such an installer with wxPython.
francesco wrote:Is it imaginable, to have a debug and a release version installed side
by side and switch quickly, what version is currently used?
Yes.
In fact the installer can do that when selecting to compiler release and debug libraries. You'll only have to link with the right libraries. In the final version I hope to have some VS wizard and templates for Dev-C++ and Code:Blocks that would allow quick project setup. To skip from release to debug build, you'd simply have to change the project options.

After all, the installer works, but is in an early stage. I'm looking forward to implement some other things and features and maybe other compilers. But this may take some time, as figuring out on what system we are and what is installed is not that easy. Covering all possibilities is a very time taking process, too.
OS: OpenSuSE, Ubuntu, Win XP Pro
wx: svn
Compiler: gcc 4.5.1, VC 2008, eVC 4

"If it was hard to write it should be hard to read..." - the unknown coder
"Try not! Do. Or do not. There is no try." - Yoda

upCASE
Site Admin
Site Admin
Posts: 3176
Joined: Mon Aug 30, 2004 6:55 am
Location: Germany, Cologne

Post by upCASE » Tue Oct 25, 2005 8:20 am

About the error:
Do you have VS 7 installed? I'm not really sure, but I suppose it should work then. Otherwise there may be an update for these runtime libs you'd need.

From the h2reg homepage:
MS Help 2.x runtime files must be installed before you can view MS Help 2 collections. A runtime standalone installer, like hhupd.exe for HTML Help 1.x, will not be made available (please see Jan 2003 MS Announcement). Currently the only way to get the H2 runtime files onto a PC is to install one of the following Microsoft applications:

* Visual Studio .NET
* MSDN Library (must be new H2 based one)
* Tech Net (must be new H2 based one)
* .NET Framework SDK
* Microsoft Office XP Developer

Peter Plamondon (MS) has just kindly reminded me that the .NET Framework SDK is the only free way to distribute the MS Help 2 runtime at this stage. 1.0 SDK is a huge download at 113MB, but it can also be ordered on CD-ROM.
OS: OpenSuSE, Ubuntu, Win XP Pro
wx: svn
Compiler: gcc 4.5.1, VC 2008, eVC 4

"If it was hard to write it should be hard to read..." - the unknown coder
"Try not! Do. Or do not. There is no try." - Yoda

francesco
Knows some wx things
Knows some wx things
Posts: 29
Joined: Tue Mar 08, 2005 2:51 pm
Location: Upper Austria
Contact:

Post by francesco » Tue Oct 25, 2005 8:29 am

upCASE wrote:About the error:
Do you have VS 7 installed? I'm not really sure, but I suppose it should work then. Otherwise there may be an update for these runtime libs you'd need.
No, I compiled with MingW

MS Help 2.x runtime files must be installed before you can view MS Help 2 collections. A runtime standalone installer, like hhupd.exe for HTML Help 1.x, will not be made available (please see Jan 2003 MS Announcement). Currently the only way to get the H2 runtime files onto a PC is to install one of the following Microsoft applications:

* Visual Studio .NET
* MSDN Library (must be new H2 based one)
* Tech Net (must be new H2 based one)
* .NET Framework SDK
* Microsoft Office XP Developer
Thank you for your info.
I only have MS VC++ 6.0, but as I said, I wanted to use Mingw anyway.
(also, at home, I have no VC++).

francesco
Knows some wx things
Knows some wx things
Posts: 29
Joined: Tue Mar 08, 2005 2:51 pm
Location: Upper Austria
Contact:

Re: wxWidgets installation wizard

Post by francesco » Tue Oct 25, 2005 8:36 am

upCASE wrote:
francesco wrote:One little drawback: The window cannot be minimized or moved during the compilation process. It is always on the foreground.
Right. I find this very inconvenient myself, but I had no time to investigate this issue further. There also is an issue that users can't cancel the compilation before it gets started. I'll do my very best to fix this.
Thanks, anyway not so a problem, but If it makes no big trouble,
this will be nice to have. :wink:
francesco wrote: BTW: If "we" (wxPython Community) would have such a tool
(to create a windows version), the attractivity
of wxPython and wxWidgets also would grow immensly, I suppose.
I don't no much about Python, but I could investigate the use of such an installer with wxPython.
I think, it will be to much work and I meant only the idea would be nice.
(to make patches in wxPython). But I think, best, to let it to
the wxPython community (Robin Dunn, Kevin Ollivier, ...) :)
It can be compiled with VC, but I want to build open source software
with open source software only :)
francesco wrote:Is it imaginable, to have a debug and a release version installed side
by side and switch quickly, what version is currently used?
Yes.
In fact the installer can do that when selecting to compiler release and debug libraries. You'll only have to link with the right libraries. In the final version I hope to have some VS wizard and templates for Dev-C++ and Code:Blocks that would allow quick project setup. To skip from release to debug build, you'd simply have to change the project options.

After all, the installer works, but is in an early stage. I'm looking forward to implement some other things and features and maybe other compilers. But this may take some time, as figuring out on what system we are and what is installed is not that easy. Covering all possibilities is a very time taking process, too.
Thank you again for this great tool.

upCASE
Site Admin
Site Admin
Posts: 3176
Joined: Mon Aug 30, 2004 6:55 am
Location: Germany, Cologne

Post by upCASE » Tue Oct 25, 2005 8:37 am

I think I'll have to move the registering of the help files from the finish panel to somewhere else or check if I can disable this option completely if the runtime libs are not present.

Anyway: Thanks for pointing that out!
OS: OpenSuSE, Ubuntu, Win XP Pro
wx: svn
Compiler: gcc 4.5.1, VC 2008, eVC 4

"If it was hard to write it should be hard to read..." - the unknown coder
"Try not! Do. Or do not. There is no try." - Yoda

User avatar
ABX
Can't get richer than this
Can't get richer than this
Posts: 810
Joined: Mon Sep 06, 2004 1:43 pm
Location: Poznan, Poland
Contact:

Re: wxWidgets installation wizard

Post by ABX » Tue Oct 25, 2005 8:42 am

upCASE wrote:I hope to have some VS wizard and templates for Dev-C++ and Code:Blocks that would allow quick project setup.
I'm not sure if that's related but FYI code::blocks most probably will be the next format added to bakefiles so it will have native project files prepared for building wxW from within C::B

ABX
CVS Head, 2.8.X
wxMSW, wxWinCE, wxPalmOS, wxOS2, wxMGL, bakefile
gcc 3.2.3, bcc 5.51, dmc 8.48, ow 1.6, vc 7.1, evc 3/4, pods 1.2

upCASE
Site Admin
Site Admin
Posts: 3176
Joined: Mon Aug 30, 2004 6:55 am
Location: Germany, Cologne

Post by upCASE » Fri Oct 28, 2005 7:41 am

Hi!
To whom it may concern: I updated the installer!

As the forum was down, I spend some time fiddeling with the installer again. It now should delete all temporary object files if you selected the option.
H2Help can now only be installed if the runtime libs where found on your system.

There was an error in the setup.h file creation. This has been fixed as well. The file should now be created correctly and the build steps should work as expected. The installer creates a backup file of the original setup.h and another having the settings you made during the last build session. If you want to create a build again, create a debug build while you only created a release build before, or create the samples/contrib/contrib samples using this installer and do that in the same dir where you installed before, just select the install dir where wxWidgets was build before, change the build options and let it compile. The sources won't be overwritten and only the building will take place. Note that if you change the setup.h settings for the second build step while the objects files are still there, the core libs won't be rebuild. In that case you'd have to do a clean installation.

The UI changed a bit, too. There still is a problem with not being able to moved or restore the installer window. This is because I can't capture the output through the installer directly, but have to use a DLL for that, which blocks the GUI once the compilation is running. I'm not sure if I'm able to fix this. I consider this a minor (yet inconvenient) issue.

I could try to add support for Watcom, Borland and DigitalMars compilers as well. Would there be any insterest in that?
OS: OpenSuSE, Ubuntu, Win XP Pro
wx: svn
Compiler: gcc 4.5.1, VC 2008, eVC 4

"If it was hard to write it should be hard to read..." - the unknown coder
"Try not! Do. Or do not. There is no try." - Yoda

Jorg
Moderator
Moderator
Posts: 3971
Joined: Fri Aug 27, 2004 9:38 pm
Location: Delft, Netherlands
Contact:

Post by Jorg » Wed Nov 02, 2005 11:56 am

Hi UpCase,

I wanted to post some feedback on the installer. I use it for my app and it works great! However, I don't want the install part. Meaning, I do not want the uninstaller to be there, nor do I want to see it in my "Add / Remove Programs". I know INNOSETUP has that feature, and considering that wxWidgets does not require anything to be installed in dirs that can pollute like Windows/system etc, maybe the uninstall part can be kept optional.

Now that I am writing this, I wonder how it would be possible to keep certain tailored wxWidgets builds (with your setup) seperated. As they all want to set the flag WXWIN, there is not much we can do to discriminate between builds can we?

I use CMake, and with that I can enter the wx path, it will ignore the WXWIN var if needed. Then I can compile my app and really tailor a release version where no code is there that is redundant or not needed.

Any ideas how to solve this? So main problem is, at debug time I do not care about what is added and what is not.

At release time I want a slim compiled wxWidgets version with your setup. Maybe the best is to compile wxWidgets inside the project dir, only keep the *.lib and *.h files and use that for my final builds.

Regards,
- Jorgen
Forensic Software Engineer
Netherlands Forensic Insitute
http://english.forensischinstituut.nl/
-------------------------------------
Jorg's WasteBucket
http://www.xs4all.nl/~jorgb/wb

upCASE
Site Admin
Site Admin
Posts: 3176
Joined: Mon Aug 30, 2004 6:55 am
Location: Germany, Cologne

Post by upCASE » Wed Nov 02, 2005 12:13 pm

Jorg wrote: I wanted to post some feedback on the installer. I use it for my app and it works great! However, I don't want the install part. Meaning, I do not want the uninstaller to be there, nor do I want to see it in my "Add / Remove Programs". I know INNOSETUP has that feature, and considering that wxWidgets does not require anything to be installed in dirs that can pollute like Windows/system etc, maybe the uninstall part can be kept optional.
Correct for the sources. But the installer would perform an uninstallation of the help file intergration. That's why I kept it. But you're right, I could disable that feature.
Jorg wrote: Now that I am writing this, I wonder how it would be possible to keep certain tailored wxWidgets builds (with your setup) seperated. As they all want to set the flag WXWIN, there is not much we can do to discriminate between builds can we?
I thought about that, too. The solution I found is that the user should be able to create his own evironment variable. I could add another page for that. The default would still be WXWIN, but you can alter it. Then there should be a check wether this variable allready exists and ask if you want to overwrite it. I kept the WXWIN default for simplicitys sake, but having other options would indeed be fine.

One problem I see with that is the project wizard. Currently it relies on WXWIN, I would have to alter that after the installation.

I'll see what and when I can do something about this.
Anyway: Thanks for the testing!
Last edited by upCASE on Wed Nov 02, 2005 12:14 pm, edited 1 time in total.
OS: OpenSuSE, Ubuntu, Win XP Pro
wx: svn
Compiler: gcc 4.5.1, VC 2008, eVC 4

"If it was hard to write it should be hard to read..." - the unknown coder
"Try not! Do. Or do not. There is no try." - Yoda

upCASE
Site Admin
Site Admin
Posts: 3176
Joined: Mon Aug 30, 2004 6:55 am
Location: Germany, Cologne

Post by upCASE » Tue Nov 08, 2005 7:58 am

Hi!
Due to a time shortage I didn't implement the new stuff as I planned. Anyway, I updated my site and you may find some screenshots of the installer here http://www.upcase.de/wxinstaller.html
OS: OpenSuSE, Ubuntu, Win XP Pro
wx: svn
Compiler: gcc 4.5.1, VC 2008, eVC 4

"If it was hard to write it should be hard to read..." - the unknown coder
"Try not! Do. Or do not. There is no try." - Yoda

Post Reply