I am using non Unicode NSIS and I do not have the problem (Windows 7 Professional x64). Please can you write a minimal script that reproduces the problem.
Stu
Aero plug-in
109 posts
have you set custom colors for any element in your script? i had similiar problems when using a custom header background color, though i think the problem disappeared in a later version
Unicode did not help. It happens even with the included example if I add a finish page link:
!include MUI2.nshI am not using any custom themes on my system.
OutFile TestModernUI.exe
RequestExecutionLevel user
!define MUI_CUSTOMFUNCTION_GUIINIT onGUIInit
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_LICENSE ModernUI.nsi
!insertmacro MUI_PAGE_INSTFILES
!define MUI_FINISHPAGE_LINK "Click here to find more New Sierra Game Installers"
!define MUI_FINISHPAGE_LINK_LOCATION "http://www.sierrahelp.com/Patches-Updates/NewSierraInstallers.html"
!insertmacro MUI_PAGE_FINISH
!insertmacro MUI_LANGUAGE English
Function onGUIInit
Aero::Apply
FunctionEnd
Section
SectionEnd
Looks fine for me 🙁.
Stu
Stu
I'm not sure what's happened to my post. How many more of my posts have to be approved before I can just post?
Collector9999: Which exact version of windows is this? Win7 SP0 x86? Could you create an extra label and set the color on it (and maybe transparent background) and see what happens?
Afrow: Is it possible that you are doing a black FillRect or not restoring a HDC or something like that? The problem could be in the link control also of course, a dev needs to reproduce the issue before we can board the blame train 🙂
Afrow: Is it possible that you are doing a black FillRect or not restoring a HDC or something like that? The problem could be in the link control also of course, a dev needs to reproduce the issue before we can board the blame train 🙂
My PC is Win7 x64 Pro SP1. I am not sure what you mean with the extra label.
OK, I figured out what you meant, but I am not sure how to set a transparent background. It also has the black at the side of the new link.
When the Aero plugins is enabled it will not let me change the color of the link. It is always black. I can change the color of an extra link, even though it also has the same black block.
I had a number of people test a build of the above script compiled with a clean installation of NSIS with only the Aero plugin added and they got the same result. So the issue is not with how my system displays it nor in any customizations of NSIS.
Sorry for the multiple posts, but I have solved the problem. I got the plugin from the Wiki but I had an earlier build. Updating it to the latest fixed it.
I have not tested it with UMUI nor do I use it so no.
Stu
Stu
Have You seen screenshot? IS it somehow fixable or not?
If not, is that easy to move from UMUI to MUI2?
If not, is that easy to move from UMUI to MUI2?
Yes I saw the screenshot. The plug-in only supports the official MUI, MUI2 and classic UIs, which do not use any skinning. It would not be possible to get UMUI to work with aero because of the skinning. It should be fairly easy to convert the script to MUI2; just look at the MUI2 example scripts.
Stu
Stu
Ok thanks!Originally Posted by Afrow UK View PostYes I saw the screenshot. The plug-in only supports the official MUI, MUI2 and classic UIs, which do not use any skinning. It would not be possible to get UMUI to work with aero because of the skinning. It should be fairly easy to convert the script to MUI2; just look at the MUI2 example scripts.
Stu
New version:
Stu
1.0.0.7 - 26th April 2012Explanations of the old and new button drawing methods and their pros and cons are in the readme.
* Implemented a new button drawing method to fix white text flicker (/btnold switch reverts to the old method).
* Now disables Aero if the theme data cannot be loaded on theme change.
Stu
Afrow,
With this new plugin, the option /nobranding makes the UI draw no button at all. Alternatively using /nobranding /btnold uses older library to draw I guess.
With this new plugin, the option /nobranding makes the UI draw no button at all. Alternatively using /nobranding /btnold uses older library to draw I guess.
Edit: Installer crashesOriginally Posted by GaNi View PostAfrow,
With this new plugin, the option /nobranding makes the UI draw no button at all. Alternatively using /nobranding /btnold uses older library to draw I guess.
Bad news for people that like the Aero plug-in:
It seems that Microsoft currently tires to cripple the "classical" Desktop as much as possible in order to make "Metro" appear less annoying/limited. The result will be an OS that has a "Touchscreen" interface, which is completely unusable and infeasible for anything but Tablet computers, combined with a totally crippled Desktop, which isn't more than a emergency fall-back feature. I would be fine to consider Windows 8 a pure Tablet-OS, but my biggest fear is that the epic fail of Windows 8 that we'll see on the Desktop market (we'll see how well it goes on the "Mobile" market) will give a great boost to Mac OS X. Might also be chance for Linux to gain some popularity though...
🙄
It seems that Microsoft currently tires to cripple the "classical" Desktop as much as possible in order to make "Metro" appear less annoying/limited. The result will be an OS that has a "Touchscreen" interface, which is completely unusable and infeasible for anything but Tablet computers, combined with a totally crippled Desktop, which isn't more than a emergency fall-back feature. I would be fine to consider Windows 8 a pure Tablet-OS, but my biggest fear is that the epic fail of Windows 8 that we'll see on the Desktop market (we'll see how well it goes on the "Mobile" market) will give a great boost to Mac OS X. Might also be chance for Linux to gain some popularity though...
🙄
/ot this will drop win8 finally to death on desktops. win7 is supportet till 2020 - 8 years to go now.
Fixed.Originally Posted by GaNi View PostAfrow,
With this new plugin, the option /nobranding makes the UI draw no button at all. Alternatively using /nobranding /btnold uses older library to draw I guess.
1.0.0.8 - 27th May 2012Stu
* Fixed buttons not being drawn and crash when using /nobranding.
This release would be a total fail as Vista. I guess, very few people would upgrade to windows 8.Originally Posted by LoRd_MuldeR View PostBad news for people that like the Aero plug-in:
It seems that Microsoft currently tires to cripple the "classical" Desktop as much as possible in order to make "Metro" appear less annoying/limited. The result will be an OS that has a "Touchscreen" interface, which is completely unusable and infeasible for anything but Tablet computers, combined with a totally crippled Desktop, which isn't more than a emergency fall-back feature. I would be fine to consider Windows 8 a pure Tablet-OS, but my biggest fear is that the epic fail of Windows 8 that we'll see on the Desktop market (we'll see how well it goes on the "Mobile" market) will give a great boost to Mac OS X. Might also be chance for Linux to gain some popularity though...
🙄
@Affrow,
Thanks!
Afrow UK,
today I rebuilt one of my installers in order to update some of the files included. The installer is using the "inetc" plug-in and I noticed that the text in the "Cancel" button (while downloading) had disappeared! Since the installer script had not been modified, I was quite surprised. My next thought was about the plug-in versions. So I extracted the plug-in DLL's from the "old" working binary of the installer. I discovered that I was still building with the very same "inetc.dll" (latest version available) but had updated the "aero.dll" in the meantime! And indeed, switching back to the older "aero.dll" resolved the issue. So I believe this might be a bug in your "aero" plug-in 😕
Aero.DLL version 2012-03-10:

Aero.DLL version 2012-05-27:

Really only change is the Aero.DLL. I'm using Unicode NSIS (v2.46.5) , in case that matters.
Any thoughts?
Thanks and keep up the good work,
MuldeR
today I rebuilt one of my installers in order to update some of the files included. The installer is using the "inetc" plug-in and I noticed that the text in the "Cancel" button (while downloading) had disappeared! Since the installer script had not been modified, I was quite surprised. My next thought was about the plug-in versions. So I extracted the plug-in DLL's from the "old" working binary of the installer. I discovered that I was still building with the very same "inetc.dll" (latest version available) but had updated the "aero.dll" in the meantime! And indeed, switching back to the older "aero.dll" resolved the issue. So I believe this might be a bug in your "aero" plug-in 😕
Aero.DLL version 2012-03-10:

Aero.DLL version 2012-05-27:

Really only change is the Aero.DLL. I'm using Unicode NSIS (v2.46.5) , in case that matters.
Any thoughts?
Thanks and keep up the good work,
MuldeR
This occurs because the Aero plug-in draws the Cancel button text itself. The inetc plug-in reads the Cancel button text to use it for its own Cancel button but gets an empty string. Just add /canceltext $(^CancelBtn) to the inetc plug-in call.
Stu
Stu
Thank you for the reply.
So I now have to set all texts for "inetc" manually. Fair enough. Still I wonder why the (slightly) older version didn't need such workaround.
Something must have changed between those two versions that "broke" it...
Regards,
MuldeR
So I now have to set all texts for "inetc" manually. Fair enough. Still I wonder why the (slightly) older version didn't need such workaround.
Something must have changed between those two versions that "broke" it...
Regards,
MuldeR
You don't have to set all the texts, just the Cancel text. And giving it $(^CancelBtn) is what it would be set to anyway, so I don't see that as an issue? Yes, the way the rendering was done has changed (the old method didn't work well on Windows 8).
Stu
Stu
Yeah, not a big deal - once you have figured out what to do. Still it would be preferable if no such workaround was needed. Couldn't other random things "break" in other plug-in's?Originally Posted by Afrow UK View PostYou don't have to set all the texts, just the Cancel text. And giving it $(^CancelBtn) is what it would be set to anyway, so I don't see that as an issue?
If Windows 8 is the (only) reason for the changed behavior, wouldn't it be easier to simply add a version check and completely disable/skip the Aero plug-in on Windows 8? I mean, in Windows 8 they have replaced the "Aero" UI with something that looks like the emulation of a computer from the 1980's. So I don't think the Aero plug-in has much of an effect on that system anyway. Or am I wrong?Originally Posted by Afrow UK View PostYes, the way the rendering was done has changed (the old method didn't work well on Windows 8).
This issue is specific to inetc because Takhir decided to use the existing button text rather than hard code a string. There could be other plug-ins but none that I can think of (except perhaps NSISdl).
Windows 8 doesn't have transparency but still has Aero glass (DWM Composition) so yes the plug-in does make the installer look very different. Also it was not just a fix for Windows 8 - it is a general improvement which reduces text flicker on Windows Vista/7 as well.
You can still use the old text rendering if you want to (see the readme).
Stu
Windows 8 doesn't have transparency but still has Aero glass (DWM Composition) so yes the plug-in does make the installer look very different. Also it was not just a fix for Windows 8 - it is a general improvement which reduces text flicker on Windows Vista/7 as well.
You can still use the old text rendering if you want to (see the readme).
Stu
I had missed that option. Thank you for pointing me at that 🙂Originally Posted by Afrow UK View PostYou can still use the old text rendering if you want to (see the readme).