Old 19th May 2011, 04:09   #1
MSG
Major Dude
 
Join Date: Oct 2006
Posts: 1,892
So, I guess it's unlikely that there will ever be a new version of NSIS, then?
MSG is offline   Reply With Quote
Old 19th May 2011, 16:18   #2
Anders
Moderator
 
Anders's Avatar
 
Join Date: Jun 2002
Location: ${NSISDIR}
Posts: 5,442
Quote:
Originally Posted by MSG View Post
So, I guess it's unlikely that there will ever be a new version of NSIS, then?
We can still do ansi builds...

IntOp $PostCount $PostCount + 1
Anders is offline   Reply With Quote
Old 15th June 2011, 02:54   #3
pabs
Senior Member
 
pabs's Avatar
 
Join Date: Mar 2005
Posts: 186
Quote:
Originally Posted by Anders View Post
We can still do ansi builds...
Except for on Linux (needs tchar.h)... hmm, mingw-w64 has tchar.h, I guess the cross-compile checks are in need of an update for the new toolchains.

bye,
pabs
pabs is offline   Reply With Quote
Old 15th June 2011, 14:20   #4
Anders
Moderator
 
Anders's Avatar
 
Join Date: Jun 2002
Location: ${NSISDIR}
Posts: 5,442
Quote:
Originally Posted by pabs View Post
Except for on Linux (needs tchar.h)... hmm, mingw-w64 has tchar.h, I guess the cross-compile checks are in need of an update for the new toolchains.
I'm going to try to fix all the ansi problems, but I'm not sure if we should move to mingw-w64 or stick with the original. Anyways, we probably need our own tchar.h or hacks in platform.h since not all compilers/CRT agree on how swprintf works.

IntOp $PostCount $PostCount + 1
Anders is offline   Reply With Quote
Old 16th June 2011, 17:58   #5
noeld
Junior Member
 
Join Date: Jun 2011
Posts: 4
Question NSIS Unicode High-DPI Awareness?

Hello all,

Is there any way to enable High-DPI awareness in an NSIS Unicode installer? Currently it seems to rely on display scaling in Windows 7 which does not look really good on high-DPI screens.

High-DPI awareness requires a manifest as describe in the article at:
http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx (Declaring DPI Awareness)

I tried to use mt.exe to apply the DeclareDPIAware.manifest but after that I get a message that the installer integrity check failed.

If this is not currently supported, could this be considered for an upcoming version? Thank you.
noeld is offline   Reply With Quote
Old 16th June 2011, 19:24   #6
Anders
Moderator
 
Anders's Avatar
 
Join Date: Jun 2002
Location: ${NSISDIR}
Posts: 5,442
Quote:
Originally Posted by noeld View Post
Hello all,

Is there any way to enable High-DPI awareness in an NSIS Unicode installer? Currently it seems to rely on display scaling in Windows 7 which does not look really good on high-DPI screens.
You could try system::call 'user32::SetProcessDPIAware()' in .onInit, if that does not work you two other options:

A) Use !packhdr and resource hacker to change the manifest (Or maybe mt.exe, who knows)

B) Recompile from source

IntOp $PostCount $PostCount + 1
Anders is offline   Reply With Quote
Old 16th June 2011, 21:14   #7
noeld
Junior Member
 
Join Date: Jun 2011
Posts: 4
Thanks Anders,

system::call 'user32::SetProcessDPIAware()' in .onInit and un.onInit seems to work just fine. Some text looks a bit small but this should be ok for now.
noeld is offline   Reply With Quote
Old 16th June 2011, 19:29   #8
Anders
Moderator
 
Anders's Avatar
 
Join Date: Jun 2002
Location: ${NSISDIR}
Posts: 5,442
Quote:
Originally Posted by pabs View Post
Except for on Linux (needs tchar.h)... hmm, mingw-w64 has tchar.h, I guess the cross-compile checks are in need of an update for the new toolchains.
I'm now able to compile (ansi) with MinGW, get latest source from SVN and add these changes:

Quote:
--- SConscript-HEAD
+++ /trunk/Contrib/SubStart/SConscript Thu Jun 16 19:42:13 2011
@@ -9,8 +9,7 @@
libs = Split("""
""")

-Import('BuildUtil')
-
-substart = BuildUtil(target, files, libs)
-
-env.DistributeBin(substart, names=['makensis.exe'], alias='install-compiler') # install as makensis
+if env['PLATFORM'] == 'win32': #Using cross_platform = True just to force console app in PE header...
+ Import('BuildUtil')
+ substart = BuildUtil(target, files, libs, cross_platform = True)
+ env.DistributeBin(substart, names=['makensis.exe'], alias='install-compiler') # install as makensis

And you need to rename Call.S to Call.sx if you want to compile system.dll

I did not add the substart change to SVN since it is a bit of a hack, it would be better if we actually fixed the SCons stuff.

Not sure what to do about the Call.S issue, it might be SCons/MinGW version specific.

IntOp $PostCount $PostCount + 1
Anders is offline   Reply With Quote
Reply
Go Back   Winamp & Shoutcast Forums > Developer Center > NSIS Discussion

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump