<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Why I&#x27;m not making a Windows installer (nor code-signing)]]></title><description><![CDATA[<p dir="auto">I just went down the Windows installer and code signing rabbit hole for my synth plugin and came out the other side with a decision I didn't expect: <strong>no installer at all</strong>.</p>
<p dir="auto"><strong>TLDR</strong>: if your plugin is one file going to one folder, a ZIP with clear instructions gives your users a smoother, less alarming experience than an unsigned installer, and costs you nothing.</p>
<p dir="auto">Sharing the findings here in case it saves someone else a day of research.</p>
<p dir="auto">My plugin is a single VST3 on Windows. Bundled presets/images/fonts/audio assets (for simple Audio Loop Players). That means one file, one destination folder. So the installer would exist mostly for polish, not necessity.</p>
<p dir="auto">Here's why I dropped it.</p>
<p dir="auto"><strong>The problem: an installer is an .exe, and an unsigned .exe looks scary</strong></p>
<p dir="auto">If you ship an unsigned installer, SmartScreen will greet your users with the "Windows protected your PC" screen, and they have to click "More info" then "Run anyway" to proceed. I'm sure most Windows users, especially music producers, are used to this, but for a paid product from a developer they've never heard of, that's bad optics. I'd argue worse than no installer at all.</p>
<p dir="auto"><strong>Option 1: Azure Trusted Signing. Blocked for me.</strong></p>
<p dir="auto">This is the modern route everyone recommends, and it's cheap. But it's only available to individuals in the US and Canada. In the UK you need a registered (Limited) company. I'm still a sole trader with no Ltd, and I'm not registering a company and wading through Azure bureaucracy just to unblock a release. Registering is on the roadmap but not worth bumping it up for this.</p>
<p dir="auto"><strong>Option 2: An individual code signing cert. Possible, but underwhelming.</strong></p>
<p dir="auto">There is a middle path: Individual Validation (IV) certs. <a href="http://SSL.com" rel="nofollow ugc">SSL.com</a> and Certum both sell these to individuals with no company required, verified via passport and a face scan, turnaround in days not weeks. Certum even has a "Cloud CODE Signing for Individual Developer" product that a company literally cannot buy.</p>
<p dir="auto">But here's the catch that killed it for me: signing removes the "Unknown publisher" label, but SmartScreen reputation still builds up gradually per certificate. A fresh cert with no reputation can still trigger warnings. So you pay, you do the ID verification dance, and your users may still see scary screens for a while. And from March 2026 the CA/B Forum caps code signing cert validity at 458 days, so this becomes a recurring chore, not a one-off.</p>
<p dir="auto"><strong>The realisation: no .exe, no problem</strong></p>
<p dir="auto">SmartScreen cares about executables. A ZIP containing a .vst3 and a text file doesn't trigger any of this.</p>
<p dir="auto">So the Windows release is:</p>
<ul>
<li>MyPlugin.vst3</li>
<li>INSTALL.txt ("Copy MyPlugin.vst3 to C:\Program Files\Common Files\VST3 and approve the admin prompt")</li>
<li>LICENSE.txt</li>
</ul>
<p dir="auto"><strong>That's the whole install</strong>. VST3 has one canonical system folder, so there's no per-DAW path confusion like the old VST2 days. I shipped earlier plugins as VST2/VST3 and had some support tickets, but those were usually because of the VST2 confusion. Oh, and I'm clearly not doing AAX either - another axis of complexity avoided.</p>
<p dir="auto"><strong>The installer isn't dead, just deferred</strong></p>
<p dir="auto">When I register as a company, I'll 100% ship an Azure cloud-signed installer. Shipping an unsigned one in the meantime would be a downgrade from the ZIP.</p>
<p dir="auto"><strong>One extra risk</strong>: the ever-annoying <strong>Anti-Virus</strong> checks on Windows, and two practical mitigations. [1] Submit the ZIP and the .vst3 to Microsoft's file-submission portal once the release build is final (it whitelists the hash and hugely reduces the block-at-first-sight risk), and [2] run the final binary through VirusTotal before release so I know which of the ~70 engines flag it, if any. Both are free and take minutes.</p>
<p dir="auto">Very open to having my mind changed here, but given the fact that I've been distributing my previous (non-HISE) plugins for 3 years on Windows via the ZIP &gt; extract &gt; copy to folder method, I think this is a no-brainer approach for my first couple of self-contained HISE plugins.</p>
]]></description><link>https://forum.hise.audio/topic/14949/why-i-m-not-making-a-windows-installer-nor-code-signing</link><generator>RSS for Node</generator><lastBuildDate>Fri, 24 Jul 2026 17:47:52 GMT</lastBuildDate><atom:link href="https://forum.hise.audio/topic/14949.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 24 Jul 2026 12:01:43 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Why I&#x27;m not making a Windows installer (nor code-signing) on Fri, 24 Jul 2026 13:55:11 GMT]]></title><description><![CDATA[<p dir="auto">Jeez, this sounds like a PITA. I'm making a guitar plugin atm, but I have a standalone build too...</p>
]]></description><link>https://forum.hise.audio/post/122135</link><guid isPermaLink="true">https://forum.hise.audio/post/122135</guid><dc:creator><![CDATA[digi]]></dc:creator><pubDate>Fri, 24 Jul 2026 13:55:11 GMT</pubDate></item><item><title><![CDATA[Reply to Why I&#x27;m not making a Windows installer (nor code-signing) on Fri, 24 Jul 2026 13:48:58 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://forum.hise.audio/uid/357">@dannytaurus</a> said in <a href="/post/122131">Why I'm not making a Windows installer (nor code-signing)</a>:</p>
<blockquote>
<p dir="auto">SmartScreen reputation still builds up gradually per certificate.</p>
</blockquote>
<p dir="auto">This is now the case for <a href="https://learn.microsoft.com/en-us/windows/apps/package-and-deploy/code-signing-options" rel="nofollow ugc">all signing options</a> include EV. The only exception is Microsoft store publishing. Really annoying, but I think my EV certificate still gives me instant rep because I bought it pre-2024</p>
]]></description><link>https://forum.hise.audio/post/122134</link><guid isPermaLink="true">https://forum.hise.audio/post/122134</guid><dc:creator><![CDATA[David Healey]]></dc:creator><pubDate>Fri, 24 Jul 2026 13:48:58 GMT</pubDate></item><item><title><![CDATA[Reply to Why I&#x27;m not making a Windows installer (nor code-signing) on Fri, 24 Jul 2026 12:10:53 GMT]]></title><description><![CDATA[<p dir="auto">For context, on the Mac side (my daily development platform):</p>
<p dir="auto">Gatekeeper flat out refuses an unsigned, un-notarized plugin, so there's no ZIP escape hatch like on Windows. And yet it was the easy half. Not painless in the Apple way of things, but genuinely quick, and available to me as an individual with no company.</p>
<p dir="auto"><strong>Apple Developer account</strong>. $99 a year, open to individuals anywhere. No company registration, no face scan theatre, just an Apple ID and standard identity verification. This is the thing Microsoft's equivalent (Azure Trusted Signing) doesn't offer UK individuals, and it's the whole reason the Mac release was unblocked while the Windows one needed a workaround.</p>
<p dir="auto"><strong>Certificates</strong>. The account gets you two Developer ID certs: Application (signs the plugin bundles) and Installer (signs the pkg). Generated once through the developer portal, installed into the keychain, done.</p>
<p dir="auto"><strong>Signing and notarization</strong>. This part is scripted and runs as part of my build: codesign each bundle with the hardened runtime enabled, submit to Apple's notarization service with notarytool, staple the ticket. Notarization sounds scary but it's an automated malware scan on Apple's servers that takes a few minutes and gives you an answer, not a reputation system you wait months to accrue. Once it passes, users see zero warnings, forever, on every machine. That's the deal Windows code signing doesn't offer even when you pay: on Windows a fresh cert still has to earn SmartScreen reputation over time. Meh.</p>
<p dir="auto"><strong>The installer</strong>. I used Package Builder ($30 Mac app) rather than the free Packages app or hand-writing pkgbuild scripts. Drop in the AU and VST3, select "Code Sign and Notarize" with the Developer ID Installer cert and your Apple ID. It signs the pkg and submits it for notarization itself, so the installer comes out fully cleared, not just the plugins inside it. Awesome.</p>
<p dir="auto">So the finished state is lopsided but works for me. Mac: signed, notarized, one pkg, double-click, no warnings. Windows: ZIP and a one-line readme. The platform that mandates signing made it a solved problem for an individual developer in an afternoon for $99 a year. The platform where signing is optional made it annoying enough to avoid shipping an executable at all.</p>
]]></description><link>https://forum.hise.audio/post/122132</link><guid isPermaLink="true">https://forum.hise.audio/post/122132</guid><dc:creator><![CDATA[dannytaurus]]></dc:creator><pubDate>Fri, 24 Jul 2026 12:10:53 GMT</pubDate></item></channel></rss>