Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Tutorials
Bazaar
Status & Roadmap
FAQ
Authors & License
Forums
Funding Ultimate++
Search on this site
Search in forums












SourceForge.net Logo
Home » Developing U++ » U++ Developers corner » Considering different approach to Win32 release
Considering different approach to Win32 release [message #45156] Sun, 20 September 2015 19:10 Go to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
Well, current installer is deeply "illegal" - using .exe to install things was OK 10 years ago, but today .msi is required.

Anyway, before doing that, I have got an idea that perhaps we could try something different. What about just creating something like "portable" U++, simple .zip which, when unpacked, would run TheIDE from any folder, autoconfiguring everything in the process.

mingw would probably now be part of release, otherwise autoconfig would try to setup MSC15 build method. Nothing would be written to the registry, to unistall, all you need to do is to delete the folder.

Is it a good idea?

Mirek
Re: Considering different approach to Win32 release [message #45157 is a reply to message #45156] Sun, 20 September 2015 20:31 Go to previous messageGo to next message
dolik.rce is currently offline  dolik.rce
Messages: 1789
Registered: August 2008
Location: Czech Republic
Ultimate Contributor

Hi Mirek,

mirek wrote on Sun, 20 September 2015 19:10
What about just creating something like "portable" U++, simple .zip which, when unpacked, would run TheIDE from any folder, autoconfiguring everything in the process.


Do you mean like this? Very Happy That one actually ran on Linux too, but windows only would be much simpler.

mirek wrote on Sun, 20 September 2015 19:10
Is it a good idea?

Definitely a good idea. I found it quite useful in past, to have a usb thumb drive that could've been used to run TheIDE on any computer. Also, it helps a lot when people are forced to use windows computers without administration rights, e.g. at work or at school Smile

Best regards,
Honza
Re: Considering different approach to Win32 release [message #45158 is a reply to message #45157] Sun, 20 September 2015 21:57 Go to previous messageGo to next message
Didier is currently offline  Didier
Messages: 680
Registered: November 2008
Location: France
Contributor
YES !! portable is the way to go (or at least UPP must have this option).
If you only propose .msi install, this will not work when you don't have administrator wrights which happens more and more in work environnement.
Re: Considering different approach to Win32 release [message #45159 is a reply to message #45158] Sun, 20 September 2015 23:36 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
Ah, maybe I should clarify the question...

Is it OK not to have "installer" version? Smile Would save a lot of time...

Mirek
Re: Considering different approach to Win32 release [message #45160 is a reply to message #45159] Mon, 21 September 2015 07:27 Go to previous messageGo to next message
dolik.rce is currently offline  dolik.rce
Messages: 1789
Registered: August 2008
Location: Czech Republic
Ultimate Contributor

mirek wrote on Sun, 20 September 2015 23:36
Ah, maybe I should clarify the question...

Is it OK not to have "installer" version? Smile Would save a lot of time...

Mirek


IMHO the only "added value" of msi installer is the uninstall function. If the new version keeps all thing in single directory, then uninstall is simply one delete operation. The only problem might be with desktop icons and start menu items - if you plan to have them at all. In that case, we can add simple batch file to install/uninstall those. Or we can just leave that to the user, after all U++'s target audience should be capable of handling few icons Smile

So, yes, I think we can live without the installer.

Honza
icon14.gif  Re: Considering different approach to Win32 release [message #45163 is a reply to message #45156] Mon, 21 September 2015 15:58 Go to previous messageGo to next message
timsky is currently offline  timsky
Messages: 3
Registered: September 2015
Location: Uzbekistan
Junior Member
mirek wrote on Sun, 20 September 2015 17:10
Well, current installer is deeply "illegal" - using .exe to install things was OK 10 years ago, but today .msi is required.

Anyway, before doing that, I have got an idea that perhaps we could try something different. What about just creating something like "portable" U++, simple .zip which, when unpacked, would run TheIDE from any folder, autoconfiguring everything in the process.

mingw would probably now be part of release, otherwise autoconfig would try to setup MSC15 build method. Nothing would be written to the registry, to unistall, all you need to do is to delete the folder.

Is it a good idea?

Mirek


Current installer is great. Portable version would be even better.
U++ is a tool for developer, not for housewife Very Happy
Re: Considering different approach to Win32 release [message #45165 is a reply to message #45163] Mon, 21 September 2015 16:14 Go to previous messageGo to next message
koldo is currently offline  koldo
Messages: 3355
Registered: August 2008
Senior Veteran
Yes, it is a good idea to have a portable system that works without administrator permissions, with mingw inside but at the same time that tries to use existing compilers.

Best regards
IƱaki
Re: Considering different approach to Win32 release [message #45257 is a reply to message #45165] Wed, 21 October 2015 20:30 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
Win32 nightly builds now changed according to this thread (will 'announce' again when download page is fixed accordingly).
Re: Considering different approach to Win32 release [message #45264 is a reply to message #45257] Mon, 26 October 2015 09:51 Go to previous messageGo to next message
Tom1
Messages: 1212
Registered: March 2007
Senior Contributor
Hi Mirek,

I'm having trouble getting started with this new portable version:

First, unpacking the 7z file takes quite a long time because of mingw is there. (How about a non-mingw variant of Upp? I think I will never use mingw anyway.)

Second, U++ can not find my installed MSC9 and MSC10 SDK compilers (32 nor 64 bit variants). Selecting Setup>Instant setup.. does not help.

Third, I tried compiling UWord with both MINGW32 and MINGW64. Both work in DEBUG mode, but when compiled in Optimal mode, both UWord executables crash on start.

Can you help with these? Edit: I mean especially with getting MSC9 and MSC10 back to work. Dropping MINGW would be a nice option extra...

Best regards,

Tom

[Updated on: Mon, 26 October 2015 10:03]

Report message to a moderator

Re: Considering different approach to Win32 release [message #45265 is a reply to message #45264] Mon, 26 October 2015 12:23 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
Tom1 wrote on Mon, 26 October 2015 09:51
Hi Mirek,

I'm having trouble getting started with this new portable version:

First, unpacking the 7z file takes quite a long time because of mingw is there. (How about a non-mingw variant of Upp? I think I will never use mingw anyway.)

Second, U++ can not find my installed MSC9 and MSC10 SDK compilers (32 nor 64 bit variants). Selecting Setup>Instant setup.. does not help.

Third, I tried compiling UWord with both MINGW32 and MINGW64. Both work in DEBUG mode, but when compiled in Optimal mode, both UWord executables crash on start.

Can you help with these? Edit: I mean especially with getting MSC9 and MSC10 back to work. Dropping MINGW would be a nice option extra...

Best regards,

Tom


Thanks for testing and comments.

Instant setup indeed ignores pre MSC15 compilers. The primary reason is simple: VS 2015 is the first real Win32 C++11 compiler. As we would eventually like to move to C++11, I have decided to force this upon poor users a bit Smile

However, current U++ still supports MSC9 etc, including autosetup: It is hidden behind "Verbose" flag. Activate Verbose you will get legacy autosetup in Setup menu.

Thanks for archive size comment. I seemed OK to me, but this is perhaps the sign that more work is needed there... I guess I can significantly reduce the size, there is a lot of unused stuff there.

Mirek
Re: Considering different approach to Win32 release [message #45270 is a reply to message #45265] Mon, 26 October 2015 15:01 Go to previous messageGo to next message
Tom1
Messages: 1212
Registered: March 2007
Senior Contributor
Hi Mirek,

Thanks for the tip! Helped a lot.

Even though the MSC9/MSC10 Build method does not have 'Use BLITZ' selected for release mode, I see that there seems to be a considerable amount of BLITZ used in release mode too. While radically boosting compilation times on MSC10, MSC10x64 and MSC9x64, it also results in an internal compiler error on 32 bit MSC9 somewhere in RichText/TxtOp.cpp. The code seems same as before, but disabling BLITZ for RichText in Package organizer allows successful compilation.

Shouldn't the 'Use BLITZ' selection for the build method be obeyed as the default?

Thanks,

Tom
Re: Considering different approach to Win32 release [message #45271 is a reply to message #45270] Mon, 26 October 2015 15:26 Go to previous messageGo to next message
Tom1
Messages: 1212
Registered: March 2007
Senior Contributor
Hi,

One more thing: It appears the custom build steps (mine are of post-link type) are running twice (and seemingly simultaneously) -- causing failure in this case.

Best regards,

Tom
Re: Considering different approach to Win32 release [message #45272 is a reply to message #45265] Mon, 26 October 2015 15:34 Go to previous messageGo to next message
Tom1
Messages: 1212
Registered: March 2007
Senior Contributor
Hi,

mirek wrote on Mon, 26 October 2015 13:23

Instant setup indeed ignores pre MSC15 compilers. The primary reason is simple: VS 2015 is the first real Win32 C++11 compiler. As we would eventually like to move to C++11, I have decided to force this upon poor users a bit Smile

However, current U++ still supports MSC9 etc, including autosetup: It is hidden behind "Verbose" flag. Activate Verbose you will get legacy autosetup in Setup menu.

Thanks for archive size comment. I seemed OK to me, but this is perhaps the sign that more work is needed there... I guess I can significantly reduce the size, there is a lot of unused stuff there.

Mirek


While on the subject of 'force this upon poor users a bit' could you take a look at Bazaar/Protect from Max? I really need this type of solution and MSC9 is the last compiler to support the current implementation. (Right?) If there is an alternative solution for this task that works on MSC15 compilers, I'd be just happy to upgrade, but meanwhile I will need to stick with the old MSC9.

Best regards,

Tom
Re: Considering different approach to Win32 release [message #45273 is a reply to message #45272] Mon, 26 October 2015 18:58 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
Tom1 wrote on Mon, 26 October 2015 15:34
Hi,

mirek wrote on Mon, 26 October 2015 13:23

Instant setup indeed ignores pre MSC15 compilers. The primary reason is simple: VS 2015 is the first real Win32 C++11 compiler. As we would eventually like to move to C++11, I have decided to force this upon poor users a bit Smile

However, current U++ still supports MSC9 etc, including autosetup: It is hidden behind "Verbose" flag. Activate Verbose you will get legacy autosetup in Setup menu.

Thanks for archive size comment. I seemed OK to me, but this is perhaps the sign that more work is needed there... I guess I can significantly reduce the size, there is a lot of unused stuff there.

Mirek


While on the subject of 'force this upon poor users a bit' could you take a look at Bazaar/Protect from Max? I really need this type of solution and MSC9 is the last compiler to support the current implementation. (Right?) If there is an alternative solution for this task that works on MSC15 compilers, I'd be just happy to upgrade, but meanwhile I will need to stick with the old MSC9.

Best regards,

Tom


What are symptoms? (I have compiled packages fine, after some minor C++11 fixing).

Mirek
Re: Considering different approach to Win32 release [message #45275 is a reply to message #45270] Mon, 26 October 2015 18:59 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
Tom1 wrote on Mon, 26 October 2015 15:01
Hi Mirek,

Thanks for the tip! Helped a lot.

Even though the MSC9/MSC10 Build method does not have 'Use BLITZ' selected for release mode, I see that there seems to be a considerable amount of BLITZ used in release mode too. While radically boosting compilation times on MSC10, MSC10x64 and MSC9x64, it also results in an internal compiler error on 32 bit MSC9 somewhere in RichText/TxtOp.cpp. The code seems same as before, but disabling BLITZ for RichText in Package organizer allows successful compilation.

Shouldn't the 'Use BLITZ' selection for the build method be obeyed as the default?

Thanks,

Tom


This is really strange. Can you post a copy of console log?

Mirek
Re: Considering different approach to Win32 release [message #45277 is a reply to message #45273] Tue, 27 October 2015 09:01 Go to previous messageGo to next message
Tom1
Messages: 1212
Registered: March 2007
Senior Contributor
mirek wrote on Mon, 26 October 2015 19:58
Tom1 wrote on Mon, 26 October 2015 15:34
Hi,

mirek wrote on Mon, 26 October 2015 13:23

Instant setup indeed ignores pre MSC15 compilers. The primary reason is simple: VS 2015 is the first real Win32 C++11 compiler. As we would eventually like to move to C++11, I have decided to force this upon poor users a bit Smile

However, current U++ still supports MSC9 etc, including autosetup: It is hidden behind "Verbose" flag. Activate Verbose you will get legacy autosetup in Setup menu.

Thanks for archive size comment. I seemed OK to me, but this is perhaps the sign that more work is needed there... I guess I can significantly reduce the size, there is a lot of unused stuff there.

Mirek


While on the subject of 'force this upon poor users a bit' could you take a look at Bazaar/Protect from Max? I really need this type of solution and MSC9 is the last compiler to support the current implementation. (Right?) If there is an alternative solution for this task that works on MSC15 compilers, I'd be just happy to upgrade, but meanwhile I will need to stick with the old MSC9.

Best regards,

Tom


What are symptoms? (I have compiled packages fine, after some minor C++11 fixing).

Mirek


Here's the way to go:

1. In examples-bazaar nest build Bazaar/ProtectEncrypt (no flags here, just build mode MSCx Optimal)
2. In examples-bazaar open main package Bazaar/ProtectTest and edit its custom build step for WIN32 to use ProtectEncrypt.exe you just built instead of the default.
3. Then build Bazaar/ProtectTest (flags GUI PROTECT, build mode MSCx Optimal).

When I did this using MSC9, it worked all the way and the resulting ProtectTest.exe worked fine. The same using MSC10 resulted in crashing ProtectTest.exe right on start.

Compiling for x64 sadly fails with:

C:\Users\tom\Desktop\upp-win32-9081\upp\bazaar\ProtectTest\main.cpp(19) : error C4235: nonstandard extension used : '__asm' keyword not supported on this architecture


I just downloaded and installed Visual studio community 2015, but TheIDE does not seem to be able to detect the compiler. I must have missed something here... Should I have the Professional version of VS? Anyway, I can't try if this works any better with Protect.

Best regards,

Tom
Re: Considering different approach to Win32 release [message #45278 is a reply to message #45275] Tue, 27 October 2015 09:20 Go to previous messageGo to next message
Tom1
Messages: 1212
Registered: March 2007
Senior Contributor
mirek wrote on Mon, 26 October 2015 19:59
Tom1 wrote on Mon, 26 October 2015 15:01
Hi Mirek,

Thanks for the tip! Helped a lot.

Even though the MSC9/MSC10 Build method does not have 'Use BLITZ' selected for release mode, I see that there seems to be a considerable amount of BLITZ used in release mode too. While radically boosting compilation times on MSC10, MSC10x64 and MSC9x64, it also results in an internal compiler error on 32 bit MSC9 somewhere in RichText/TxtOp.cpp. The code seems same as before, but disabling BLITZ for RichText in Package organizer allows successful compilation.

Shouldn't the 'Use BLITZ' selection for the build method be obeyed as the default?

Thanks,

Tom


This is really strange. Can you post a copy of console log?

Mirek


No need for log, I found the cause: While in 'Build methods' Use BLITZ is not active by default for MSC9 or MSC10, in 'Output mode' dialog it is active by default for release mode. By switching it of in 'Output mode' cures the symptoms.

Best regards,

Tom
Re: Considering different approach to Win32 release [message #45279 is a reply to message #45156] Tue, 27 October 2015 10:29 Go to previous messageGo to next message
cbpporter is currently offline  cbpporter
Messages: 1401
Registered: September 2007
Ultimate Contributor
So I tried updating to the new scheme.

Installation took forever from the 7z file and eats up 1 GB.

Automatic setup took again a while and did not find any of my MSC versions.

Running any GUI program and closing it still leaves TheIDE thinking that the application is running and I need to force close it.

This new system does not look production ready at the moment.
Re: Considering different approach to Win32 release [message #45280 is a reply to message #45156] Tue, 27 October 2015 10:39 Go to previous messageGo to next message
cbpporter is currently offline  cbpporter
Messages: 1401
Registered: September 2007
Ultimate Contributor
Additionally, things like nullptr and

VectorMap<String, Vector<String>> classpath;

are not recognized out of the box when using MinGW.
Re: Considering different approach to Win32 release [message #45281 is a reply to message #45279] Tue, 27 October 2015 10:45 Go to previous messageGo to previous message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
cbpporter wrote on Tue, 27 October 2015 10:29
So I tried updating to the new scheme.


Thanks!

Quote:

Installation took forever from the 7z file and eats up 1 GB.


Well, mingw toolchains are THAT big in original form. Frankly, I have not expected that this to be a problem... BUT OK, I think I can half it.

Quote:

Automatic setup took again a while and did not find any of my MSC versions.


As explained above, it only picks VS2015, for a reason...

Quote:

Running any GUI program and closing it still leaves TheIDE thinking that the application is running and I need to force close it.


You mean in mingw debugger? That was a bug, should be now fixed.

Quote:

This new system does not look production ready at the moment.


Working on it...

Mirek
Previous Topic: mingw/gdb troubles
Next Topic: Ideas on U++ as library
Goto Forum:
  


Current Time: Thu Mar 28 22:22:06 CET 2024

Total time taken to generate the page: 0.01651 seconds