|
|
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  |
 |
mirek
Messages: 14255 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   |
|
Hi Mirek,
mirek wrote on Sun, 20 September 2015 19:10What 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? That one actually ran on Linux too, but windows only would be much simpler.
mirek wrote on Sun, 20 September 2015 19:10Is 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 
Best regards,
Honza
|
|
|
|
|
Re: Considering different approach to Win32 release [message #45160 is a reply to message #45159] |
Mon, 21 September 2015 07:27   |
|
mirek wrote on Sun, 20 September 2015 23:36Ah, maybe I should clarify the question...
Is it OK not to have "installer" version? 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
So, yes, I think we can live without the installer.
Honza
|
|
|
Re: Considering different approach to Win32 release [message #45163 is a reply to message #45156] |
Mon, 21 September 2015 15:58   |
timsky
Messages: 3 Registered: September 2015 Location: Uzbekistan
|
Junior Member |
|
|
mirek wrote on Sun, 20 September 2015 17:10Well, 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
|
|
|
|
|
Re: Considering different approach to Win32 release [message #45264 is a reply to message #45257] |
Mon, 26 October 2015 09:51   |
Tom1
Messages: 1301 Registered: March 2007
|
Ultimate 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   |
 |
mirek
Messages: 14255 Registered: November 2005
|
Ultimate Member |
|
|
Tom1 wrote on Mon, 26 October 2015 09:51Hi 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 
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   |
Tom1
Messages: 1301 Registered: March 2007
|
Ultimate 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 #45272 is a reply to message #45265] |
Mon, 26 October 2015 15:34   |
Tom1
Messages: 1301 Registered: March 2007
|
Ultimate 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 
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   |
 |
mirek
Messages: 14255 Registered: November 2005
|
Ultimate Member |
|
|
Tom1 wrote on Mon, 26 October 2015 15:34Hi,
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 
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 #45277 is a reply to message #45273] |
Tue, 27 October 2015 09:01   |
Tom1
Messages: 1301 Registered: March 2007
|
Ultimate Contributor |
|
|
mirek wrote on Mon, 26 October 2015 19:58Tom1 wrote on Mon, 26 October 2015 15:34Hi,
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 
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   |
Tom1
Messages: 1301 Registered: March 2007
|
Ultimate Contributor |
|
|
mirek wrote on Mon, 26 October 2015 19:59Tom1 wrote on Mon, 26 October 2015 15:01Hi 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
|
|
|
|
|
|
Goto Forum:
Current Time: Sat Apr 26 22:11:26 CEST 2025
Total time taken to generate the page: 0.01338 seconds
|
|
|