Old 9th January 2018, 18:56   #1
Junior Member
Join Date: Jan 2018
Posts: 12
x86-ansi vs x86-unicode

I understand that to install a plugin, I need to put the dll in the plugins folder. But within the plugins folder there are two subfolders: x86-ansi and x86-unicode. What's the difference between them? What's the difference between the dll's in them? And how do I know which folder to put a new dll in?
Kyle_1988 is offline   Reply With Quote
Old 10th January 2018, 02:28   #2
Anders's Avatar
Join Date: Jun 2002
Location: ${NSISDIR}
Posts: 5,263
In NSIS 2 all plug-ins are x86-ansi so there was no need for subfolders. When you download a 3rd-party plug-in from the Wiki and it only contains one .DLL then it is most likely a x86-ansi plug-in. Unicode plug-ins are usually in a folder named Unicode in the archive but some of them are named nameW.dll instead (and need to be renamed after you extract it to x86-unicode).

The naming scheme of these folders is %CPU_Target%-%Character_Encoding%.

You cannot tell just by looking at .DLL which type it is. If you put one in the wrong folder the installer will crash or not perform correctly when that plug-in is called. If you download Dependency Walker you can see if the plug-in imports lots of functions with either a A or W suffix. "lstrcpyA" vs "lstrcpyW" etc. (W for "Wide" character which is the UTF-16 LE Unicode encoding on Windows)

IntOp $PostCount $PostCount + 1
Anders is offline   Reply With Quote
Old 11th January 2018, 01:42   #3
Junior Member
Join Date: Jan 2018
Posts: 12
Thanks a bunch!
Kyle_1988 is offline   Reply With Quote
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