# AAX Plugin suffix wrong (on Windows) in PJ

**URL:** <https://forum.juce.com/t/aax-plugin-suffix-wrong-on-windows-in-pj/37070>\
**Category:** Audio Plugins\
**Created:** [January 11, 2020, 9:05am UTC](https://forum.juce.com/t/aax-plugin-suffix-wrong-on-windows-in-pj/37070 "2020-01-11T09:05:40Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![railjonrogut](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/railjonrogut/32/505_2.png) [@railjonrogut](https://forum.juce.com/u/railjonrogut)\
**Post date:** [January 11, 2020, 9:05am UTC](https://forum.juce.com/t/aax-plugin-suffix-wrong-on-windows-in-pj/37070/1 "2020-01-11T09:05:40Z")

</div>

> <https://github.com/WeAreROLI/JUCE/blob/develop/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_MSVC.h#L989>

Rail

---

<div class="post-metadata">

**Author:** ![mcmartin](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/mcmartin/32/7432_2.png) [@mcmartin](https://forum.juce.com/u/mcmartin)\
**Post date:** [January 11, 2020, 9:13am UTC](https://forum.juce.com/t/aax-plugin-suffix-wrong-on-windows-in-pj/37070/2 "2020-01-11T09:13:51Z")

</div>

I didn’t know it was wrong. What is the correct extension?

---

<div class="post-metadata">

**Author:** ![railjonrogut](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/railjonrogut/32/505_2.png) [@railjonrogut](https://forum.juce.com/u/railjonrogut)\
**Post date:** [January 11, 2020, 9:18am UTC](https://forum.juce.com/t/aax-plugin-suffix-wrong-on-windows-in-pj/37070/3 "2020-01-11T09:18:59Z")

</div>

[![](https://us1.discourse-cdn.com/flex026/uploads/juce/original/2X/0/020dc30b1fbe739d287ff88f86c54462086c4cbe.png) ](https://dl.dropboxusercontent.com/s/vtnz09k5beoy6m3/AAX_Suffix.png?dl=0)

Rail

---

<div class="post-metadata">

**Author:** ![mcmartin](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/mcmartin/32/7432_2.png) [@mcmartin](https://forum.juce.com/u/mcmartin)\
**Post date:** [January 11, 2020, 9:21am UTC](https://forum.juce.com/t/aax-plugin-suffix-wrong-on-windows-in-pj/37070/4 "2020-01-11T09:21:06Z")

</div>

That’s on macOS, not on Windows. Projucer uses `.aaxplugin` on macOS:

> <https://github.com/WeAreROLI/JUCE/blob/eedb9e9833c2684323dc79832337112e9c6f0c4a/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Xcode.h#L934>

---

<div class="post-metadata">

**Author:** ![railjonrogut](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/railjonrogut/32/505_2.png) [@railjonrogut](https://forum.juce.com/u/railjonrogut)\
**Post date:** [January 11, 2020, 9:24am UTC](https://forum.juce.com/t/aax-plugin-suffix-wrong-on-windows-in-pj/37070/5 "2020-01-11T09:24:10Z")

</div>

[![](https://us1.discourse-cdn.com/flex026/uploads/juce/original/2X/3/35d16bc902a57654eff73f435f50b6909b53b30a.png) ](https://dl.dropboxusercontent.com/s/wzzbj8828o3thc5/AAX_Suffix_Win.png?dl=0)

Rail

---

<div class="post-metadata">

**Author:** ![mcmartin](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/mcmartin/32/7432_2.png) [@mcmartin](https://forum.juce.com/u/mcmartin)\
**Post date:** [January 11, 2020, 9:31am UTC](https://forum.juce.com/t/aax-plugin-suffix-wrong-on-windows-in-pj/37070/6 "2020-01-11T09:31:00Z")

</div>

Now I remember what is happening! The `MyPlugin.aaxdll` file is copied as `MyPlugin.aaxplugin/Contents/x64/MyPlugin.aaxplugin` in a post-build step:

> <https://github.com/WeAreROLI/JUCE/blob/5.4.5/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_MSVC.h#L1076>

  
This means that the `.aaxdll` extension isn’t relevant, it could be `.dll`.

---

<div class="post-metadata">

**Author:** ![railjonrogut](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/railjonrogut/32/505_2.png) [@railjonrogut](https://forum.juce.com/u/railjonrogut)\
**Post date:** [January 11, 2020, 9:39am UTC](https://forum.juce.com/t/aax-plugin-suffix-wrong-on-windows-in-pj/37070/7 "2020-01-11T09:39:17Z")

</div>

It’s relevant when you use other tools which have scripts which expect the correct extension.

I can create a post build batch file to rename the protected version back to aaxplugin. but I still believe this is a bug ☹

Rail

---

<div class="post-metadata">

**Author:** ![mcmartin](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/mcmartin/32/7432_2.png) [@mcmartin](https://forum.juce.com/u/mcmartin)\
**Post date:** [January 11, 2020, 10:03am UTC](https://forum.juce.com/t/aax-plugin-suffix-wrong-on-windows-in-pj/37070/8 "2020-01-11T10:03:17Z")

</div>

If the binary is named `MyPlugin.aaxplugin`, then it is not possible to make a folder named `MyPlugin.aaxplugin` next to it, due to the name conflict.

---

<div class="post-metadata">

**Author:** ![railjonrogut](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/railjonrogut/32/505_2.png) [@railjonrogut](https://forum.juce.com/u/railjonrogut)\
**Post date:** [January 11, 2020, 10:07am UTC](https://forum.juce.com/t/aax-plugin-suffix-wrong-on-windows-in-pj/37070/9 "2020-01-11T10:07:55Z")

</div>

I get the chicken and eggs scenario… but I think the target name should be consistent… so the folder should probably be somewhere else to avoid the issue… Bottom line for me it’s not a huge deal to run a post build script to copy the final versions and rename them to .aaxplugin – this just _seems_ wrong when looking at the settings.

Rail

---

<div class="post-metadata">

**Author:** ![yfede](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/yfede/32/506_2.png) [@yfede](https://forum.juce.com/u/yfede)\
**Post date:** [January 13, 2020, 10:59am UTC](https://forum.juce.com/t/aax-plugin-suffix-wrong-on-windows-in-pj/37070/10 "2020-01-13T10:59:14Z")

</div>

I think the original mistake was made by AVID when they chose to use (on Windows) the “.aaxplugin” extension both for the folder AND for the binary that it contains.

On macOS, the bundle (equivalent to the Windows folder) has the “.aaxplugin” extension but the binary inside it has no extension (like all other binaries inside bundles).

With respect to this, leaving the native “.dll” extension for the binary on Windows inside the “.aaxplugin” folder would have made much more sense, and I think ProJucer uses “aaxdll” both for avoiding name clashes and as a reminder that the resulting file by itself is not a valid AAX plug-in, but just the binary that goes into it.
